cdk-insights 0.15.13 → 0.17.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.
- package/README.md +3 -3
- package/dist/analysis/static/awsServices/Lambda/runtime/lambdaRuntimeChecks.d.ts +2 -0
- package/dist/analysis/static/awsServices/Lambda/runtime/lambdaRuntimeChecks.test.d.ts +1 -0
- package/dist/analysis/templateLevel/__test__/integration.test.d.ts +1 -0
- package/dist/analysis/templateLevel/checks/crossResourceAntiPatterns/duplicateIamStatementsCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/crossResourceAntiPatterns/dynamodbMissingPitrCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/crossResourceAntiPatterns/eventBridgeTargetsNoDlqCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/crossResourceAntiPatterns/lambdaMissingLogGroupCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/crossResourceAntiPatterns/sharedDlqEventBridgeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/policyAnalysis/broadPrincipalPoliciesCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/policyAnalysis/iamOverlappingPoliciesCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/policyAnalysis/sqsSnsPolicyRedundancyCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/cfnResourceCountCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/cfnTemplateSizeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/eventBridgeRulesPerBusCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/iamInlinePolicySizeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/iamManagedPolicySizeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/iamRoleAggregatePolicySizeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/lambdaEnvSizeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/lambdaLayersLimitCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/s3BucketPolicySizeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/securityGroupRulesLimitCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/snsTopicPolicySizeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/checks/serviceLimits/sqsPolicySizeCheck.d.ts +2 -0
- package/dist/analysis/templateLevel/helpers/policyHelpers.d.ts +42 -0
- package/dist/analysis/templateLevel/helpers/resourceCollectors.d.ts +31 -0
- package/dist/analysis/templateLevel/index.d.ts +13 -0
- package/dist/analysis/templateLevel/registry.d.ts +17 -0
- package/dist/analysis/templateLevel/types.d.ts +69 -0
- package/dist/config/featureGating.d.ts +1 -1
- package/dist/entry.js +196 -196
- package/dist/functions/factories/awsServices.d.ts +1 -0
- package/dist/helpers/cache/cacheManager.d.ts +1 -1
- package/dist/index.js +134 -134
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
"use strict";var Eb=Object.create;var Lr=Object.defineProperty;var wb=Object.getOwnPropertyDescriptor;var Rb=Object.getOwnPropertyNames;var Tb=Object.getPrototypeOf,Ib=Object.prototype.hasOwnProperty;var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ru=(e,t)=>{for(var s in t)Lr(e,s,{get:t[s],enumerable:!0})},Tu=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Rb(t))!Ib.call(e,r)&&r!==s&&Lr(e,r,{get:()=>t[r],enumerable:!(n=wb(t,r))||n.enumerable});return e};var H=(e,t,s)=>(s=e!=null?Eb(Tb(e)):{},Tu(t||!e||!e.__esModule?Lr(s,"default",{value:e,enumerable:!0}):s,e)),kb=e=>Tu(Lr({},"__esModule",{value:!0}),e);var Uu=w((hI,$u)=>{var ju=require("stream").Stream,yv=require("util");$u.exports=yt;function yt(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}yv.inherits(yt,ju);yt.create=function(e,t){var s=new this;t=t||{};for(var n in t)s[n]=t[n];s.source=e;var r=e.emit;return e.emit=function(){return s._handleEmit(arguments),r.apply(e,arguments)},e.on("error",function(){}),s.pauseStream&&e.pause(),s};Object.defineProperty(yt.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});yt.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};yt.prototype.resume=function(){this._released||this.release(),this.source.resume()};yt.prototype.pause=function(){this.source.pause()};yt.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(e){this.emit.apply(this,e)}.bind(this)),this._bufferedEvents=[]};yt.prototype.pipe=function(){var e=ju.prototype.pipe.apply(this,arguments);return this.resume(),e};yt.prototype._handleEmit=function(e){if(this._released){this.emit.apply(this,e);return}e[0]==="data"&&(this.dataSize+=e[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(e)};yt.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(e))}}});var Hu=w((yI,zu)=>{var Dv=require("util"),qu=require("stream").Stream,Gu=Uu();zu.exports=ve;function ve(){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}Dv.inherits(ve,qu);ve.create=function(e){var t=new this;e=e||{};for(var s in e)t[s]=e[s];return t};ve.isStreamLike=function(e){return typeof e!="function"&&typeof e!="string"&&typeof e!="boolean"&&typeof e!="number"&&!Buffer.isBuffer(e)};ve.prototype.append=function(e){var t=ve.isStreamLike(e);if(t){if(!(e instanceof Gu)){var s=Gu.create(e,{maxDataSize:1/0,pauseStream:this.pauseStreams});e.on("data",this._checkDataSize.bind(this)),e=s}this._handleErrors(e),this.pauseStreams&&e.pause()}return this._streams.push(e),this};ve.prototype.pipe=function(e,t){return qu.prototype.pipe.call(this,e,t),this.resume(),e};ve.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}};ve.prototype._realGetNext=function(){var e=this._streams.shift();if(typeof e>"u"){this.end();return}if(typeof e!="function"){this._pipeNext(e);return}var t=e;t(function(s){var n=ve.isStreamLike(s);n&&(s.on("data",this._checkDataSize.bind(this)),this._handleErrors(s)),this._pipeNext(s)}.bind(this))};ve.prototype._pipeNext=function(e){this._currentStream=e;var t=ve.isStreamLike(e);if(t){e.on("end",this._getNext.bind(this)),e.pipe(this,{end:!1});return}var s=e;this.write(s),this._getNext()};ve.prototype._handleErrors=function(e){var t=this;e.on("error",function(s){t._emitError(s)})};ve.prototype.write=function(e){this.emit("data",e)};ve.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};ve.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")};ve.prototype.end=function(){this._reset(),this.emit("end")};ve.prototype.destroy=function(){this._reset(),this.emit("close")};ve.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};ve.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(e))}};ve.prototype._updateDataSize=function(){this.dataSize=0;var e=this;this._streams.forEach(function(t){t.dataSize&&(e.dataSize+=t.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};ve.prototype._emitError=function(e){this._reset(),this.emit("error",e)}});var Vu=w((DI,bv)=>{bv.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 Zu=w((bI,Ku)=>{Ku.exports=Vu()});var Qu=w(ze=>{"use strict";var Wr=Zu(),vv=require("path").extname,Ju=/^\s*([^;\s]*)(?:;|\s|$)/,Cv=/^text\//i;ze.charset=Yu;ze.charsets={lookup:Yu};ze.contentType=Sv;ze.extension=xv;ze.extensions=Object.create(null);ze.lookup=Fv;ze.types=Object.create(null);Av(ze.extensions,ze.types);function Yu(e){if(!e||typeof e!="string")return!1;var t=Ju.exec(e),s=t&&Wr[t[1].toLowerCase()];return s&&s.charset?s.charset:t&&Cv.test(t[1])?"UTF-8":!1}function Sv(e){if(!e||typeof e!="string")return!1;var t=e.indexOf("/")===-1?ze.lookup(e):e;if(!t)return!1;if(t.indexOf("charset")===-1){var s=ze.charset(t);s&&(t+="; charset="+s.toLowerCase())}return t}function xv(e){if(!e||typeof e!="string")return!1;var t=Ju.exec(e),s=t&&ze.extensions[t[1].toLowerCase()];return!s||!s.length?!1:s[0]}function Fv(e){if(!e||typeof e!="string")return!1;var t=vv("x."+e).toLowerCase().substr(1);return t&&ze.types[t]||!1}function Av(e,t){var s=["nginx","apache",void 0,"iana"];Object.keys(Wr).forEach(function(r){var i=Wr[r],o=i.extensions;if(!(!o||!o.length)){e[r]=o;for(var a=0;a<o.length;a++){var c=o[a];if(t[c]){var u=s.indexOf(Wr[t[c]].source),l=s.indexOf(i.source);if(t[c]!=="application/octet-stream"&&(u>l||u===l&&t[c].substr(0,12)==="application/"))continue}t[c]=r}}})}});var el=w((CI,Xu)=>{Xu.exports=Ev;function Ev(e){var t=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;t?t(e):setTimeout(e,0)}});var bo=w((SI,sl)=>{var tl=el();sl.exports=wv;function wv(e){var t=!1;return tl(function(){t=!0}),function(n,r){t?e(n,r):tl(function(){e(n,r)})}}});var vo=w((xI,nl)=>{nl.exports=Rv;function Rv(e){Object.keys(e.jobs).forEach(Tv.bind(e)),e.jobs={}}function Tv(e){typeof this.jobs[e]=="function"&&this.jobs[e]()}});var Co=w((FI,il)=>{var rl=bo(),Iv=vo();il.exports=kv;function kv(e,t,s,n){var r=s.keyedList?s.keyedList[s.index]:s.index;s.jobs[r]=_v(t,r,e[r],function(i,o){r in s.jobs&&(delete s.jobs[r],i?Iv(s):s.results[r]=o,n(i,s.results))})}function _v(e,t,s,n){var r;return e.length==2?r=e(s,rl(n)):r=e(s,t,rl(n)),r}});var So=w((AI,ol)=>{ol.exports=Pv;function Pv(e,t){var s=!Array.isArray(e),n={index:0,keyedList:s||t?Object.keys(e):null,jobs:{},results:s?{}:[],size:s?Object.keys(e).length:e.length};return t&&n.keyedList.sort(s?t:function(r,i){return t(e[r],e[i])}),n}});var xo=w((EI,al)=>{var Lv=vo(),Ov=bo();al.exports=Bv;function Bv(e){Object.keys(this.jobs).length&&(this.index=this.size,Lv(this),Ov(e)(null,this.results))}});var ul=w((wI,cl)=>{var Nv=Co(),Mv=So(),Wv=xo();cl.exports=jv;function jv(e,t,s){for(var n=Mv(e);n.index<(n.keyedList||e).length;)Nv(e,t,n,function(r,i){if(r){s(r,i);return}if(Object.keys(n.jobs).length===0){s(null,n.results);return}}),n.index++;return Wv.bind(n,s)}});var Fo=w((RI,jr)=>{var ll=Co(),$v=So(),Uv=xo();jr.exports=Gv;jr.exports.ascending=pl;jr.exports.descending=qv;function Gv(e,t,s,n){var r=$v(e,s);return ll(e,t,r,function i(o,a){if(o){n(o,a);return}if(r.index++,r.index<(r.keyedList||e).length){ll(e,t,r,i);return}n(null,r.results)}),Uv.bind(r,n)}function pl(e,t){return e<t?-1:e>t?1:0}function qv(e,t){return-1*pl(e,t)}});var ml=w((TI,dl)=>{var zv=Fo();dl.exports=Hv;function Hv(e,t,s){return zv(e,t,null,s)}});var gl=w((II,fl)=>{fl.exports={parallel:ul(),serial:ml(),serialOrdered:Fo()}});var Ao=w((kI,hl)=>{"use strict";hl.exports=Object});var Dl=w((_I,yl)=>{"use strict";yl.exports=Error});var vl=w((PI,bl)=>{"use strict";bl.exports=EvalError});var Sl=w((LI,Cl)=>{"use strict";Cl.exports=RangeError});var Fl=w((OI,xl)=>{"use strict";xl.exports=ReferenceError});var El=w((BI,Al)=>{"use strict";Al.exports=SyntaxError});var $r=w((NI,wl)=>{"use strict";wl.exports=TypeError});var Tl=w((MI,Rl)=>{"use strict";Rl.exports=URIError});var kl=w((WI,Il)=>{"use strict";Il.exports=Math.abs});var Pl=w((jI,_l)=>{"use strict";_l.exports=Math.floor});var Ol=w(($I,Ll)=>{"use strict";Ll.exports=Math.max});var Nl=w((UI,Bl)=>{"use strict";Bl.exports=Math.min});var Wl=w((GI,Ml)=>{"use strict";Ml.exports=Math.pow});var $l=w((qI,jl)=>{"use strict";jl.exports=Math.round});var Gl=w((zI,Ul)=>{"use strict";Ul.exports=Number.isNaN||function(t){return t!==t}});var zl=w((HI,ql)=>{"use strict";var Vv=Gl();ql.exports=function(t){return Vv(t)||t===0?t:t<0?-1:1}});var Vl=w((VI,Hl)=>{"use strict";Hl.exports=Object.getOwnPropertyDescriptor});var Eo=w((KI,Kl)=>{"use strict";var Ur=Vl();if(Ur)try{Ur([],"length")}catch{Ur=null}Kl.exports=Ur});var Jl=w((ZI,Zl)=>{"use strict";var Gr=Object.defineProperty||!1;if(Gr)try{Gr({},"a",{value:1})}catch{Gr=!1}Zl.exports=Gr});var wo=w((JI,Yl)=>{"use strict";Yl.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},s=Symbol("test"),n=Object(s);if(typeof s=="string"||Object.prototype.toString.call(s)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var r=42;t[s]=r;for(var i in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==s||!Object.prototype.propertyIsEnumerable.call(t,s))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(t,s);if(a.value!==r||a.enumerable!==!0)return!1}return!0}});var ep=w((YI,Xl)=>{"use strict";var Ql=typeof Symbol<"u"&&Symbol,Kv=wo();Xl.exports=function(){return typeof Ql!="function"||typeof Symbol!="function"||typeof Ql("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Kv()}});var Ro=w((QI,tp)=>{"use strict";tp.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var To=w((XI,sp)=>{"use strict";var Zv=Ao();sp.exports=Zv.getPrototypeOf||null});var ip=w((ek,rp)=>{"use strict";var Jv="Function.prototype.bind called on incompatible ",Yv=Object.prototype.toString,Qv=Math.max,Xv="[object Function]",np=function(t,s){for(var n=[],r=0;r<t.length;r+=1)n[r]=t[r];for(var i=0;i<s.length;i+=1)n[i+t.length]=s[i];return n},eC=function(t,s){for(var n=[],r=s||0,i=0;r<t.length;r+=1,i+=1)n[i]=t[r];return n},tC=function(e,t){for(var s="",n=0;n<e.length;n+=1)s+=e[n],n+1<e.length&&(s+=t);return s};rp.exports=function(t){var s=this;if(typeof s!="function"||Yv.apply(s)!==Xv)throw new TypeError(Jv+s);for(var n=eC(arguments,1),r,i=function(){if(this instanceof r){var l=s.apply(this,np(n,arguments));return Object(l)===l?l:this}return s.apply(t,np(n,arguments))},o=Qv(0,s.length-n.length),a=[],c=0;c<o;c++)a[c]="$"+c;if(r=Function("binder","return function ("+tC(a,",")+"){ return binder.apply(this,arguments); }")(i),s.prototype){var u=function(){};u.prototype=s.prototype,r.prototype=new u,u.prototype=null}return r}});var jn=w((tk,op)=>{"use strict";var sC=ip();op.exports=Function.prototype.bind||sC});var qr=w((sk,ap)=>{"use strict";ap.exports=Function.prototype.call});var Io=w((nk,cp)=>{"use strict";cp.exports=Function.prototype.apply});var lp=w((rk,up)=>{"use strict";up.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var dp=w((ik,pp)=>{"use strict";var nC=jn(),rC=Io(),iC=qr(),oC=lp();pp.exports=oC||nC.call(iC,rC)});var fp=w((ok,mp)=>{"use strict";var aC=jn(),cC=$r(),uC=qr(),lC=dp();mp.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new cC("a function is required");return lC(aC,uC,t)}});var vp=w((ak,bp)=>{"use strict";var pC=fp(),gp=Eo(),yp;try{yp=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var ko=!!yp&&gp&&gp(Object.prototype,"__proto__"),Dp=Object,hp=Dp.getPrototypeOf;bp.exports=ko&&typeof ko.get=="function"?pC([ko.get]):typeof hp=="function"?function(t){return hp(t==null?t:Dp(t))}:!1});var Ap=w((ck,Fp)=>{"use strict";var Cp=Ro(),Sp=To(),xp=vp();Fp.exports=Cp?function(t){return Cp(t)}:Sp?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return Sp(t)}:xp?function(t){return xp(t)}:null});var zr=w((uk,Ep)=>{"use strict";var dC=Function.prototype.call,mC=Object.prototype.hasOwnProperty,fC=jn();Ep.exports=fC.call(dC,mC)});var Pp=w((lk,_p)=>{"use strict";var re,gC=Ao(),hC=Dl(),yC=vl(),DC=Sl(),bC=Fl(),Ys=El(),Js=$r(),vC=Tl(),CC=kl(),SC=Pl(),xC=Ol(),FC=Nl(),AC=Wl(),EC=$l(),wC=zl(),Ip=Function,_o=function(e){try{return Ip('"use strict"; return ('+e+").constructor;")()}catch{}},$n=Eo(),RC=Jl(),Po=function(){throw new Js},TC=$n?function(){try{return arguments.callee,Po}catch{try{return $n(arguments,"callee").get}catch{return Po}}}():Po,Ks=ep()(),Te=Ap(),IC=To(),kC=Ro(),kp=Io(),Un=qr(),Zs={},_C=typeof Uint8Array>"u"||!Te?re:Te(Uint8Array),cs={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?re:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?re:ArrayBuffer,"%ArrayIteratorPrototype%":Ks&&Te?Te([][Symbol.iterator]()):re,"%AsyncFromSyncIteratorPrototype%":re,"%AsyncFunction%":Zs,"%AsyncGenerator%":Zs,"%AsyncGeneratorFunction%":Zs,"%AsyncIteratorPrototype%":Zs,"%Atomics%":typeof Atomics>"u"?re:Atomics,"%BigInt%":typeof BigInt>"u"?re:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?re:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?re:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?re:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":hC,"%eval%":eval,"%EvalError%":yC,"%Float16Array%":typeof Float16Array>"u"?re:Float16Array,"%Float32Array%":typeof Float32Array>"u"?re:Float32Array,"%Float64Array%":typeof Float64Array>"u"?re:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?re:FinalizationRegistry,"%Function%":Ip,"%GeneratorFunction%":Zs,"%Int8Array%":typeof Int8Array>"u"?re:Int8Array,"%Int16Array%":typeof Int16Array>"u"?re:Int16Array,"%Int32Array%":typeof Int32Array>"u"?re:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Ks&&Te?Te(Te([][Symbol.iterator]())):re,"%JSON%":typeof JSON=="object"?JSON:re,"%Map%":typeof Map>"u"?re:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Ks||!Te?re:Te(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":gC,"%Object.getOwnPropertyDescriptor%":$n,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?re:Promise,"%Proxy%":typeof Proxy>"u"?re:Proxy,"%RangeError%":DC,"%ReferenceError%":bC,"%Reflect%":typeof Reflect>"u"?re:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?re:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Ks||!Te?re:Te(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?re:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Ks&&Te?Te(""[Symbol.iterator]()):re,"%Symbol%":Ks?Symbol:re,"%SyntaxError%":Ys,"%ThrowTypeError%":TC,"%TypedArray%":_C,"%TypeError%":Js,"%Uint8Array%":typeof Uint8Array>"u"?re:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?re:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?re:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?re:Uint32Array,"%URIError%":vC,"%WeakMap%":typeof WeakMap>"u"?re:WeakMap,"%WeakRef%":typeof WeakRef>"u"?re:WeakRef,"%WeakSet%":typeof WeakSet>"u"?re:WeakSet,"%Function.prototype.call%":Un,"%Function.prototype.apply%":kp,"%Object.defineProperty%":RC,"%Object.getPrototypeOf%":IC,"%Math.abs%":CC,"%Math.floor%":SC,"%Math.max%":xC,"%Math.min%":FC,"%Math.pow%":AC,"%Math.round%":EC,"%Math.sign%":wC,"%Reflect.getPrototypeOf%":kC};if(Te)try{null.error}catch(e){wp=Te(Te(e)),cs["%Error.prototype%"]=wp}var wp,PC=function e(t){var s;if(t==="%AsyncFunction%")s=_o("async function () {}");else if(t==="%GeneratorFunction%")s=_o("function* () {}");else if(t==="%AsyncGeneratorFunction%")s=_o("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(s=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var r=e("%AsyncGenerator%");r&&Te&&(s=Te(r.prototype))}return cs[t]=s,s},Rp={__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"]},Gn=jn(),Hr=zr(),LC=Gn.call(Un,Array.prototype.concat),OC=Gn.call(kp,Array.prototype.splice),Tp=Gn.call(Un,String.prototype.replace),Vr=Gn.call(Un,String.prototype.slice),BC=Gn.call(Un,RegExp.prototype.exec),NC=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,MC=/\\(\\)?/g,WC=function(t){var s=Vr(t,0,1),n=Vr(t,-1);if(s==="%"&&n!=="%")throw new Ys("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&s!=="%")throw new Ys("invalid intrinsic syntax, expected opening `%`");var r=[];return Tp(t,NC,function(i,o,a,c){r[r.length]=a?Tp(c,MC,"$1"):o||i}),r},jC=function(t,s){var n=t,r;if(Hr(Rp,n)&&(r=Rp[n],n="%"+r[0]+"%"),Hr(cs,n)){var i=cs[n];if(i===Zs&&(i=PC(n)),typeof i>"u"&&!s)throw new Js("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:i}}throw new Ys("intrinsic "+t+" does not exist!")};_p.exports=function(t,s){if(typeof t!="string"||t.length===0)throw new Js("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof s!="boolean")throw new Js('"allowMissing" argument must be a boolean');if(BC(/^%?[^%]*%?$/,t)===null)throw new Ys("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=WC(t),r=n.length>0?n[0]:"",i=jC("%"+r+"%",s),o=i.name,a=i.value,c=!1,u=i.alias;u&&(r=u[0],OC(n,LC([0,1],u)));for(var l=1,p=!0;l<n.length;l+=1){var m=n[l],d=Vr(m,0,1),f=Vr(m,-1);if((d==='"'||d==="'"||d==="`"||f==='"'||f==="'"||f==="`")&&d!==f)throw new Ys("property names with quotes must have matching quotes");if((m==="constructor"||!p)&&(c=!0),r+="."+m,o="%"+r+"%",Hr(cs,o))a=cs[o];else if(a!=null){if(!(m in a)){if(!s)throw new Js("base intrinsic for "+t+" exists, but the property is not available.");return}if($n&&l+1>=n.length){var g=$n(a,m);p=!!g,p&&"get"in g&&!("originalValue"in g.get)?a=g.get:a=a[m]}else p=Hr(a,m),a=a[m];p&&!c&&(cs[o]=a)}}return a}});var Op=w((pk,Lp)=>{"use strict";var $C=wo();Lp.exports=function(){return $C()&&!!Symbol.toStringTag}});var Mp=w((dk,Np)=>{"use strict";var UC=Pp(),Bp=UC("%Object.defineProperty%",!0),GC=Op()(),qC=zr(),zC=$r(),Kr=GC?Symbol.toStringTag:null;Np.exports=function(t,s){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,r=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof r<"u"&&typeof r!="boolean")throw new zC("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");Kr&&(n||!qC(t,Kr))&&(Bp?Bp(t,Kr,{configurable:!r,enumerable:!1,value:s,writable:!1}):t[Kr]=s)}});var jp=w((mk,Wp)=>{"use strict";Wp.exports=function(e,t){return Object.keys(t).forEach(function(s){e[s]=e[s]||t[s]}),e}});var Up=w((fk,$p)=>{"use strict";var No=Hu(),HC=require("util"),Lo=require("path"),VC=require("http"),KC=require("https"),ZC=require("url").parse,JC=require("fs"),YC=require("stream").Stream,QC=require("crypto"),Oo=Qu(),XC=gl(),eS=Mp(),Vt=zr(),Bo=jp();function oe(e){if(!(this instanceof oe))return new oe(e);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],No.call(this),e=e||{};for(var t in e)this[t]=e[t]}HC.inherits(oe,No);oe.LINE_BREAK=`\r
|
|
2
|
-
`;oe.DEFAULT_CONTENT_TYPE="application/octet-stream";oe.prototype.append=function(e,t,s){s=s||{},typeof s=="string"&&(s={filename:s});var n=No.prototype.append.bind(this);if((typeof t=="number"||t==null)&&(t=String(t)),Array.isArray(t)){this._error(new Error("Arrays are not supported."));return}var r=this._multiPartHeader(e,t,s),i=this._multiPartFooter();n(r),n(t),n(i),this._trackLength(r,t,s)};oe.prototype._trackLength=function(e,t,s){var n=0;s.knownLength!=null?n+=Number(s.knownLength):Buffer.isBuffer(t)?n=t.length:typeof t=="string"&&(n=Buffer.byteLength(t)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(e)+oe.LINE_BREAK.length,!(!t||!t.path&&!(t.readable&&Vt(t,"httpVersion"))&&!(t instanceof YC))&&(s.knownLength||this._valuesToMeasure.push(t))};oe.prototype._lengthRetriever=function(e,t){Vt(e,"fd")?e.end!=null&&e.end!=1/0&&e.start!=null?t(null,e.end+1-(e.start?e.start:0)):JC.stat(e.path,function(s,n){if(s){t(s);return}var r=n.size-(e.start?e.start:0);t(null,r)}):Vt(e,"httpVersion")?t(null,Number(e.headers["content-length"])):Vt(e,"httpModule")?(e.on("response",function(s){e.pause(),t(null,Number(s.headers["content-length"]))}),e.resume()):t("Unknown stream")};oe.prototype._multiPartHeader=function(e,t,s){if(typeof s.header=="string")return s.header;var n=this._getContentDisposition(t,s),r=this._getContentType(t,s),i="",o={"Content-Disposition":["form-data",'name="'+e+'"'].concat(n||[]),"Content-Type":[].concat(r||[])};typeof s.header=="object"&&Bo(o,s.header);var a;for(var c in o)if(Vt(o,c)){if(a=o[c],a==null)continue;Array.isArray(a)||(a=[a]),a.length&&(i+=c+": "+a.join("; ")+oe.LINE_BREAK)}return"--"+this.getBoundary()+oe.LINE_BREAK+i+oe.LINE_BREAK};oe.prototype._getContentDisposition=function(e,t){var s;if(typeof t.filepath=="string"?s=Lo.normalize(t.filepath).replace(/\\/g,"/"):t.filename||e&&(e.name||e.path)?s=Lo.basename(t.filename||e&&(e.name||e.path)):e&&e.readable&&Vt(e,"httpVersion")&&(s=Lo.basename(e.client._httpMessage.path||"")),s)return'filename="'+s+'"'};oe.prototype._getContentType=function(e,t){var s=t.contentType;return!s&&e&&e.name&&(s=Oo.lookup(e.name)),!s&&e&&e.path&&(s=Oo.lookup(e.path)),!s&&e&&e.readable&&Vt(e,"httpVersion")&&(s=e.headers["content-type"]),!s&&(t.filepath||t.filename)&&(s=Oo.lookup(t.filepath||t.filename)),!s&&e&&typeof e=="object"&&(s=oe.DEFAULT_CONTENT_TYPE),s};oe.prototype._multiPartFooter=function(){return function(e){var t=oe.LINE_BREAK,s=this._streams.length===0;s&&(t+=this._lastBoundary()),e(t)}.bind(this)};oe.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+oe.LINE_BREAK};oe.prototype.getHeaders=function(e){var t,s={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(t in e)Vt(e,t)&&(s[t.toLowerCase()]=e[t]);return s};oe.prototype.setBoundary=function(e){if(typeof e!="string")throw new TypeError("FormData boundary must be a string");this._boundary=e};oe.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};oe.prototype.getBuffer=function(){for(var e=new Buffer.alloc(0),t=this.getBoundary(),s=0,n=this._streams.length;s<n;s++)typeof this._streams[s]!="function"&&(Buffer.isBuffer(this._streams[s])?e=Buffer.concat([e,this._streams[s]]):e=Buffer.concat([e,Buffer.from(this._streams[s])]),(typeof this._streams[s]!="string"||this._streams[s].substring(2,t.length+2)!==t)&&(e=Buffer.concat([e,Buffer.from(oe.LINE_BREAK)])));return Buffer.concat([e,Buffer.from(this._lastBoundary())])};oe.prototype._generateBoundary=function(){this._boundary="--------------------------"+QC.randomBytes(12).toString("hex")};oe.prototype.getLengthSync=function(){var e=this._overheadLength+this._valueLength;return this._streams.length&&(e+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),e};oe.prototype.hasKnownLength=function(){var e=!0;return this._valuesToMeasure.length&&(e=!1),e};oe.prototype.getLength=function(e){var t=this._overheadLength+this._valueLength;if(this._streams.length&&(t+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(e.bind(this,null,t));return}XC.parallel(this._valuesToMeasure,this._lengthRetriever,function(s,n){if(s){e(s);return}n.forEach(function(r){t+=r}),e(null,t)})};oe.prototype.submit=function(e,t){var s,n,r={method:"post"};return typeof e=="string"?(e=ZC(e),n=Bo({port:e.port,path:e.pathname,host:e.hostname,protocol:e.protocol},r)):(n=Bo(e,r),n.port||(n.port=n.protocol==="https:"?443:80)),n.headers=this.getHeaders(e.headers),n.protocol==="https:"?s=KC.request(n):s=VC.request(n),this.getLength(function(i,o){if(i&&i!=="Unknown stream"){this._error(i);return}if(o&&s.setHeader("Content-Length",o),this.pipe(s),t){var a,c=function(u,l){return s.removeListener("error",c),s.removeListener("response",a),t.call(this,u,l)};a=c.bind(this,null),s.on("error",c),s.on("response",a)}}.bind(this)),s};oe.prototype._error=function(e){this.error||(this.error=e,this.pause(),this.emit("error",e))};oe.prototype.toString=function(){return"[object FormData]"};eS(oe.prototype,"FormData");$p.exports=oe});var od=w(id=>{"use strict";var DS=require("url").parse,bS={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},vS=String.prototype.endsWith||function(e){return e.length<=this.length&&this.indexOf(e,this.length-e.length)!==-1};function CS(e){var t=typeof e=="string"?DS(e):e||{},s=t.protocol,n=t.host,r=t.port;if(typeof n!="string"||!n||typeof s!="string"||(s=s.split(":",1)[0],n=n.replace(/:\d*$/,""),r=parseInt(r)||bS[s]||0,!SS(n,r)))return"";var i=tn("npm_config_"+s+"_proxy")||tn(s+"_proxy")||tn("npm_config_proxy")||tn("all_proxy");return i&&i.indexOf("://")===-1&&(i=s+"://"+i),i}function SS(e,t){var s=(tn("npm_config_no_proxy")||tn("no_proxy")).toLowerCase();return s?s==="*"?!1:s.split(/[,\s]/).every(function(n){if(!n)return!0;var r=n.match(/^(.+):(\d+)$/),i=r?r[1]:n,o=r?parseInt(r[2]):0;return o&&o!==t?!0:/^[.*]/.test(i)?(i.charAt(0)==="*"&&(i=i.slice(1)),!vS.call(e,i)):e!==i}):!0}function tn(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}id.getProxyForUrl=CS});var cd=w((g_,ad)=>{var sn=1e3,nn=sn*60,rn=nn*60,ps=rn*24,xS=ps*7,FS=ps*365.25;ad.exports=function(e,t){t=t||{};var s=typeof e;if(s==="string"&&e.length>0)return AS(e);if(s==="number"&&isFinite(e))return t.long?wS(e):ES(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function AS(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var s=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return s*FS;case"weeks":case"week":case"w":return s*xS;case"days":case"day":case"d":return s*ps;case"hours":case"hour":case"hrs":case"hr":case"h":return s*rn;case"minutes":case"minute":case"mins":case"min":case"m":return s*nn;case"seconds":case"second":case"secs":case"sec":case"s":return s*sn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}function ES(e){var t=Math.abs(e);return t>=ps?Math.round(e/ps)+"d":t>=rn?Math.round(e/rn)+"h":t>=nn?Math.round(e/nn)+"m":t>=sn?Math.round(e/sn)+"s":e+"ms"}function wS(e){var t=Math.abs(e);return t>=ps?Qr(e,t,ps,"day"):t>=rn?Qr(e,t,rn,"hour"):t>=nn?Qr(e,t,nn,"minute"):t>=sn?Qr(e,t,sn,"second"):e+" ms"}function Qr(e,t,s,n){var r=t>=s*1.5;return Math.round(e/s)+" "+n+(r?"s":"")}});var Jo=w((h_,ud)=>{function RS(e){s.debug=s,s.default=s,s.coerce=c,s.disable=o,s.enable=r,s.enabled=a,s.humanize=cd(),s.destroy=u,Object.keys(e).forEach(l=>{s[l]=e[l]}),s.names=[],s.skips=[],s.formatters={};function t(l){let p=0;for(let m=0;m<l.length;m++)p=(p<<5)-p+l.charCodeAt(m),p|=0;return s.colors[Math.abs(p)%s.colors.length]}s.selectColor=t;function s(l){let p,m=null,d,f;function g(...h){if(!g.enabled)return;let b=g,y=Number(new Date),F=y-(p||y);b.diff=F,b.prev=p,b.curr=y,p=y,h[0]=s.coerce(h[0]),typeof h[0]!="string"&&h.unshift("%O");let v=0;h[0]=h[0].replace(/%([a-zA-Z%])/g,(T,_)=>{if(T==="%%")return"%";v++;let E=s.formatters[_];if(typeof E=="function"){let z=h[v];T=E.call(b,z),h.splice(v,1),v--}return T}),s.formatArgs.call(b,h),(b.log||s.log).apply(b,h)}return g.namespace=l,g.useColors=s.useColors(),g.color=s.selectColor(l),g.extend=n,g.destroy=s.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(d!==s.namespaces&&(d=s.namespaces,f=s.enabled(l)),f),set:h=>{m=h}}),typeof s.init=="function"&&s.init(g),g}function n(l,p){let m=s(this.namespace+(typeof p>"u"?":":p)+l);return m.log=this.log,m}function r(l){s.save(l),s.namespaces=l,s.names=[],s.skips=[];let p=(typeof l=="string"?l:"").trim().replace(" ",",").split(",").filter(Boolean);for(let m of p)m[0]==="-"?s.skips.push(m.slice(1)):s.names.push(m)}function i(l,p){let m=0,d=0,f=-1,g=0;for(;m<l.length;)if(d<p.length&&(p[d]===l[m]||p[d]==="*"))p[d]==="*"?(f=d,g=m,d++):(m++,d++);else if(f!==-1)d=f+1,g++,m=g;else return!1;for(;d<p.length&&p[d]==="*";)d++;return d===p.length}function o(){let l=[...s.names,...s.skips.map(p=>"-"+p)].join(",");return s.enable(""),l}function a(l){for(let p of s.skips)if(i(l,p))return!1;for(let p of s.names)if(i(l,p))return!0;return!1}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){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 s.enable(s.load()),s}ud.exports=RS});var ld=w((Qe,Xr)=>{Qe.formatArgs=IS;Qe.save=kS;Qe.load=_S;Qe.useColors=TS;Qe.storage=PS();Qe.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})();Qe.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 TS(){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 e;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&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function IS(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Xr.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let s=0,n=0;e[0].replace(/%[a-zA-Z%]/g,r=>{r!=="%%"&&(s++,r==="%c"&&(n=s))}),e.splice(n,0,t)}Qe.log=console.debug||console.log||(()=>{});function kS(e){try{e?Qe.storage.setItem("debug",e):Qe.storage.removeItem("debug")}catch{}}function _S(){let e;try{e=Qe.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function PS(){try{return localStorage}catch{}}Xr.exports=Jo()(Qe);var{formatters:LS}=Xr.exports;LS.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var dd=w((y_,pd)=>{"use strict";pd.exports=(e,t=process.argv)=>{let s=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(s+e),r=t.indexOf("--");return n!==-1&&(r===-1||n<r)}});var gd=w((D_,fd)=>{"use strict";var OS=require("os"),md=require("tty"),it=dd(),{env:Ie}=process,Zt;it("no-color")||it("no-colors")||it("color=false")||it("color=never")?Zt=0:(it("color")||it("colors")||it("color=true")||it("color=always"))&&(Zt=1);"FORCE_COLOR"in Ie&&(Ie.FORCE_COLOR==="true"?Zt=1:Ie.FORCE_COLOR==="false"?Zt=0:Zt=Ie.FORCE_COLOR.length===0?1:Math.min(parseInt(Ie.FORCE_COLOR,10),3));function Yo(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Qo(e,t){if(Zt===0)return 0;if(it("color=16m")||it("color=full")||it("color=truecolor"))return 3;if(it("color=256"))return 2;if(e&&!t&&Zt===void 0)return 0;let s=Zt||0;if(Ie.TERM==="dumb")return s;if(process.platform==="win32"){let n=OS.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Ie)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Ie)||Ie.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in Ie)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ie.TEAMCITY_VERSION)?1:0;if(Ie.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ie){let n=parseInt((Ie.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ie.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ie.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ie.TERM)||"COLORTERM"in Ie?1:s}function BS(e){let t=Qo(e,e&&e.isTTY);return Yo(t)}fd.exports={supportsColor:BS,stdout:Yo(Qo(!0,md.isatty(1))),stderr:Yo(Qo(!0,md.isatty(2)))}});var yd=w((ke,ti)=>{var NS=require("tty"),ei=require("util");ke.init=qS;ke.log=$S;ke.formatArgs=WS;ke.save=US;ke.load=GS;ke.useColors=MS;ke.destroy=ei.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");ke.colors=[6,2,3,4,5,1];try{let e=gd();e&&(e.stderr||e).level>=2&&(ke.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{}ke.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let s=t.substring(6).toLowerCase().replace(/_([a-z])/g,(r,i)=>i.toUpperCase()),n=process.env[t];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),e[s]=n,e},{});function MS(){return"colors"in ke.inspectOpts?!!ke.inspectOpts.colors:NS.isatty(process.stderr.fd)}function WS(e){let{namespace:t,useColors:s}=this;if(s){let n=this.color,r="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${r};1m${t} \x1B[0m`;e[0]=i+e[0].split(`
|
|
1
|
+
"use strict";var uv=Object.create;var Gr=Object.defineProperty;var lv=Object.getOwnPropertyDescriptor;var pv=Object.getOwnPropertyNames;var dv=Object.getPrototypeOf,mv=Object.prototype.hasOwnProperty;var E=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),$u=(e,t)=>{for(var s in t)Gr(e,s,{get:t[s],enumerable:!0})},Uu=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of pv(t))!mv.call(e,r)&&r!==s&&Gr(e,r,{get:()=>t[r],enumerable:!(n=lv(t,r))||n.enumerable});return e};var Y=(e,t,s)=>(s=e!=null?uv(dv(e)):{},Uu(t||!e||!e.__esModule?Gr(s,"default",{value:e,enumerable:!0}):s,e)),fv=e=>Uu(Gr({},"__esModule",{value:!0}),e);var tl=E((dk,el)=>{var Xu=require("stream").Stream,eS=require("util");el.exports=xt;function xt(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}eS.inherits(xt,Xu);xt.create=function(e,t){var s=new this;t=t||{};for(var n in t)s[n]=t[n];s.source=e;var r=e.emit;return e.emit=function(){return s._handleEmit(arguments),r.apply(e,arguments)},e.on("error",function(){}),s.pauseStream&&e.pause(),s};Object.defineProperty(xt.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});xt.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};xt.prototype.resume=function(){this._released||this.release(),this.source.resume()};xt.prototype.pause=function(){this.source.pause()};xt.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(e){this.emit.apply(this,e)}.bind(this)),this._bufferedEvents=[]};xt.prototype.pipe=function(){var e=Xu.prototype.pipe.apply(this,arguments);return this.resume(),e};xt.prototype._handleEmit=function(e){if(this._released){this.emit.apply(this,e);return}e[0]==="data"&&(this.dataSize+=e[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(e)};xt.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(e))}}});var il=E((mk,rl)=>{var tS=require("util"),nl=require("stream").Stream,sl=tl();rl.exports=we;function we(){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}tS.inherits(we,nl);we.create=function(e){var t=new this;e=e||{};for(var s in e)t[s]=e[s];return t};we.isStreamLike=function(e){return typeof e!="function"&&typeof e!="string"&&typeof e!="boolean"&&typeof e!="number"&&!Buffer.isBuffer(e)};we.prototype.append=function(e){var t=we.isStreamLike(e);if(t){if(!(e instanceof sl)){var s=sl.create(e,{maxDataSize:1/0,pauseStream:this.pauseStreams});e.on("data",this._checkDataSize.bind(this)),e=s}this._handleErrors(e),this.pauseStreams&&e.pause()}return this._streams.push(e),this};we.prototype.pipe=function(e,t){return nl.prototype.pipe.call(this,e,t),this.resume(),e};we.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}};we.prototype._realGetNext=function(){var e=this._streams.shift();if(typeof e>"u"){this.end();return}if(typeof e!="function"){this._pipeNext(e);return}var t=e;t(function(s){var n=we.isStreamLike(s);n&&(s.on("data",this._checkDataSize.bind(this)),this._handleErrors(s)),this._pipeNext(s)}.bind(this))};we.prototype._pipeNext=function(e){this._currentStream=e;var t=we.isStreamLike(e);if(t){e.on("end",this._getNext.bind(this)),e.pipe(this,{end:!1});return}var s=e;this.write(s),this._getNext()};we.prototype._handleErrors=function(e){var t=this;e.on("error",function(s){t._emitError(s)})};we.prototype.write=function(e){this.emit("data",e)};we.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};we.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")};we.prototype.end=function(){this._reset(),this.emit("end")};we.prototype.destroy=function(){this._reset(),this.emit("close")};we.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};we.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(e))}};we.prototype._updateDataSize=function(){this.dataSize=0;var e=this;this._streams.forEach(function(t){t.dataSize&&(e.dataSize+=t.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};we.prototype._emitError=function(e){this._reset(),this.emit("error",e)}});var ol=E((fk,sS)=>{sS.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 cl=E((gk,al)=>{al.exports=ol()});var pl=E(Ye=>{"use strict";var Kr=cl(),nS=require("path").extname,ul=/^\s*([^;\s]*)(?:;|\s|$)/,rS=/^text\//i;Ye.charset=ll;Ye.charsets={lookup:ll};Ye.contentType=iS;Ye.extension=oS;Ye.extensions=Object.create(null);Ye.lookup=aS;Ye.types=Object.create(null);cS(Ye.extensions,Ye.types);function ll(e){if(!e||typeof e!="string")return!1;var t=ul.exec(e),s=t&&Kr[t[1].toLowerCase()];return s&&s.charset?s.charset:t&&rS.test(t[1])?"UTF-8":!1}function iS(e){if(!e||typeof e!="string")return!1;var t=e.indexOf("/")===-1?Ye.lookup(e):e;if(!t)return!1;if(t.indexOf("charset")===-1){var s=Ye.charset(t);s&&(t+="; charset="+s.toLowerCase())}return t}function oS(e){if(!e||typeof e!="string")return!1;var t=ul.exec(e),s=t&&Ye.extensions[t[1].toLowerCase()];return!s||!s.length?!1:s[0]}function aS(e){if(!e||typeof e!="string")return!1;var t=nS("x."+e).toLowerCase().substr(1);return t&&Ye.types[t]||!1}function cS(e,t){var s=["nginx","apache",void 0,"iana"];Object.keys(Kr).forEach(function(r){var i=Kr[r],o=i.extensions;if(!(!o||!o.length)){e[r]=o;for(var a=0;a<o.length;a++){var c=o[a];if(t[c]){var u=s.indexOf(Kr[t[c]].source),l=s.indexOf(i.source);if(t[c]!=="application/octet-stream"&&(u>l||u===l&&t[c].substr(0,12)==="application/"))continue}t[c]=r}}})}});var ml=E((yk,dl)=>{dl.exports=uS;function uS(e){var t=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;t?t(e):setTimeout(e,0)}});var ko=E((Dk,gl)=>{var fl=ml();gl.exports=lS;function lS(e){var t=!1;return fl(function(){t=!0}),function(n,r){t?e(n,r):fl(function(){e(n,r)})}}});var _o=E((bk,hl)=>{hl.exports=pS;function pS(e){Object.keys(e.jobs).forEach(dS.bind(e)),e.jobs={}}function dS(e){typeof this.jobs[e]=="function"&&this.jobs[e]()}});var Lo=E((vk,Dl)=>{var yl=ko(),mS=_o();Dl.exports=fS;function fS(e,t,s,n){var r=s.keyedList?s.keyedList[s.index]:s.index;s.jobs[r]=gS(t,r,e[r],function(i,o){r in s.jobs&&(delete s.jobs[r],i?mS(s):s.results[r]=o,n(i,s.results))})}function gS(e,t,s,n){var r;return e.length==2?r=e(s,yl(n)):r=e(s,t,yl(n)),r}});var Po=E((Sk,bl)=>{bl.exports=hS;function hS(e,t){var s=!Array.isArray(e),n={index:0,keyedList:s||t?Object.keys(e):null,jobs:{},results:s?{}:[],size:s?Object.keys(e).length:e.length};return t&&n.keyedList.sort(s?t:function(r,i){return t(e[r],e[i])}),n}});var Oo=E((Ck,vl)=>{var yS=_o(),DS=ko();vl.exports=bS;function bS(e){Object.keys(this.jobs).length&&(this.index=this.size,yS(this),DS(e)(null,this.results))}});var Cl=E((xk,Sl)=>{var vS=Lo(),SS=Po(),CS=Oo();Sl.exports=xS;function xS(e,t,s){for(var n=SS(e);n.index<(n.keyedList||e).length;)vS(e,t,n,function(r,i){if(r){s(r,i);return}if(Object.keys(n.jobs).length===0){s(null,n.results);return}}),n.index++;return CS.bind(n,s)}});var Bo=E((Ak,Zr)=>{var xl=Lo(),AS=Po(),FS=Oo();Zr.exports=ES;Zr.exports.ascending=Al;Zr.exports.descending=RS;function ES(e,t,s,n){var r=AS(e,s);return xl(e,t,r,function i(o,a){if(o){n(o,a);return}if(r.index++,r.index<(r.keyedList||e).length){xl(e,t,r,i);return}n(null,r.results)}),FS.bind(r,n)}function Al(e,t){return e<t?-1:e>t?1:0}function RS(e,t){return-1*Al(e,t)}});var El=E((Fk,Fl)=>{var wS=Bo();Fl.exports=IS;function IS(e,t,s){return wS(e,t,null,s)}});var wl=E((Ek,Rl)=>{Rl.exports={parallel:Cl(),serial:El(),serialOrdered:Bo()}});var Mo=E((Rk,Il)=>{"use strict";Il.exports=Object});var kl=E((wk,Tl)=>{"use strict";Tl.exports=Error});var Ll=E((Ik,_l)=>{"use strict";_l.exports=EvalError});var Ol=E((Tk,Pl)=>{"use strict";Pl.exports=RangeError});var Ml=E((kk,Bl)=>{"use strict";Bl.exports=ReferenceError});var Wl=E((_k,Nl)=>{"use strict";Nl.exports=SyntaxError});var Yr=E((Lk,jl)=>{"use strict";jl.exports=TypeError});var Ul=E((Pk,$l)=>{"use strict";$l.exports=URIError});var zl=E((Ok,Gl)=>{"use strict";Gl.exports=Math.abs});var Hl=E((Bk,ql)=>{"use strict";ql.exports=Math.floor});var Kl=E((Mk,Vl)=>{"use strict";Vl.exports=Math.max});var Yl=E((Nk,Zl)=>{"use strict";Zl.exports=Math.min});var Ql=E((Wk,Jl)=>{"use strict";Jl.exports=Math.pow});var ep=E((jk,Xl)=>{"use strict";Xl.exports=Math.round});var sp=E(($k,tp)=>{"use strict";tp.exports=Number.isNaN||function(t){return t!==t}});var rp=E((Uk,np)=>{"use strict";var TS=sp();np.exports=function(t){return TS(t)||t===0?t:t<0?-1:1}});var op=E((Gk,ip)=>{"use strict";ip.exports=Object.getOwnPropertyDescriptor});var No=E((zk,ap)=>{"use strict";var Jr=op();if(Jr)try{Jr([],"length")}catch{Jr=null}ap.exports=Jr});var up=E((qk,cp)=>{"use strict";var Qr=Object.defineProperty||!1;if(Qr)try{Qr({},"a",{value:1})}catch{Qr=!1}cp.exports=Qr});var Wo=E((Hk,lp)=>{"use strict";lp.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},s=Symbol("test"),n=Object(s);if(typeof s=="string"||Object.prototype.toString.call(s)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var r=42;t[s]=r;for(var i in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==s||!Object.prototype.propertyIsEnumerable.call(t,s))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(t,s);if(a.value!==r||a.enumerable!==!0)return!1}return!0}});var mp=E((Vk,dp)=>{"use strict";var pp=typeof Symbol<"u"&&Symbol,kS=Wo();dp.exports=function(){return typeof pp!="function"||typeof Symbol!="function"||typeof pp("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:kS()}});var jo=E((Kk,fp)=>{"use strict";fp.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var $o=E((Zk,gp)=>{"use strict";var _S=Mo();gp.exports=_S.getPrototypeOf||null});var Dp=E((Yk,yp)=>{"use strict";var LS="Function.prototype.bind called on incompatible ",PS=Object.prototype.toString,OS=Math.max,BS="[object Function]",hp=function(t,s){for(var n=[],r=0;r<t.length;r+=1)n[r]=t[r];for(var i=0;i<s.length;i+=1)n[i+t.length]=s[i];return n},MS=function(t,s){for(var n=[],r=s||0,i=0;r<t.length;r+=1,i+=1)n[i]=t[r];return n},NS=function(e,t){for(var s="",n=0;n<e.length;n+=1)s+=e[n],n+1<e.length&&(s+=t);return s};yp.exports=function(t){var s=this;if(typeof s!="function"||PS.apply(s)!==BS)throw new TypeError(LS+s);for(var n=MS(arguments,1),r,i=function(){if(this instanceof r){var l=s.apply(this,hp(n,arguments));return Object(l)===l?l:this}return s.apply(t,hp(n,arguments))},o=OS(0,s.length-n.length),a=[],c=0;c<o;c++)a[c]="$"+c;if(r=Function("binder","return function ("+NS(a,",")+"){ return binder.apply(this,arguments); }")(i),s.prototype){var u=function(){};u.prototype=s.prototype,r.prototype=new u,u.prototype=null}return r}});var Zn=E((Jk,bp)=>{"use strict";var WS=Dp();bp.exports=Function.prototype.bind||WS});var Xr=E((Qk,vp)=>{"use strict";vp.exports=Function.prototype.call});var Uo=E((Xk,Sp)=>{"use strict";Sp.exports=Function.prototype.apply});var xp=E((e_,Cp)=>{"use strict";Cp.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var Fp=E((t_,Ap)=>{"use strict";var jS=Zn(),$S=Uo(),US=Xr(),GS=xp();Ap.exports=GS||jS.call(US,$S)});var Rp=E((s_,Ep)=>{"use strict";var zS=Zn(),qS=Yr(),HS=Xr(),VS=Fp();Ep.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new qS("a function is required");return VS(zS,HS,t)}});var Lp=E((n_,_p)=>{"use strict";var KS=Rp(),wp=No(),Tp;try{Tp=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var Go=!!Tp&&wp&&wp(Object.prototype,"__proto__"),kp=Object,Ip=kp.getPrototypeOf;_p.exports=Go&&typeof Go.get=="function"?KS([Go.get]):typeof Ip=="function"?function(t){return Ip(t==null?t:kp(t))}:!1});var Np=E((r_,Mp)=>{"use strict";var Pp=jo(),Op=$o(),Bp=Lp();Mp.exports=Pp?function(t){return Pp(t)}:Op?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return Op(t)}:Bp?function(t){return Bp(t)}:null});var ei=E((i_,Wp)=>{"use strict";var ZS=Function.prototype.call,YS=Object.prototype.hasOwnProperty,JS=Zn();Wp.exports=JS.call(ZS,YS)});var Hp=E((o_,qp)=>{"use strict";var ue,QS=Mo(),XS=kl(),eC=Ll(),tC=Ol(),sC=Ml(),an=Wl(),on=Yr(),nC=Ul(),rC=zl(),iC=Hl(),oC=Kl(),aC=Yl(),cC=Ql(),uC=ep(),lC=rp(),Gp=Function,zo=function(e){try{return Gp('"use strict"; return ('+e+").constructor;")()}catch{}},Yn=No(),pC=up(),qo=function(){throw new on},dC=Yn?function(){try{return arguments.callee,qo}catch{try{return Yn(arguments,"callee").get}catch{return qo}}}():qo,nn=mp()(),Be=Np(),mC=$o(),fC=jo(),zp=Uo(),Jn=Xr(),rn={},gC=typeof Uint8Array>"u"||!Be?ue:Be(Uint8Array),hs={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?ue:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?ue:ArrayBuffer,"%ArrayIteratorPrototype%":nn&&Be?Be([][Symbol.iterator]()):ue,"%AsyncFromSyncIteratorPrototype%":ue,"%AsyncFunction%":rn,"%AsyncGenerator%":rn,"%AsyncGeneratorFunction%":rn,"%AsyncIteratorPrototype%":rn,"%Atomics%":typeof Atomics>"u"?ue:Atomics,"%BigInt%":typeof BigInt>"u"?ue:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?ue:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?ue:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?ue:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":XS,"%eval%":eval,"%EvalError%":eC,"%Float16Array%":typeof Float16Array>"u"?ue:Float16Array,"%Float32Array%":typeof Float32Array>"u"?ue:Float32Array,"%Float64Array%":typeof Float64Array>"u"?ue:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?ue:FinalizationRegistry,"%Function%":Gp,"%GeneratorFunction%":rn,"%Int8Array%":typeof Int8Array>"u"?ue:Int8Array,"%Int16Array%":typeof Int16Array>"u"?ue:Int16Array,"%Int32Array%":typeof Int32Array>"u"?ue:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":nn&&Be?Be(Be([][Symbol.iterator]())):ue,"%JSON%":typeof JSON=="object"?JSON:ue,"%Map%":typeof Map>"u"?ue:Map,"%MapIteratorPrototype%":typeof Map>"u"||!nn||!Be?ue:Be(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":QS,"%Object.getOwnPropertyDescriptor%":Yn,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?ue:Promise,"%Proxy%":typeof Proxy>"u"?ue:Proxy,"%RangeError%":tC,"%ReferenceError%":sC,"%Reflect%":typeof Reflect>"u"?ue:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?ue:Set,"%SetIteratorPrototype%":typeof Set>"u"||!nn||!Be?ue:Be(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?ue:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":nn&&Be?Be(""[Symbol.iterator]()):ue,"%Symbol%":nn?Symbol:ue,"%SyntaxError%":an,"%ThrowTypeError%":dC,"%TypedArray%":gC,"%TypeError%":on,"%Uint8Array%":typeof Uint8Array>"u"?ue:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?ue:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?ue:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?ue:Uint32Array,"%URIError%":nC,"%WeakMap%":typeof WeakMap>"u"?ue:WeakMap,"%WeakRef%":typeof WeakRef>"u"?ue:WeakRef,"%WeakSet%":typeof WeakSet>"u"?ue:WeakSet,"%Function.prototype.call%":Jn,"%Function.prototype.apply%":zp,"%Object.defineProperty%":pC,"%Object.getPrototypeOf%":mC,"%Math.abs%":rC,"%Math.floor%":iC,"%Math.max%":oC,"%Math.min%":aC,"%Math.pow%":cC,"%Math.round%":uC,"%Math.sign%":lC,"%Reflect.getPrototypeOf%":fC};if(Be)try{null.error}catch(e){jp=Be(Be(e)),hs["%Error.prototype%"]=jp}var jp,hC=function e(t){var s;if(t==="%AsyncFunction%")s=zo("async function () {}");else if(t==="%GeneratorFunction%")s=zo("function* () {}");else if(t==="%AsyncGeneratorFunction%")s=zo("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(s=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var r=e("%AsyncGenerator%");r&&Be&&(s=Be(r.prototype))}return hs[t]=s,s},$p={__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"]},Qn=Zn(),ti=ei(),yC=Qn.call(Jn,Array.prototype.concat),DC=Qn.call(zp,Array.prototype.splice),Up=Qn.call(Jn,String.prototype.replace),si=Qn.call(Jn,String.prototype.slice),bC=Qn.call(Jn,RegExp.prototype.exec),vC=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,SC=/\\(\\)?/g,CC=function(t){var s=si(t,0,1),n=si(t,-1);if(s==="%"&&n!=="%")throw new an("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&s!=="%")throw new an("invalid intrinsic syntax, expected opening `%`");var r=[];return Up(t,vC,function(i,o,a,c){r[r.length]=a?Up(c,SC,"$1"):o||i}),r},xC=function(t,s){var n=t,r;if(ti($p,n)&&(r=$p[n],n="%"+r[0]+"%"),ti(hs,n)){var i=hs[n];if(i===rn&&(i=hC(n)),typeof i>"u"&&!s)throw new on("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:i}}throw new an("intrinsic "+t+" does not exist!")};qp.exports=function(t,s){if(typeof t!="string"||t.length===0)throw new on("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof s!="boolean")throw new on('"allowMissing" argument must be a boolean');if(bC(/^%?[^%]*%?$/,t)===null)throw new an("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=CC(t),r=n.length>0?n[0]:"",i=xC("%"+r+"%",s),o=i.name,a=i.value,c=!1,u=i.alias;u&&(r=u[0],DC(n,yC([0,1],u)));for(var l=1,p=!0;l<n.length;l+=1){var d=n[l],f=si(d,0,1),m=si(d,-1);if((f==='"'||f==="'"||f==="`"||m==='"'||m==="'"||m==="`")&&f!==m)throw new an("property names with quotes must have matching quotes");if((d==="constructor"||!p)&&(c=!0),r+="."+d,o="%"+r+"%",ti(hs,o))a=hs[o];else if(a!=null){if(!(d in a)){if(!s)throw new on("base intrinsic for "+t+" exists, but the property is not available.");return}if(Yn&&l+1>=n.length){var g=Yn(a,d);p=!!g,p&&"get"in g&&!("originalValue"in g.get)?a=g.get:a=a[d]}else p=ti(a,d),a=a[d];p&&!c&&(hs[o]=a)}}return a}});var Kp=E((a_,Vp)=>{"use strict";var AC=Wo();Vp.exports=function(){return AC()&&!!Symbol.toStringTag}});var Jp=E((c_,Yp)=>{"use strict";var FC=Hp(),Zp=FC("%Object.defineProperty%",!0),EC=Kp()(),RC=ei(),wC=Yr(),ni=EC?Symbol.toStringTag:null;Yp.exports=function(t,s){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,r=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof r<"u"&&typeof r!="boolean")throw new wC("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");ni&&(n||!RC(t,ni))&&(Zp?Zp(t,ni,{configurable:!r,enumerable:!1,value:s,writable:!1}):t[ni]=s)}});var Xp=E((u_,Qp)=>{"use strict";Qp.exports=function(e,t){return Object.keys(t).forEach(function(s){e[s]=e[s]||t[s]}),e}});var td=E((l_,ed)=>{"use strict";var Zo=il(),IC=require("util"),Ho=require("path"),TC=require("http"),kC=require("https"),_C=require("url").parse,LC=require("fs"),PC=require("stream").Stream,OC=require("crypto"),Vo=pl(),BC=wl(),MC=Jp(),es=ei(),Ko=Xp();function de(e){if(!(this instanceof de))return new de(e);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],Zo.call(this),e=e||{};for(var t in e)this[t]=e[t]}IC.inherits(de,Zo);de.LINE_BREAK=`\r
|
|
2
|
+
`;de.DEFAULT_CONTENT_TYPE="application/octet-stream";de.prototype.append=function(e,t,s){s=s||{},typeof s=="string"&&(s={filename:s});var n=Zo.prototype.append.bind(this);if((typeof t=="number"||t==null)&&(t=String(t)),Array.isArray(t)){this._error(new Error("Arrays are not supported."));return}var r=this._multiPartHeader(e,t,s),i=this._multiPartFooter();n(r),n(t),n(i),this._trackLength(r,t,s)};de.prototype._trackLength=function(e,t,s){var n=0;s.knownLength!=null?n+=Number(s.knownLength):Buffer.isBuffer(t)?n=t.length:typeof t=="string"&&(n=Buffer.byteLength(t)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(e)+de.LINE_BREAK.length,!(!t||!t.path&&!(t.readable&&es(t,"httpVersion"))&&!(t instanceof PC))&&(s.knownLength||this._valuesToMeasure.push(t))};de.prototype._lengthRetriever=function(e,t){es(e,"fd")?e.end!=null&&e.end!=1/0&&e.start!=null?t(null,e.end+1-(e.start?e.start:0)):LC.stat(e.path,function(s,n){if(s){t(s);return}var r=n.size-(e.start?e.start:0);t(null,r)}):es(e,"httpVersion")?t(null,Number(e.headers["content-length"])):es(e,"httpModule")?(e.on("response",function(s){e.pause(),t(null,Number(s.headers["content-length"]))}),e.resume()):t("Unknown stream")};de.prototype._multiPartHeader=function(e,t,s){if(typeof s.header=="string")return s.header;var n=this._getContentDisposition(t,s),r=this._getContentType(t,s),i="",o={"Content-Disposition":["form-data",'name="'+e+'"'].concat(n||[]),"Content-Type":[].concat(r||[])};typeof s.header=="object"&&Ko(o,s.header);var a;for(var c in o)if(es(o,c)){if(a=o[c],a==null)continue;Array.isArray(a)||(a=[a]),a.length&&(i+=c+": "+a.join("; ")+de.LINE_BREAK)}return"--"+this.getBoundary()+de.LINE_BREAK+i+de.LINE_BREAK};de.prototype._getContentDisposition=function(e,t){var s;if(typeof t.filepath=="string"?s=Ho.normalize(t.filepath).replace(/\\/g,"/"):t.filename||e&&(e.name||e.path)?s=Ho.basename(t.filename||e&&(e.name||e.path)):e&&e.readable&&es(e,"httpVersion")&&(s=Ho.basename(e.client._httpMessage.path||"")),s)return'filename="'+s+'"'};de.prototype._getContentType=function(e,t){var s=t.contentType;return!s&&e&&e.name&&(s=Vo.lookup(e.name)),!s&&e&&e.path&&(s=Vo.lookup(e.path)),!s&&e&&e.readable&&es(e,"httpVersion")&&(s=e.headers["content-type"]),!s&&(t.filepath||t.filename)&&(s=Vo.lookup(t.filepath||t.filename)),!s&&e&&typeof e=="object"&&(s=de.DEFAULT_CONTENT_TYPE),s};de.prototype._multiPartFooter=function(){return function(e){var t=de.LINE_BREAK,s=this._streams.length===0;s&&(t+=this._lastBoundary()),e(t)}.bind(this)};de.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+de.LINE_BREAK};de.prototype.getHeaders=function(e){var t,s={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(t in e)es(e,t)&&(s[t.toLowerCase()]=e[t]);return s};de.prototype.setBoundary=function(e){if(typeof e!="string")throw new TypeError("FormData boundary must be a string");this._boundary=e};de.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};de.prototype.getBuffer=function(){for(var e=new Buffer.alloc(0),t=this.getBoundary(),s=0,n=this._streams.length;s<n;s++)typeof this._streams[s]!="function"&&(Buffer.isBuffer(this._streams[s])?e=Buffer.concat([e,this._streams[s]]):e=Buffer.concat([e,Buffer.from(this._streams[s])]),(typeof this._streams[s]!="string"||this._streams[s].substring(2,t.length+2)!==t)&&(e=Buffer.concat([e,Buffer.from(de.LINE_BREAK)])));return Buffer.concat([e,Buffer.from(this._lastBoundary())])};de.prototype._generateBoundary=function(){this._boundary="--------------------------"+OC.randomBytes(12).toString("hex")};de.prototype.getLengthSync=function(){var e=this._overheadLength+this._valueLength;return this._streams.length&&(e+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),e};de.prototype.hasKnownLength=function(){var e=!0;return this._valuesToMeasure.length&&(e=!1),e};de.prototype.getLength=function(e){var t=this._overheadLength+this._valueLength;if(this._streams.length&&(t+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(e.bind(this,null,t));return}BC.parallel(this._valuesToMeasure,this._lengthRetriever,function(s,n){if(s){e(s);return}n.forEach(function(r){t+=r}),e(null,t)})};de.prototype.submit=function(e,t){var s,n,r={method:"post"};return typeof e=="string"?(e=_C(e),n=Ko({port:e.port,path:e.pathname,host:e.hostname,protocol:e.protocol},r)):(n=Ko(e,r),n.port||(n.port=n.protocol==="https:"?443:80)),n.headers=this.getHeaders(e.headers),n.protocol==="https:"?s=kC.request(n):s=TC.request(n),this.getLength(function(i,o){if(i&&i!=="Unknown stream"){this._error(i);return}if(o&&s.setHeader("Content-Length",o),this.pipe(s),t){var a,c=function(u,l){return s.removeListener("error",c),s.removeListener("response",a),t.call(this,u,l)};a=c.bind(this,null),s.on("error",c),s.on("response",a)}}.bind(this)),s};de.prototype._error=function(e){this.error||(this.error=e,this.pause(),this.emit("error",e))};de.prototype.toString=function(){return"[object FormData]"};MC(de.prototype,"FormData");ed.exports=de});var bd=E(Dd=>{"use strict";var tx=require("url").parse,sx={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},nx=String.prototype.endsWith||function(e){return e.length<=this.length&&this.indexOf(e,this.length-e.length)!==-1};function rx(e){var t=typeof e=="string"?tx(e):e||{},s=t.protocol,n=t.host,r=t.port;if(typeof n!="string"||!n||typeof s!="string"||(s=s.split(":",1)[0],n=n.replace(/:\d*$/,""),r=parseInt(r)||sx[s]||0,!ix(n,r)))return"";var i=pn("npm_config_"+s+"_proxy")||pn(s+"_proxy")||pn("npm_config_proxy")||pn("all_proxy");return i&&i.indexOf("://")===-1&&(i=s+"://"+i),i}function ix(e,t){var s=(pn("npm_config_no_proxy")||pn("no_proxy")).toLowerCase();return s?s==="*"?!1:s.split(/[,\s]/).every(function(n){if(!n)return!0;var r=n.match(/^(.+):(\d+)$/),i=r?r[1]:n,o=r?parseInt(r[2]):0;return o&&o!==t?!0:/^[.*]/.test(i)?(i.charAt(0)==="*"&&(i=i.slice(1)),!nx.call(e,i)):e!==i}):!0}function pn(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}Dd.getProxyForUrl=rx});var Sd=E((pL,vd)=>{var dn=1e3,mn=dn*60,fn=mn*60,bs=fn*24,ox=bs*7,ax=bs*365.25;vd.exports=function(e,t){t=t||{};var s=typeof e;if(s==="string"&&e.length>0)return cx(e);if(s==="number"&&isFinite(e))return t.long?lx(e):ux(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function cx(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var s=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return s*ax;case"weeks":case"week":case"w":return s*ox;case"days":case"day":case"d":return s*bs;case"hours":case"hour":case"hrs":case"hr":case"h":return s*fn;case"minutes":case"minute":case"mins":case"min":case"m":return s*mn;case"seconds":case"second":case"secs":case"sec":case"s":return s*dn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}function ux(e){var t=Math.abs(e);return t>=bs?Math.round(e/bs)+"d":t>=fn?Math.round(e/fn)+"h":t>=mn?Math.round(e/mn)+"m":t>=dn?Math.round(e/dn)+"s":e+"ms"}function lx(e){var t=Math.abs(e);return t>=bs?ai(e,t,bs,"day"):t>=fn?ai(e,t,fn,"hour"):t>=mn?ai(e,t,mn,"minute"):t>=dn?ai(e,t,dn,"second"):e+" ms"}function ai(e,t,s,n){var r=t>=s*1.5;return Math.round(e/s)+" "+n+(r?"s":"")}});var ca=E((dL,Cd)=>{function px(e){s.debug=s,s.default=s,s.coerce=c,s.disable=o,s.enable=r,s.enabled=a,s.humanize=Sd(),s.destroy=u,Object.keys(e).forEach(l=>{s[l]=e[l]}),s.names=[],s.skips=[],s.formatters={};function t(l){let p=0;for(let d=0;d<l.length;d++)p=(p<<5)-p+l.charCodeAt(d),p|=0;return s.colors[Math.abs(p)%s.colors.length]}s.selectColor=t;function s(l){let p,d=null,f,m;function g(...h){if(!g.enabled)return;let y=g,D=Number(new Date),S=D-(p||D);y.diff=S,y.prev=p,y.curr=D,p=D,h[0]=s.coerce(h[0]),typeof h[0]!="string"&&h.unshift("%O");let v=0;h[0]=h[0].replace(/%([a-zA-Z%])/g,(k,_)=>{if(k==="%%")return"%";v++;let x=s.formatters[_];if(typeof x=="function"){let $=h[v];k=x.call(y,$),h.splice(v,1),v--}return k}),s.formatArgs.call(y,h),(y.log||s.log).apply(y,h)}return g.namespace=l,g.useColors=s.useColors(),g.color=s.selectColor(l),g.extend=n,g.destroy=s.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(f!==s.namespaces&&(f=s.namespaces,m=s.enabled(l)),m),set:h=>{d=h}}),typeof s.init=="function"&&s.init(g),g}function n(l,p){let d=s(this.namespace+(typeof p>"u"?":":p)+l);return d.log=this.log,d}function r(l){s.save(l),s.namespaces=l,s.names=[],s.skips=[];let p=(typeof l=="string"?l:"").trim().replace(" ",",").split(",").filter(Boolean);for(let d of p)d[0]==="-"?s.skips.push(d.slice(1)):s.names.push(d)}function i(l,p){let d=0,f=0,m=-1,g=0;for(;d<l.length;)if(f<p.length&&(p[f]===l[d]||p[f]==="*"))p[f]==="*"?(m=f,g=d,f++):(d++,f++);else if(m!==-1)f=m+1,g++,d=g;else return!1;for(;f<p.length&&p[f]==="*";)f++;return f===p.length}function o(){let l=[...s.names,...s.skips.map(p=>"-"+p)].join(",");return s.enable(""),l}function a(l){for(let p of s.skips)if(i(l,p))return!1;for(let p of s.names)if(i(l,p))return!0;return!1}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){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 s.enable(s.load()),s}Cd.exports=px});var xd=E((rt,ci)=>{rt.formatArgs=mx;rt.save=fx;rt.load=gx;rt.useColors=dx;rt.storage=hx();rt.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})();rt.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 dx(){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 e;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&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function mx(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+ci.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let s=0,n=0;e[0].replace(/%[a-zA-Z%]/g,r=>{r!=="%%"&&(s++,r==="%c"&&(n=s))}),e.splice(n,0,t)}rt.log=console.debug||console.log||(()=>{});function fx(e){try{e?rt.storage.setItem("debug",e):rt.storage.removeItem("debug")}catch{}}function gx(){let e;try{e=rt.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function hx(){try{return localStorage}catch{}}ci.exports=ca()(rt);var{formatters:yx}=ci.exports;yx.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Fd=E((mL,Ad)=>{"use strict";Ad.exports=(e,t=process.argv)=>{let s=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(s+e),r=t.indexOf("--");return n!==-1&&(r===-1||n<r)}});var wd=E((fL,Rd)=>{"use strict";var Dx=require("os"),Ed=require("tty"),pt=Fd(),{env:Me}=process,ss;pt("no-color")||pt("no-colors")||pt("color=false")||pt("color=never")?ss=0:(pt("color")||pt("colors")||pt("color=true")||pt("color=always"))&&(ss=1);"FORCE_COLOR"in Me&&(Me.FORCE_COLOR==="true"?ss=1:Me.FORCE_COLOR==="false"?ss=0:ss=Me.FORCE_COLOR.length===0?1:Math.min(parseInt(Me.FORCE_COLOR,10),3));function ua(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function la(e,t){if(ss===0)return 0;if(pt("color=16m")||pt("color=full")||pt("color=truecolor"))return 3;if(pt("color=256"))return 2;if(e&&!t&&ss===void 0)return 0;let s=ss||0;if(Me.TERM==="dumb")return s;if(process.platform==="win32"){let n=Dx.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Me)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Me)||Me.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in Me)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Me.TEAMCITY_VERSION)?1:0;if(Me.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Me){let n=parseInt((Me.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Me.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Me.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Me.TERM)||"COLORTERM"in Me?1:s}function bx(e){let t=la(e,e&&e.isTTY);return ua(t)}Rd.exports={supportsColor:bx,stdout:ua(la(!0,Ed.isatty(1))),stderr:ua(la(!0,Ed.isatty(2)))}});var Td=E((Ne,li)=>{var vx=require("tty"),ui=require("util");Ne.init=Rx;Ne.log=Ax;Ne.formatArgs=Cx;Ne.save=Fx;Ne.load=Ex;Ne.useColors=Sx;Ne.destroy=ui.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ne.colors=[6,2,3,4,5,1];try{let e=wd();e&&(e.stderr||e).level>=2&&(Ne.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{}Ne.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let s=t.substring(6).toLowerCase().replace(/_([a-z])/g,(r,i)=>i.toUpperCase()),n=process.env[t];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),e[s]=n,e},{});function Sx(){return"colors"in Ne.inspectOpts?!!Ne.inspectOpts.colors:vx.isatty(process.stderr.fd)}function Cx(e){let{namespace:t,useColors:s}=this;if(s){let n=this.color,r="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${r};1m${t} \x1B[0m`;e[0]=i+e[0].split(`
|
|
3
3
|
`).join(`
|
|
4
|
-
`+i),e.push(r+"m+"+
|
|
5
|
-
`)}function
|
|
6
|
-
`).map(t=>t.trim()).join(" ")};hd.O=function(e){return this.inspectOpts.colors=this.useColors,ei.inspect(e,this.inspectOpts)}});var Dd=w((b_,Xo)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Xo.exports=ld():Xo.exports=yd()});var vd=w((v_,bd)=>{var Vn;bd.exports=function(){if(!Vn){try{Vn=Dd()("follow-redirects")}catch{}typeof Vn!="function"&&(Vn=function(){})}Vn.apply(null,arguments)}});var Ad=w((C_,pa)=>{var Zn=require("url"),Kn=Zn.URL,zS=require("http"),HS=require("https"),ra=require("stream").Writable,ia=require("assert"),Cd=vd();(function(){var t=typeof process<"u",s=typeof window<"u"&&typeof document<"u",n=ms(Error.captureStackTrace);!t&&(s||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var oa=!1;try{ia(new Kn(""))}catch(e){oa=e.code==="ERR_INVALID_URL"}var VS=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],aa=["abort","aborted","connect","error","socket","timeout"],ca=Object.create(null);aa.forEach(function(e){ca[e]=function(t,s,n){this._redirectable.emit(e,t,s,n)}});var ta=Jn("ERR_INVALID_URL","Invalid URL",TypeError),sa=Jn("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),KS=Jn("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",sa),ZS=Jn("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),JS=Jn("ERR_STREAM_WRITE_AFTER_END","write after end"),YS=ra.prototype.destroy||xd;function He(e,t){ra.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],t&&this.on("response",t);var s=this;this._onNativeResponse=function(n){try{s._processResponse(n)}catch(r){s.emit("error",r instanceof sa?r:new sa({cause:r}))}},this._performRequest()}He.prototype=Object.create(ra.prototype);He.prototype.abort=function(){la(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};He.prototype.destroy=function(e){return la(this._currentRequest,e),YS.call(this,e),this};He.prototype.write=function(e,t,s){if(this._ending)throw new JS;if(!ds(e)&&!ex(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(ms(t)&&(s=t,t=null),e.length===0){s&&s();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:t}),this._currentRequest.write(e,t,s)):(this.emit("error",new ZS),this.abort())};He.prototype.end=function(e,t,s){if(ms(e)?(s=e,e=t=null):ms(t)&&(s=t,t=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,s);else{var n=this,r=this._currentRequest;this.write(e,t,function(){n._ended=!0,r.end(null,null,s)}),this._ending=!0}};He.prototype.setHeader=function(e,t){this._options.headers[e]=t,this._currentRequest.setHeader(e,t)};He.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};He.prototype.setTimeout=function(e,t){var s=this;function n(o){o.setTimeout(e),o.removeListener("timeout",o.destroy),o.addListener("timeout",o.destroy)}function r(o){s._timeout&&clearTimeout(s._timeout),s._timeout=setTimeout(function(){s.emit("timeout"),i()},e),n(o)}function i(){s._timeout&&(clearTimeout(s._timeout),s._timeout=null),s.removeListener("abort",i),s.removeListener("error",i),s.removeListener("response",i),s.removeListener("close",i),t&&s.removeListener("timeout",t),s.socket||s._currentRequest.removeListener("socket",r)}return t&&this.on("timeout",t),this.socket?r(this.socket):this._currentRequest.once("socket",r),this.on("socket",n),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){He.prototype[e]=function(t,s){return this._currentRequest[e](t,s)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(He.prototype,e,{get:function(){return this._currentRequest[e]}})});He.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var t=e.path.indexOf("?");t<0?e.pathname=e.path:(e.pathname=e.path.substring(0,t),e.search=e.path.substring(t))}};He.prototype._performRequest=function(){var e=this._options.protocol,t=this._options.nativeProtocols[e];if(!t)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var s=e.slice(0,-1);this._options.agent=this._options.agents[s]}var n=this._currentRequest=t.request(this._options,this._onNativeResponse);n._redirectable=this;for(var r of aa)n.on(r,ca[r]);if(this._currentUrl=/^\//.test(this._options.path)?Zn.format(this._options):this._options.path,this._isRedirect){var i=0,o=this,a=this._requestBodyBuffers;(function c(u){if(n===o._currentRequest)if(u)o.emit("error",u);else if(i<a.length){var l=a[i++];n.finished||n.write(l.data,l.encoding,c)}else o._ended&&n.end()})()}};He.prototype._processResponse=function(e){var t=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:t});var s=e.headers.location;if(!s||this._options.followRedirects===!1||t<300||t>=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(la(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new KS;var n,r=this._options.beforeRedirect;r&&(n=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var i=this._options.method;((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],ea(/^content-/i,this._options.headers));var o=ea(/^host$/i,this._options.headers),a=ua(this._currentUrl),c=o||a.host,u=/^\w+:/.test(s)?this._currentUrl:Zn.format(Object.assign(a,{host:c})),l=QS(s,u);if(Cd("redirecting to",l.href),this._isRedirect=!0,na(l,this._options),(l.protocol!==a.protocol&&l.protocol!=="https:"||l.host!==c&&!XS(l.host,c))&&ea(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),ms(r)){var p={headers:e.headers,statusCode:t},m={url:u,method:i,headers:n};r(this._options,p,m),this._sanitizeOptions(this._options)}this._performRequest()};function Sd(e){var t={maxRedirects:21,maxBodyLength:10485760},s={};return Object.keys(e).forEach(function(n){var r=n+":",i=s[r]=e[n],o=t[n]=Object.create(i);function a(u,l,p){return tx(u)?u=na(u):ds(u)?u=na(ua(u)):(p=l,l=Fd(u),u={protocol:r}),ms(l)&&(p=l,l=null),l=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},u,l),l.nativeProtocols=s,!ds(l.host)&&!ds(l.hostname)&&(l.hostname="::1"),ia.equal(l.protocol,r,"protocol mismatch"),Cd("options",l),new He(l,p)}function c(u,l,p){var m=o.request(u,l,p);return m.end(),m}Object.defineProperties(o,{request:{value:a,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),t}function xd(){}function ua(e){var t;if(oa)t=new Kn(e);else if(t=Fd(Zn.parse(e)),!ds(t.protocol))throw new ta({input:e});return t}function QS(e,t){return oa?new Kn(e,t):ua(Zn.resolve(t,e))}function Fd(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new ta({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new ta({input:e.href||e});return e}function na(e,t){var s=t||{};for(var n of VS)s[n]=e[n];return s.hostname.startsWith("[")&&(s.hostname=s.hostname.slice(1,-1)),s.port!==""&&(s.port=Number(s.port)),s.path=s.search?s.pathname+s.search:s.pathname,s}function ea(e,t){var s;for(var n in t)e.test(n)&&(s=t[n],delete t[n]);return s===null||typeof s>"u"?void 0:String(s).trim()}function Jn(e,t,s){function n(r){ms(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,r||{}),this.code=e,this.message=this.cause?t+": "+this.cause.message:t}return n.prototype=new(s||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),n}function la(e,t){for(var s of aa)e.removeListener(s,ca[s]);e.on("error",xd),e.destroy(t)}function XS(e,t){ia(ds(e)&&ds(t));var s=e.length-t.length-1;return s>0&&e[s]==="."&&e.endsWith(t)}function ds(e){return typeof e=="string"||e instanceof String}function ms(e){return typeof e=="function"}function ex(e){return typeof e=="object"&&"length"in e}function tx(e){return Kn&&e instanceof Kn}pa.exports=Sd({http:zS,https:HS});pa.exports.wrap=Sd});var _a=w(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.createJsonFormatter=void 0;var r0=e=>{switch(e){case 0:return"DEBUG";case 1:return"INFO";case 2:return"WARN";case 3:return"ERROR";case 4:return"FATAL";default:return"UNKNOWN"}},i0=()=>({format:e=>JSON.stringify({timestamp:e.timestamp,level:r0(e.level),message:e.message,...e.context,...e.error&&{error:{name:e.error.name,message:e.error.message,stack:e.error.stack}},...e.metadata&&{metadata:e.metadata}})});li.createJsonFormatter=i0});var bt=w(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.LogLevel=void 0;var tg;(function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.FATAL=4]="FATAL"})(tg||(pi.LogLevel=tg={}))});var Mt=w(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.shouldLog=ln.BaseTransport=void 0;var o0=bt(),Pa=class{constructor(){this.level=o0.LogLevel.INFO}setLevel(t){this.level=t}getLevel(){return this.level}shouldLog(t){return t>=this.level}};ln.BaseTransport=Pa;var a0=(e,t)=>e>=t;ln.shouldLog=a0});var mi=w(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.createConsoleTransport=void 0;var pn=bt(),c0=Mt(),u0=(e={})=>{let t=e.level??pn.LogLevel.INFO,s=e.formatter||{format:n=>JSON.stringify(n)};return{log:n=>{if(!(0,c0.shouldLog)(n.level,t))return;let r=s.format(n);switch(n.level){case pn.LogLevel.DEBUG:console.debug(r);break;case pn.LogLevel.INFO:console.info(r);break;case pn.LogLevel.WARN:console.warn(r);break;case pn.LogLevel.ERROR:case pn.LogLevel.FATAL:console.error(r);break}},setLevel:n=>{t=n},getLevel:()=>t}};di.createConsoleTransport=u0});var La=w(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.createBatchedLogger=ys.createBatchedTransport=void 0;var l0=(e,t={maxSize:100,maxWaitTime:5e3,maxBatchSize:1024*1024})=>{let s={logs:[],currentSize:0,lastFlush:Date.now()},n={totalLogs:0,totalBatches:0,averageBatchSize:0,lastFlushTime:0,pendingLogs:0},r=p=>p.reduce((m,d)=>m+JSON.stringify(d).length,0),i=async()=>{if(s.logs.length===0)return;let p=[...s.logs];s.logs=[],s.currentSize=0,s.lastFlush=Date.now(),s.flushTimer&&(clearTimeout(s.flushTimer),s.flushTimer=void 0);try{await Promise.allSettled(p.map(m=>e.log(m))),n.totalLogs+=p.length,n.totalBatches+=1,n.averageBatchSize=n.totalLogs/n.totalBatches,n.lastFlushTime=Date.now(),n.pendingLogs=s.logs.length}catch(m){console.error("Batch flush failed:",m),s.logs.unshift(...p),s.currentSize=r(s.logs)}},o=()=>{s.flushTimer||(s.flushTimer=setTimeout(()=>{i().catch(console.error)},t.maxWaitTime))};return{log:async p=>{let m=JSON.stringify(p).length;(s.logs.length>=t.maxSize||s.currentSize+m>=t.maxBatchSize)&&await i(),s.logs.push(p),s.currentSize+=m,n.pendingLogs=s.logs.length,s.logs.length===1&&o()},setLevel:p=>{e.setLevel(p)},getLevel:()=>e.getLevel(),flush:i,getStats:()=>({...n,pendingLogs:s.logs.length})}};ys.createBatchedTransport=l0;var p0=(e,t={maxSize:50,maxWaitTime:2e3,maxBatchSize:512*1024})=>{let s=e.map(c=>(0,ys.createBatchedTransport)(c,t));return{log:async c=>{await Promise.allSettled(s.map(u=>u.log(c)))},setLevel:c=>{for(let u of s)u.setLevel(c)},getLevel:()=>Math.min(...s.map(c=>c.getLevel())),flush:async()=>{await Promise.allSettled(s.map(c=>c.flush()))},getStats:()=>s.map(c=>c.getStats())}};ys.createBatchedLogger=p0});var Oa=w(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.createDefaultEnrichmentMiddleware=ue.createEnrichmentMiddleware=ue.createLoggerInstanceEnricher=ue.createUserEnricher=ue.createEnvironmentEnricher=ue.createSessionEnricher=ue.createCorrelationEnricher=ue.generateLoggerInstanceId=ue.generateSpanId=ue.generateTraceId=ue.generateCorrelationId=void 0;var d0=()=>`corr_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;ue.generateCorrelationId=d0;var m0=()=>Math.random().toString(16).substr(2,32);ue.generateTraceId=m0;var f0=()=>Math.random().toString(16).substr(2,16);ue.generateSpanId=f0;var g0=()=>{let e=Date.now(),t=Math.random().toString(36).substr(2,9),s=process.pid||0;return`logger_${e}_${t}_${s}`};ue.generateLoggerInstanceId=g0;var h0=()=>{let e,t,s;return{name:"correlation",enrich:n=>(n.correlationId||(e=e||(0,ue.generateCorrelationId)(),n.correlationId=e),n.traceId||(t=t||(0,ue.generateTraceId)(),n.traceId=t),n.spanId||(s=s||(0,ue.generateSpanId)(),n.spanId=s),n)}};ue.createCorrelationEnricher=h0;var y0=e=>{let t=e||`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;return{name:"session",enrich:s=>(s.sessionId||(s.sessionId=t),s)}};ue.createSessionEnricher=y0;var D0=(e,t)=>({name:"environment",enrich:s=>(e&&!s.serviceName&&(s.serviceName=e),t&&!s.stage&&(s.stage=t),s)});ue.createEnvironmentEnricher=D0;var b0=e=>({name:"user",enrich:t=>(e&&!t.userId&&(t.userId=e),t)});ue.createUserEnricher=b0;var v0=e=>({name:"loggerInstance",enrich:t=>(t.instanceId||(t.instanceId=e),t)});ue.createLoggerInstanceEnricher=v0;var C0=e=>t=>e.reduce((s,n)=>n.enrich(s),{...t});ue.createEnrichmentMiddleware=C0;var S0=(e,t,s,n)=>{let r=[(0,ue.createCorrelationEnricher)(),(0,ue.createSessionEnricher)(s),(0,ue.createEnvironmentEnricher)(e,t)];return n&&r.push((0,ue.createLoggerInstanceEnricher)(n)),(0,ue.createEnrichmentMiddleware)(r)};ue.createDefaultEnrichmentMiddleware=S0});var ir=w(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.getParsedType=ye.ZodParsedType=ye.objectUtil=ye.util=void 0;var Ba;(function(e){e.assertEqual=r=>{};function t(r){}e.assertIs=t;function s(r){throw new Error}e.assertNever=s,e.arrayToEnum=r=>{let i={};for(let o of r)i[o]=o;return i},e.getValidEnumValues=r=>{let i=e.objectKeys(r).filter(a=>typeof r[r[a]]!="number"),o={};for(let a of i)o[a]=r[a];return e.objectValues(o)},e.objectValues=r=>e.objectKeys(r).map(function(i){return r[i]}),e.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{let i=[];for(let o in r)Object.prototype.hasOwnProperty.call(r,o)&&i.push(o);return i},e.find=(r,i)=>{for(let o of r)if(i(o))return o},e.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&Number.isFinite(r)&&Math.floor(r)===r;function n(r,i=" | "){return r.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}e.joinValues=n,e.jsonStringifyReplacer=(r,i)=>typeof i=="bigint"?i.toString():i})(Ba||(ye.util=Ba={}));var sg;(function(e){e.mergeShapes=(t,s)=>({...t,...s})})(sg||(ye.objectUtil=sg={}));ye.ZodParsedType=Ba.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var x0=e=>{switch(typeof e){case"undefined":return ye.ZodParsedType.undefined;case"string":return ye.ZodParsedType.string;case"number":return Number.isNaN(e)?ye.ZodParsedType.nan:ye.ZodParsedType.number;case"boolean":return ye.ZodParsedType.boolean;case"function":return ye.ZodParsedType.function;case"bigint":return ye.ZodParsedType.bigint;case"symbol":return ye.ZodParsedType.symbol;case"object":return Array.isArray(e)?ye.ZodParsedType.array:e===null?ye.ZodParsedType.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?ye.ZodParsedType.promise:typeof Map<"u"&&e instanceof Map?ye.ZodParsedType.map:typeof Set<"u"&&e instanceof Set?ye.ZodParsedType.set:typeof Date<"u"&&e instanceof Date?ye.ZodParsedType.date:ye.ZodParsedType.object;default:return ye.ZodParsedType.unknown}};ye.getParsedType=x0});var fi=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.ZodError=Jt.quotelessJson=Jt.ZodIssueCode=void 0;var ng=ir();Jt.ZodIssueCode=ng.util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var F0=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");Jt.quotelessJson=F0;var or=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let s=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,s):this.__proto__=s,this.name="ZodError",this.issues=t}format(t){let s=t||function(i){return i.message},n={_errors:[]},r=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(r);else if(o.code==="invalid_return_type")r(o.returnTypeError);else if(o.code==="invalid_arguments")r(o.argumentsError);else if(o.path.length===0)n._errors.push(s(o));else{let a=n,c=0;for(;c<o.path.length;){let u=o.path[c];c===o.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(s(o))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ng.util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=s=>s.message){let s={},n=[];for(let r of this.issues)if(r.path.length>0){let i=r.path[0];s[i]=s[i]||[],s[i].push(t(r))}else n.push(t(r));return{formErrors:n,fieldErrors:s}}get formErrors(){return this.flatten()}};Jt.ZodError=or;or.create=e=>new or(e)});var Ma=w(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});var Me=fi(),Ds=ir(),A0=(e,t)=>{let s;switch(e.code){case Me.ZodIssueCode.invalid_type:e.received===Ds.ZodParsedType.undefined?s="Required":s=`Expected ${e.expected}, received ${e.received}`;break;case Me.ZodIssueCode.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(e.expected,Ds.util.jsonStringifyReplacer)}`;break;case Me.ZodIssueCode.unrecognized_keys:s=`Unrecognized key(s) in object: ${Ds.util.joinValues(e.keys,", ")}`;break;case Me.ZodIssueCode.invalid_union:s="Invalid input";break;case Me.ZodIssueCode.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${Ds.util.joinValues(e.options)}`;break;case Me.ZodIssueCode.invalid_enum_value:s=`Invalid enum value. Expected ${Ds.util.joinValues(e.options)}, received '${e.received}'`;break;case Me.ZodIssueCode.invalid_arguments:s="Invalid function arguments";break;case Me.ZodIssueCode.invalid_return_type:s="Invalid function return type";break;case Me.ZodIssueCode.invalid_date:s="Invalid date";break;case Me.ZodIssueCode.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(s=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(s=`${s} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?s=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?s=`Invalid input: must end with "${e.validation.endsWith}"`:Ds.util.assertNever(e.validation):e.validation!=="regex"?s=`Invalid ${e.validation}`:s="Invalid";break;case Me.ZodIssueCode.too_small:e.type==="array"?s=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?s=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?s=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?s=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?s=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:s="Invalid input";break;case Me.ZodIssueCode.too_big:e.type==="array"?s=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?s=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?s=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?s=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?s=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:s="Invalid input";break;case Me.ZodIssueCode.custom:s="Invalid input";break;case Me.ZodIssueCode.invalid_intersection_types:s="Intersection results could not be merged";break;case Me.ZodIssueCode.not_multiple_of:s=`Number must be a multiple of ${e.multipleOf}`;break;case Me.ZodIssueCode.not_finite:s="Number must be finite";break;default:s=t.defaultError,Ds.util.assertNever(e)}return{message:s}};Na.default=A0});var gi=w(Yt=>{"use strict";var E0=Yt&&Yt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Yt,"__esModule",{value:!0});Yt.defaultErrorMap=void 0;Yt.setErrorMap=w0;Yt.getErrorMap=R0;var rg=E0(Ma());Yt.defaultErrorMap=rg.default;var ig=rg.default;function w0(e){ig=e}function R0(){return ig}});var ja=w(fe=>{"use strict";var T0=fe&&fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(fe,"__esModule",{value:!0});fe.isAsync=fe.isValid=fe.isDirty=fe.isAborted=fe.OK=fe.DIRTY=fe.INVALID=fe.ParseStatus=fe.EMPTY_PATH=fe.makeIssue=void 0;fe.addIssueToContext=_0;var I0=gi(),og=T0(Ma()),k0=e=>{let{data:t,path:s,errorMaps:n,issueData:r}=e,i=[...s,...r.path||[]],o={...r,path:i};if(r.message!==void 0)return{...r,path:i,message:r.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(o,{data:t,defaultError:a}).message;return{...r,path:i,message:a}};fe.makeIssue=k0;fe.EMPTY_PATH=[];function _0(e,t){let s=(0,I0.getErrorMap)(),n=(0,fe.makeIssue)({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,s,s===og.default?void 0:og.default].filter(r=>!!r)});e.common.issues.push(n)}var Wa=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,s){let n=[];for(let r of s){if(r.status==="aborted")return fe.INVALID;r.status==="dirty"&&t.dirty(),n.push(r.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,s){let n=[];for(let r of s){let i=await r.key,o=await r.value;n.push({key:i,value:o})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,s){let n={};for(let r of s){let{key:i,value:o}=r;if(i.status==="aborted"||o.status==="aborted")return fe.INVALID;i.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||r.alwaysSet)&&(n[i.value]=o.value)}return{status:t.value,value:n}}};fe.ParseStatus=Wa;fe.INVALID=Object.freeze({status:"aborted"});var P0=e=>({status:"dirty",value:e});fe.DIRTY=P0;var L0=e=>({status:"valid",value:e});fe.OK=L0;var O0=e=>e.status==="aborted";fe.isAborted=O0;var B0=e=>e.status==="dirty";fe.isDirty=B0;var N0=e=>e.status==="valid";fe.isValid=N0;var M0=e=>typeof Promise<"u"&&e instanceof Promise;fe.isAsync=M0});var cg=w(ag=>{"use strict";Object.defineProperty(ag,"__esModule",{value:!0})});var lg=w(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.errorUtil=void 0;var ug;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ug||(hi.errorUtil=ug={}))});var Sg=w(C=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.discriminatedUnion=C.date=C.boolean=C.bigint=C.array=C.any=C.coerce=C.ZodFirstPartyTypeKind=C.late=C.ZodSchema=C.Schema=C.ZodReadonly=C.ZodPipeline=C.ZodBranded=C.BRAND=C.ZodNaN=C.ZodCatch=C.ZodDefault=C.ZodNullable=C.ZodOptional=C.ZodTransformer=C.ZodEffects=C.ZodPromise=C.ZodNativeEnum=C.ZodEnum=C.ZodLiteral=C.ZodLazy=C.ZodFunction=C.ZodSet=C.ZodMap=C.ZodRecord=C.ZodTuple=C.ZodIntersection=C.ZodDiscriminatedUnion=C.ZodUnion=C.ZodObject=C.ZodArray=C.ZodVoid=C.ZodNever=C.ZodUnknown=C.ZodAny=C.ZodNull=C.ZodUndefined=C.ZodSymbol=C.ZodDate=C.ZodBoolean=C.ZodBigInt=C.ZodNumber=C.ZodString=C.ZodType=void 0;C.NEVER=C.void=C.unknown=C.union=C.undefined=C.tuple=C.transformer=C.symbol=C.string=C.strictObject=C.set=C.record=C.promise=C.preprocess=C.pipeline=C.ostring=C.optional=C.onumber=C.oboolean=C.object=C.number=C.nullable=C.null=C.never=C.nativeEnum=C.nan=C.map=C.literal=C.lazy=C.intersection=C.instanceof=C.function=C.enum=C.effect=void 0;C.datetimeRegex=gg;C.custom=yg;var L=fi(),yi=gi(),$=lg(),S=ja(),O=ir(),at=class{constructor(t,s,n,r){this._cachedPath=[],this.parent=t,this.data=s,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},pg=(e,t)=>{if((0,S.isValid)(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let s=new L.ZodError(e.common.issues);return this._error=s,this._error}}};function X(e){if(!e)return{};let{errorMap:t,invalid_type_error:s,required_error:n,description:r}=e;if(t&&(s||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:r}:{errorMap:(o,a)=>{let{message:c}=e;return o.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:c??s??a.defaultError}},description:r}}var ee=class{get description(){return this._def.description}_getType(t){return(0,O.getParsedType)(t.data)}_getOrReturnCtx(t,s){return s||{common:t.parent.common,data:t.data,parsedType:(0,O.getParsedType)(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new S.ParseStatus,ctx:{common:t.parent.common,data:t.data,parsedType:(0,O.getParsedType)(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let s=this._parse(t);if((0,S.isAsync)(s))throw new Error("Synchronous parse encountered promise.");return s}_parseAsync(t){let s=this._parse(t);return Promise.resolve(s)}parse(t,s){let n=this.safeParse(t,s);if(n.success)return n.data;throw n.error}safeParse(t,s){let n={common:{issues:[],async:s?.async??!1,contextualErrorMap:s?.errorMap},path:s?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:(0,O.getParsedType)(t)},r=this._parseSync({data:t,path:n.path,parent:n});return pg(n,r)}"~validate"(t){let s={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:(0,O.getParsedType)(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:s});return(0,S.isValid)(n)?{value:n.value}:{issues:s.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),s.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:s}).then(n=>(0,S.isValid)(n)?{value:n.value}:{issues:s.common.issues})}async parseAsync(t,s){let n=await this.safeParseAsync(t,s);if(n.success)return n.data;throw n.error}async safeParseAsync(t,s){let n={common:{issues:[],contextualErrorMap:s?.errorMap,async:!0},path:s?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:(0,O.getParsedType)(t)},r=this._parse({data:t,path:n.path,parent:n}),i=await((0,S.isAsync)(r)?r:Promise.resolve(r));return pg(n,i)}refine(t,s){let n=r=>typeof s=="string"||typeof s>"u"?{message:s}:typeof s=="function"?s(r):s;return this._refinement((r,i)=>{let o=t(r),a=()=>i.addIssue({code:L.ZodIssueCode.custom,...n(r)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,s){return this._refinement((n,r)=>t(n)?!0:(r.addIssue(typeof s=="function"?s(n,r):s),!1))}_refinement(t){return new Xe({schema:this,typeName:K.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:s=>this["~validate"](s)}}optional(){return ot.create(this,this._def)}nullable(){return It.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return $t.create(this)}promise(){return es.create(this,this._def)}or(t){return As.create([this,t],this._def)}and(t){return Es.create(this,t,this._def)}transform(t){return new Xe({...X(this._def),schema:this,typeName:K.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let s=typeof t=="function"?t:()=>t;return new ks({...X(this._def),innerType:this,defaultValue:s,typeName:K.ZodDefault})}brand(){return new ar({typeName:K.ZodBranded,type:this,...X(this._def)})}catch(t){let s=typeof t=="function"?t:()=>t;return new _s({...X(this._def),innerType:this,catchValue:s,typeName:K.ZodCatch})}describe(t){let s=this.constructor;return new s({...this._def,description:t})}pipe(t){return cr.create(this,t)}readonly(){return Ps.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};C.ZodType=ee;C.Schema=ee;C.ZodSchema=ee;var W0=/^c[^\s-]{8,}$/i,j0=/^[0-9a-z]+$/,$0=/^[0-9A-HJKMNP-TV-Z]{26}$/i,U0=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,G0=/^[a-z0-9_-]{21}$/i,q0=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,z0=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,H0=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,V0="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",$a,K0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Z0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,J0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Y0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Q0=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,X0=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,mg="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",eF=new RegExp(`^${mg}$`);function fg(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let s=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${s}`}function tF(e){return new RegExp(`^${fg(e)}$`)}function gg(e){let t=`${mg}T${fg(e)}`,s=[];return s.push(e.local?"Z?":"Z"),e.offset&&s.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${s.join("|")})`,new RegExp(`^${t}$`)}function sF(e,t){return!!((t==="v4"||!t)&&K0.test(e)||(t==="v6"||!t)&&J0.test(e))}function nF(e,t){if(!q0.test(e))return!1;try{let[s]=e.split(".");if(!s)return!1;let n=s.replace(/-/g,"+").replace(/_/g,"/").padEnd(s.length+(4-s.length%4)%4,"="),r=JSON.parse(atob(n));return!(typeof r!="object"||r===null||"typ"in r&&r?.typ!=="JWT"||!r.alg||t&&r.alg!==t)}catch{return!1}}function rF(e,t){return!!((t==="v4"||!t)&&Z0.test(e)||(t==="v6"||!t)&&Y0.test(e))}var Qt=class e extends ee{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==O.ZodParsedType.string){let i=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(i,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.string,received:i.parsedType}),S.INVALID}let n=new S.ParseStatus,r;for(let i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")t.data.length>i.value&&(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let o=t.data.length>i.value,a=t.data.length<i.value;(o||a)&&(r=this._getOrReturnCtx(t,r),o?(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")H0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"email",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")$a||($a=new RegExp(V0,"u")),$a.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"emoji",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")U0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"uuid",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="nanoid")G0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"nanoid",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")W0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"cuid",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")j0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"cuid2",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")$0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"ulid",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"url",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"regex",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?gg(i).test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="date"?eF.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?tF(i).test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.invalid_string,validation:"time",message:i.message}),n.dirty()):i.kind==="duration"?z0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"duration",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?sF(t.data,i.version)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"ip",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="jwt"?nF(t.data,i.alg)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"jwt",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="cidr"?rF(t.data,i.version)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"cidr",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="base64"?Q0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"base64",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?X0.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{validation:"base64url",code:L.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):O.util.assertNever(i);return{status:n.value,value:t.data}}_regex(t,s,n){return this.refinement(r=>t.test(r),{validation:s,code:L.ZodIssueCode.invalid_string,...$.errorUtil.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...$.errorUtil.errToObj(t)})}url(t){return this._addCheck({kind:"url",...$.errorUtil.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...$.errorUtil.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...$.errorUtil.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...$.errorUtil.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...$.errorUtil.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...$.errorUtil.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...$.errorUtil.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...$.errorUtil.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...$.errorUtil.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...$.errorUtil.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...$.errorUtil.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...$.errorUtil.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...$.errorUtil.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...$.errorUtil.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...$.errorUtil.errToObj(t)})}regex(t,s){return this._addCheck({kind:"regex",regex:t,...$.errorUtil.errToObj(s)})}includes(t,s){return this._addCheck({kind:"includes",value:t,position:s?.position,...$.errorUtil.errToObj(s?.message)})}startsWith(t,s){return this._addCheck({kind:"startsWith",value:t,...$.errorUtil.errToObj(s)})}endsWith(t,s){return this._addCheck({kind:"endsWith",value:t,...$.errorUtil.errToObj(s)})}min(t,s){return this._addCheck({kind:"min",value:t,...$.errorUtil.errToObj(s)})}max(t,s){return this._addCheck({kind:"max",value:t,...$.errorUtil.errToObj(s)})}length(t,s){return this._addCheck({kind:"length",value:t,...$.errorUtil.errToObj(s)})}nonempty(t){return this.min(1,$.errorUtil.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxLength(){let t=null;for(let s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}};C.ZodString=Qt;Qt.create=e=>new Qt({checks:[],typeName:K.ZodString,coerce:e?.coerce??!1,...X(e)});function iF(e,t){let s=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,r=s>n?s:n,i=Number.parseInt(e.toFixed(r).replace(".","")),o=Number.parseInt(t.toFixed(r).replace(".",""));return i%o/10**r}var bs=class e extends ee{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==O.ZodParsedType.number){let i=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(i,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.number,received:i.parsedType}),S.INVALID}let n,r=new S.ParseStatus;for(let i of this._def.checks)i.kind==="int"?O.util.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:i.message}),r.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(n=this._getOrReturnCtx(t,n),(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="multipleOf"?iF(t.data,i.value)!==0&&(n=this._getOrReturnCtx(t,n),(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.not_finite,message:i.message}),r.dirty()):O.util.assertNever(i);return{status:r.value,value:t.data}}gte(t,s){return this.setLimit("min",t,!0,$.errorUtil.toString(s))}gt(t,s){return this.setLimit("min",t,!1,$.errorUtil.toString(s))}lte(t,s){return this.setLimit("max",t,!0,$.errorUtil.toString(s))}lt(t,s){return this.setLimit("max",t,!1,$.errorUtil.toString(s))}setLimit(t,s,n,r){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:s,inclusive:n,message:$.errorUtil.toString(r)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:$.errorUtil.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:$.errorUtil.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:$.errorUtil.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:$.errorUtil.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:$.errorUtil.toString(t)})}multipleOf(t,s){return this._addCheck({kind:"multipleOf",value:t,message:$.errorUtil.toString(s)})}finite(t){return this._addCheck({kind:"finite",message:$.errorUtil.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:$.errorUtil.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:$.errorUtil.toString(t)})}get minValue(){let t=null;for(let s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxValue(){let t=null;for(let s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&O.util.isInteger(t.value))}get isFinite(){let t=null,s=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(s===null||n.value>s)&&(s=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(s)&&Number.isFinite(t)}};C.ZodNumber=bs;bs.create=e=>new bs({checks:[],typeName:K.ZodNumber,coerce:e?.coerce||!1,...X(e)});var vs=class e extends ee{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==O.ZodParsedType.bigint)return this._getInvalidInput(t);let n,r=new S.ParseStatus;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(n=this._getOrReturnCtx(t,n),(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):O.util.assertNever(i);return{status:r.value,value:t.data}}_getInvalidInput(t){let s=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.bigint,received:s.parsedType}),S.INVALID}gte(t,s){return this.setLimit("min",t,!0,$.errorUtil.toString(s))}gt(t,s){return this.setLimit("min",t,!1,$.errorUtil.toString(s))}lte(t,s){return this.setLimit("max",t,!0,$.errorUtil.toString(s))}lt(t,s){return this.setLimit("max",t,!1,$.errorUtil.toString(s))}setLimit(t,s,n,r){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:s,inclusive:n,message:$.errorUtil.toString(r)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:$.errorUtil.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:$.errorUtil.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:$.errorUtil.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:$.errorUtil.toString(t)})}multipleOf(t,s){return this._addCheck({kind:"multipleOf",value:t,message:$.errorUtil.toString(s)})}get minValue(){let t=null;for(let s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxValue(){let t=null;for(let s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}};C.ZodBigInt=vs;vs.create=e=>new vs({checks:[],typeName:K.ZodBigInt,coerce:e?.coerce??!1,...X(e)});var Cs=class extends ee{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==O.ZodParsedType.boolean){let n=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.boolean,received:n.parsedType}),S.INVALID}return(0,S.OK)(t.data)}};C.ZodBoolean=Cs;Cs.create=e=>new Cs({typeName:K.ZodBoolean,coerce:e?.coerce||!1,...X(e)});var Ss=class e extends ee{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==O.ZodParsedType.date){let i=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(i,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.date,received:i.parsedType}),S.INVALID}if(Number.isNaN(t.data.getTime())){let i=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(i,{code:L.ZodIssueCode.invalid_date}),S.INVALID}let n=new S.ParseStatus,r;for(let i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(r=this._getOrReturnCtx(t,r),(0,S.addIssueToContext)(r,{code:L.ZodIssueCode.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):O.util.assertNever(i);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,s){return this._addCheck({kind:"min",value:t.getTime(),message:$.errorUtil.toString(s)})}max(t,s){return this._addCheck({kind:"max",value:t.getTime(),message:$.errorUtil.toString(s)})}get minDate(){let t=null;for(let s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t!=null?new Date(t):null}};C.ZodDate=Ss;Ss.create=e=>new Ss({checks:[],coerce:e?.coerce||!1,typeName:K.ZodDate,...X(e)});var mn=class extends ee{_parse(t){if(this._getType(t)!==O.ZodParsedType.symbol){let n=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.symbol,received:n.parsedType}),S.INVALID}return(0,S.OK)(t.data)}};C.ZodSymbol=mn;mn.create=e=>new mn({typeName:K.ZodSymbol,...X(e)});var xs=class extends ee{_parse(t){if(this._getType(t)!==O.ZodParsedType.undefined){let n=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.undefined,received:n.parsedType}),S.INVALID}return(0,S.OK)(t.data)}};C.ZodUndefined=xs;xs.create=e=>new xs({typeName:K.ZodUndefined,...X(e)});var Fs=class extends ee{_parse(t){if(this._getType(t)!==O.ZodParsedType.null){let n=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.null,received:n.parsedType}),S.INVALID}return(0,S.OK)(t.data)}};C.ZodNull=Fs;Fs.create=e=>new Fs({typeName:K.ZodNull,...X(e)});var Xt=class extends ee{constructor(){super(...arguments),this._any=!0}_parse(t){return(0,S.OK)(t.data)}};C.ZodAny=Xt;Xt.create=e=>new Xt({typeName:K.ZodAny,...X(e)});var jt=class extends ee{constructor(){super(...arguments),this._unknown=!0}_parse(t){return(0,S.OK)(t.data)}};C.ZodUnknown=jt;jt.create=e=>new jt({typeName:K.ZodUnknown,...X(e)});var vt=class extends ee{_parse(t){let s=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.never,received:s.parsedType}),S.INVALID}};C.ZodNever=vt;vt.create=e=>new vt({typeName:K.ZodNever,...X(e)});var fn=class extends ee{_parse(t){if(this._getType(t)!==O.ZodParsedType.undefined){let n=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.void,received:n.parsedType}),S.INVALID}return(0,S.OK)(t.data)}};C.ZodVoid=fn;fn.create=e=>new fn({typeName:K.ZodVoid,...X(e)});var $t=class e extends ee{_parse(t){let{ctx:s,status:n}=this._processInputParams(t),r=this._def;if(s.parsedType!==O.ZodParsedType.array)return(0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.array,received:s.parsedType}),S.INVALID;if(r.exactLength!==null){let o=s.data.length>r.exactLength.value,a=s.data.length<r.exactLength.value;(o||a)&&((0,S.addIssueToContext)(s,{code:o?L.ZodIssueCode.too_big:L.ZodIssueCode.too_small,minimum:a?r.exactLength.value:void 0,maximum:o?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&s.data.length<r.minLength.value&&((0,S.addIssueToContext)(s,{code:L.ZodIssueCode.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&s.data.length>r.maxLength.value&&((0,S.addIssueToContext)(s,{code:L.ZodIssueCode.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),s.common.async)return Promise.all([...s.data].map((o,a)=>r.type._parseAsync(new at(s,o,s.path,a)))).then(o=>S.ParseStatus.mergeArray(n,o));let i=[...s.data].map((o,a)=>r.type._parseSync(new at(s,o,s.path,a)));return S.ParseStatus.mergeArray(n,i)}get element(){return this._def.type}min(t,s){return new e({...this._def,minLength:{value:t,message:$.errorUtil.toString(s)}})}max(t,s){return new e({...this._def,maxLength:{value:t,message:$.errorUtil.toString(s)}})}length(t,s){return new e({...this._def,exactLength:{value:t,message:$.errorUtil.toString(s)}})}nonempty(t){return this.min(1,t)}};C.ZodArray=$t;$t.create=(e,t)=>new $t({type:e,minLength:null,maxLength:null,exactLength:null,typeName:K.ZodArray,...X(t)});function dn(e){if(e instanceof Ve){let t={};for(let s in e.shape){let n=e.shape[s];t[s]=ot.create(dn(n))}return new Ve({...e._def,shape:()=>t})}else return e instanceof $t?new $t({...e._def,type:dn(e.element)}):e instanceof ot?ot.create(dn(e.unwrap())):e instanceof It?It.create(dn(e.unwrap())):e instanceof Tt?Tt.create(e.items.map(t=>dn(t))):e}var Ve=class e extends ee{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),s=O.util.objectKeys(t);return this._cached={shape:t,keys:s},this._cached}_parse(t){if(this._getType(t)!==O.ZodParsedType.object){let u=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(u,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.object,received:u.parsedType}),S.INVALID}let{status:n,ctx:r}=this._processInputParams(t),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof vt&&this._def.unknownKeys==="strip"))for(let u in r.data)o.includes(u)||a.push(u);let c=[];for(let u of o){let l=i[u],p=r.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new at(r,p,r.path,u)),alwaysSet:u in r.data})}if(this._def.catchall instanceof vt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:r.data[l]}});else if(u==="strict")a.length>0&&((0,S.addIssueToContext)(r,{code:L.ZodIssueCode.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let p=r.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new at(r,p,r.path,l)),alwaysSet:l in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let p=await l.key,m=await l.value;u.push({key:p,value:m,alwaysSet:l.alwaysSet})}return u}).then(u=>S.ParseStatus.mergeObjectSync(n,u)):S.ParseStatus.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(t){return $.errorUtil.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(s,n)=>{let r=this._def.errorMap?.(s,n).message??n.defaultError;return s.code==="unrecognized_keys"?{message:$.errorUtil.errToObj(t).message??r}:{message:r}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:K.ZodObject})}setKey(t,s){return this.augment({[t]:s})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let s={};for(let n of O.util.objectKeys(t))t[n]&&this.shape[n]&&(s[n]=this.shape[n]);return new e({...this._def,shape:()=>s})}omit(t){let s={};for(let n of O.util.objectKeys(this.shape))t[n]||(s[n]=this.shape[n]);return new e({...this._def,shape:()=>s})}deepPartial(){return dn(this)}partial(t){let s={};for(let n of O.util.objectKeys(this.shape)){let r=this.shape[n];t&&!t[n]?s[n]=r:s[n]=r.optional()}return new e({...this._def,shape:()=>s})}required(t){let s={};for(let n of O.util.objectKeys(this.shape))if(t&&!t[n])s[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof ot;)i=i._def.innerType;s[n]=i}return new e({...this._def,shape:()=>s})}keyof(){return hg(O.util.objectKeys(this.shape))}};C.ZodObject=Ve;Ve.create=(e,t)=>new Ve({shape:()=>e,unknownKeys:"strip",catchall:vt.create(),typeName:K.ZodObject,...X(t)});Ve.strictCreate=(e,t)=>new Ve({shape:()=>e,unknownKeys:"strict",catchall:vt.create(),typeName:K.ZodObject,...X(t)});Ve.lazycreate=(e,t)=>new Ve({shape:e,unknownKeys:"strip",catchall:vt.create(),typeName:K.ZodObject,...X(t)});var As=class extends ee{_parse(t){let{ctx:s}=this._processInputParams(t),n=this._def.options;function r(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return s.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(a=>new L.ZodError(a.ctx.common.issues));return(0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_union,unionErrors:o}),S.INVALID}if(s.common.async)return Promise.all(n.map(async i=>{let o={...s,common:{...s.common,issues:[]},parent:null};return{result:await i._parseAsync({data:s.data,path:s.path,parent:o}),ctx:o}})).then(r);{let i,o=[];for(let c of n){let u={...s,common:{...s.common,issues:[]},parent:null},l=c._parseSync({data:s.data,path:s.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!i&&(i={result:l,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(i)return s.common.issues.push(...i.ctx.common.issues),i.result;let a=o.map(c=>new L.ZodError(c));return(0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_union,unionErrors:a}),S.INVALID}}get options(){return this._def.options}};C.ZodUnion=As;As.create=(e,t)=>new As({options:e,typeName:K.ZodUnion,...X(t)});var Wt=e=>e instanceof ws?Wt(e.schema):e instanceof Xe?Wt(e.innerType()):e instanceof Rs?[e.value]:e instanceof Ts?e.options:e instanceof Is?O.util.objectValues(e.enum):e instanceof ks?Wt(e._def.innerType):e instanceof xs?[void 0]:e instanceof Fs?[null]:e instanceof ot?[void 0,...Wt(e.unwrap())]:e instanceof It?[null,...Wt(e.unwrap())]:e instanceof ar||e instanceof Ps?Wt(e.unwrap()):e instanceof _s?Wt(e._def.innerType):[],Di=class e extends ee{_parse(t){let{ctx:s}=this._processInputParams(t);if(s.parsedType!==O.ZodParsedType.object)return(0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.object,received:s.parsedType}),S.INVALID;let n=this.discriminator,r=s.data[n],i=this.optionsMap.get(r);return i?s.common.async?i._parseAsync({data:s.data,path:s.path,parent:s}):i._parseSync({data:s.data,path:s.path,parent:s}):((0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),S.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,s,n){let r=new Map;for(let i of s){let o=Wt(i.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of o){if(r.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);r.set(a,i)}}return new e({typeName:K.ZodDiscriminatedUnion,discriminator:t,options:s,optionsMap:r,...X(n)})}};C.ZodDiscriminatedUnion=Di;function Ua(e,t){let s=(0,O.getParsedType)(e),n=(0,O.getParsedType)(t);if(e===t)return{valid:!0,data:e};if(s===O.ZodParsedType.object&&n===O.ZodParsedType.object){let r=O.util.objectKeys(t),i=O.util.objectKeys(e).filter(a=>r.indexOf(a)!==-1),o={...e,...t};for(let a of i){let c=Ua(e[a],t[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(s===O.ZodParsedType.array&&n===O.ZodParsedType.array){if(e.length!==t.length)return{valid:!1};let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=t[i],c=Ua(o,a);if(!c.valid)return{valid:!1};r.push(c.data)}return{valid:!0,data:r}}else return s===O.ZodParsedType.date&&n===O.ZodParsedType.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Es=class extends ee{_parse(t){let{status:s,ctx:n}=this._processInputParams(t),r=(i,o)=>{if((0,S.isAborted)(i)||(0,S.isAborted)(o))return S.INVALID;let a=Ua(i.value,o.value);return a.valid?(((0,S.isDirty)(i)||(0,S.isDirty)(o))&&s.dirty(),{status:s.value,value:a.data}):((0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_intersection_types}),S.INVALID)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,o])=>r(i,o)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};C.ZodIntersection=Es;Es.create=(e,t,s)=>new Es({left:e,right:t,typeName:K.ZodIntersection,...X(s)});var Tt=class e extends ee{_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.parsedType!==O.ZodParsedType.array)return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.array,received:n.parsedType}),S.INVALID;if(n.data.length<this._def.items.length)return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),S.INVALID;!this._def.rest&&n.data.length>this._def.items.length&&((0,S.addIssueToContext)(n,{code:L.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),s.dirty());let i=[...n.data].map((o,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new at(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>S.ParseStatus.mergeArray(s,o)):S.ParseStatus.mergeArray(s,i)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};C.ZodTuple=Tt;Tt.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Tt({items:e,typeName:K.ZodTuple,rest:null,...X(t)})};var bi=class e extends ee{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.parsedType!==O.ZodParsedType.object)return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.object,received:n.parsedType}),S.INVALID;let r=[],i=this._def.keyType,o=this._def.valueType;for(let a in n.data)r.push({key:i._parse(new at(n,a,n.path,a)),value:o._parse(new at(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?S.ParseStatus.mergeObjectAsync(s,r):S.ParseStatus.mergeObjectSync(s,r)}get element(){return this._def.valueType}static create(t,s,n){return s instanceof ee?new e({keyType:t,valueType:s,typeName:K.ZodRecord,...X(n)}):new e({keyType:Qt.create(),valueType:t,typeName:K.ZodRecord,...X(s)})}};C.ZodRecord=bi;var gn=class extends ee{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.parsedType!==O.ZodParsedType.map)return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.map,received:n.parsedType}),S.INVALID;let r=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([a,c],u)=>({key:r._parse(new at(n,a,n.path,[u,"key"])),value:i._parse(new at(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return S.INVALID;(u.status==="dirty"||l.status==="dirty")&&s.dirty(),a.set(u.value,l.value)}return{status:s.value,value:a}})}else{let a=new Map;for(let c of o){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return S.INVALID;(u.status==="dirty"||l.status==="dirty")&&s.dirty(),a.set(u.value,l.value)}return{status:s.value,value:a}}}};C.ZodMap=gn;gn.create=(e,t,s)=>new gn({valueType:t,keyType:e,typeName:K.ZodMap,...X(s)});var hn=class e extends ee{_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.parsedType!==O.ZodParsedType.set)return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.set,received:n.parsedType}),S.INVALID;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&((0,S.addIssueToContext)(n,{code:L.ZodIssueCode.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),s.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&((0,S.addIssueToContext)(n,{code:L.ZodIssueCode.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),s.dirty());let i=this._def.valueType;function o(c){let u=new Set;for(let l of c){if(l.status==="aborted")return S.INVALID;l.status==="dirty"&&s.dirty(),u.add(l.value)}return{status:s.value,value:u}}let a=[...n.data.values()].map((c,u)=>i._parse(new at(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(t,s){return new e({...this._def,minSize:{value:t,message:$.errorUtil.toString(s)}})}max(t,s){return new e({...this._def,maxSize:{value:t,message:$.errorUtil.toString(s)}})}size(t,s){return this.min(t,s).max(t,s)}nonempty(t){return this.min(1,t)}};C.ZodSet=hn;hn.create=(e,t)=>new hn({valueType:e,minSize:null,maxSize:null,typeName:K.ZodSet,...X(t)});var vi=class e extends ee{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:s}=this._processInputParams(t);if(s.parsedType!==O.ZodParsedType.function)return(0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.function,received:s.parsedType}),S.INVALID;function n(a,c){return(0,S.makeIssue)({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,(0,yi.getErrorMap)(),yi.defaultErrorMap].filter(u=>!!u),issueData:{code:L.ZodIssueCode.invalid_arguments,argumentsError:c}})}function r(a,c){return(0,S.makeIssue)({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,(0,yi.getErrorMap)(),yi.defaultErrorMap].filter(u=>!!u),issueData:{code:L.ZodIssueCode.invalid_return_type,returnTypeError:c}})}let i={errorMap:s.common.contextualErrorMap},o=s.data;if(this._def.returns instanceof es){let a=this;return(0,S.OK)(async function(...c){let u=new L.ZodError([]),l=await a._def.args.parseAsync(c,i).catch(d=>{throw u.addIssue(n(c,d)),u}),p=await Reflect.apply(o,this,l);return await a._def.returns._def.type.parseAsync(p,i).catch(d=>{throw u.addIssue(r(p,d)),u})})}else{let a=this;return(0,S.OK)(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new L.ZodError([n(c,u.error)]);let l=Reflect.apply(o,this,u.data),p=a._def.returns.safeParse(l,i);if(!p.success)throw new L.ZodError([r(l,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Tt.create(t).rest(jt.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,s,n){return new e({args:t||Tt.create([]).rest(jt.create()),returns:s||jt.create(),typeName:K.ZodFunction,...X(n)})}};C.ZodFunction=vi;var ws=class extends ee{get schema(){return this._def.getter()}_parse(t){let{ctx:s}=this._processInputParams(t);return this._def.getter()._parse({data:s.data,path:s.path,parent:s})}};C.ZodLazy=ws;ws.create=(e,t)=>new ws({getter:e,typeName:K.ZodLazy,...X(t)});var Rs=class extends ee{_parse(t){if(t.data!==this._def.value){let s=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(s,{received:s.data,code:L.ZodIssueCode.invalid_literal,expected:this._def.value}),S.INVALID}return{status:"valid",value:t.data}}get value(){return this._def.value}};C.ZodLiteral=Rs;Rs.create=(e,t)=>new Rs({value:e,typeName:K.ZodLiteral,...X(t)});function hg(e,t){return new Ts({values:e,typeName:K.ZodEnum,...X(t)})}var Ts=class e extends ee{_parse(t){if(typeof t.data!="string"){let s=this._getOrReturnCtx(t),n=this._def.values;return(0,S.addIssueToContext)(s,{expected:O.util.joinValues(n),received:s.parsedType,code:L.ZodIssueCode.invalid_type}),S.INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let s=this._getOrReturnCtx(t),n=this._def.values;return(0,S.addIssueToContext)(s,{received:s.data,code:L.ZodIssueCode.invalid_enum_value,options:n}),S.INVALID}return(0,S.OK)(t.data)}get options(){return this._def.values}get enum(){let t={};for(let s of this._def.values)t[s]=s;return t}get Values(){let t={};for(let s of this._def.values)t[s]=s;return t}get Enum(){let t={};for(let s of this._def.values)t[s]=s;return t}extract(t,s=this._def){return e.create(t,{...this._def,...s})}exclude(t,s=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...s})}};C.ZodEnum=Ts;Ts.create=hg;var Is=class extends ee{_parse(t){let s=O.util.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==O.ZodParsedType.string&&n.parsedType!==O.ZodParsedType.number){let r=O.util.objectValues(s);return(0,S.addIssueToContext)(n,{expected:O.util.joinValues(r),received:n.parsedType,code:L.ZodIssueCode.invalid_type}),S.INVALID}if(this._cache||(this._cache=new Set(O.util.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let r=O.util.objectValues(s);return(0,S.addIssueToContext)(n,{received:n.data,code:L.ZodIssueCode.invalid_enum_value,options:r}),S.INVALID}return(0,S.OK)(t.data)}get enum(){return this._def.values}};C.ZodNativeEnum=Is;Is.create=(e,t)=>new Is({values:e,typeName:K.ZodNativeEnum,...X(t)});var es=class extends ee{unwrap(){return this._def.type}_parse(t){let{ctx:s}=this._processInputParams(t);if(s.parsedType!==O.ZodParsedType.promise&&s.common.async===!1)return(0,S.addIssueToContext)(s,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.promise,received:s.parsedType}),S.INVALID;let n=s.parsedType===O.ZodParsedType.promise?s.data:Promise.resolve(s.data);return(0,S.OK)(n.then(r=>this._def.type.parseAsync(r,{path:s.path,errorMap:s.common.contextualErrorMap})))}};C.ZodPromise=es;es.create=(e,t)=>new es({type:e,typeName:K.ZodPromise,...X(t)});var Xe=class extends ee{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===K.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:s,ctx:n}=this._processInputParams(t),r=this._def.effect||null,i={addIssue:o=>{(0,S.addIssueToContext)(n,o),o.fatal?s.abort():s.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type==="preprocess"){let o=r.transform(n.data,i);if(n.common.async)return Promise.resolve(o).then(async a=>{if(s.value==="aborted")return S.INVALID;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?S.INVALID:c.status==="dirty"||s.value==="dirty"?(0,S.DIRTY)(c.value):c});{if(s.value==="aborted")return S.INVALID;let a=this._def.schema._parseSync({data:o,path:n.path,parent:n});return a.status==="aborted"?S.INVALID:a.status==="dirty"||s.value==="dirty"?(0,S.DIRTY)(a.value):a}}if(r.type==="refinement"){let o=a=>{let c=r.refinement(a,i);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?S.INVALID:(a.status==="dirty"&&s.dirty(),o(a.value),{status:s.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?S.INVALID:(a.status==="dirty"&&s.dirty(),o(a.value).then(()=>({status:s.value,value:a.value}))))}if(r.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!(0,S.isValid)(o))return S.INVALID;let a=r.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:s.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>(0,S.isValid)(o)?Promise.resolve(r.transform(o.value,i)).then(a=>({status:s.value,value:a})):S.INVALID);O.util.assertNever(r)}};C.ZodEffects=Xe;C.ZodTransformer=Xe;Xe.create=(e,t,s)=>new Xe({schema:e,typeName:K.ZodEffects,effect:t,...X(s)});Xe.createWithPreprocess=(e,t,s)=>new Xe({schema:t,effect:{type:"preprocess",transform:e},typeName:K.ZodEffects,...X(s)});var ot=class extends ee{_parse(t){return this._getType(t)===O.ZodParsedType.undefined?(0,S.OK)(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};C.ZodOptional=ot;ot.create=(e,t)=>new ot({innerType:e,typeName:K.ZodOptional,...X(t)});var It=class extends ee{_parse(t){return this._getType(t)===O.ZodParsedType.null?(0,S.OK)(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};C.ZodNullable=It;It.create=(e,t)=>new It({innerType:e,typeName:K.ZodNullable,...X(t)});var ks=class extends ee{_parse(t){let{ctx:s}=this._processInputParams(t),n=s.data;return s.parsedType===O.ZodParsedType.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:s.path,parent:s})}removeDefault(){return this._def.innerType}};C.ZodDefault=ks;ks.create=(e,t)=>new ks({innerType:e,typeName:K.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...X(t)});var _s=class extends ee{_parse(t){let{ctx:s}=this._processInputParams(t),n={...s,common:{...s.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return(0,S.isAsync)(r)?r.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new L.ZodError(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new L.ZodError(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};C.ZodCatch=_s;_s.create=(e,t)=>new _s({innerType:e,typeName:K.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...X(t)});var yn=class extends ee{_parse(t){if(this._getType(t)!==O.ZodParsedType.nan){let n=this._getOrReturnCtx(t);return(0,S.addIssueToContext)(n,{code:L.ZodIssueCode.invalid_type,expected:O.ZodParsedType.nan,received:n.parsedType}),S.INVALID}return{status:"valid",value:t.data}}};C.ZodNaN=yn;yn.create=e=>new yn({typeName:K.ZodNaN,...X(e)});C.BRAND=Symbol("zod_brand");var ar=class extends ee{_parse(t){let{ctx:s}=this._processInputParams(t),n=s.data;return this._def.type._parse({data:n,path:s.path,parent:s})}unwrap(){return this._def.type}};C.ZodBranded=ar;var cr=class e extends ee{_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?S.INVALID:i.status==="dirty"?(s.dirty(),(0,S.DIRTY)(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let r=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return r.status==="aborted"?S.INVALID:r.status==="dirty"?(s.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:n.path,parent:n})}}static create(t,s){return new e({in:t,out:s,typeName:K.ZodPipeline})}};C.ZodPipeline=cr;var Ps=class extends ee{_parse(t){let s=this._def.innerType._parse(t),n=r=>((0,S.isValid)(r)&&(r.value=Object.freeze(r.value)),r);return(0,S.isAsync)(s)?s.then(r=>n(r)):n(s)}unwrap(){return this._def.innerType}};C.ZodReadonly=Ps;Ps.create=(e,t)=>new Ps({innerType:e,typeName:K.ZodReadonly,...X(t)});function dg(e,t){let s=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof s=="string"?{message:s}:s}function yg(e,t={},s){return e?Xt.create().superRefine((n,r)=>{let i=e(n);if(i instanceof Promise)return i.then(o=>{if(!o){let a=dg(t,n),c=a.fatal??s??!0;r.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=dg(t,n),a=o.fatal??s??!0;r.addIssue({code:"custom",...o,fatal:a})}}):Xt.create()}C.late={object:Ve.lazycreate};var K;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(K||(C.ZodFirstPartyTypeKind=K={}));var oF=(e,t={message:`Input not instance of ${e.name}`})=>yg(s=>s instanceof e,t);C.instanceof=oF;var Dg=Qt.create;C.string=Dg;var bg=bs.create;C.number=bg;var aF=yn.create;C.nan=aF;var cF=vs.create;C.bigint=cF;var vg=Cs.create;C.boolean=vg;var uF=Ss.create;C.date=uF;var lF=mn.create;C.symbol=lF;var pF=xs.create;C.undefined=pF;var dF=Fs.create;C.null=dF;var mF=Xt.create;C.any=mF;var fF=jt.create;C.unknown=fF;var gF=vt.create;C.never=gF;var hF=fn.create;C.void=hF;var yF=$t.create;C.array=yF;var DF=Ve.create;C.object=DF;var bF=Ve.strictCreate;C.strictObject=bF;var vF=As.create;C.union=vF;var CF=Di.create;C.discriminatedUnion=CF;var SF=Es.create;C.intersection=SF;var xF=Tt.create;C.tuple=xF;var FF=bi.create;C.record=FF;var AF=gn.create;C.map=AF;var EF=hn.create;C.set=EF;var wF=vi.create;C.function=wF;var RF=ws.create;C.lazy=RF;var TF=Rs.create;C.literal=TF;var IF=Ts.create;C.enum=IF;var kF=Is.create;C.nativeEnum=kF;var _F=es.create;C.promise=_F;var Cg=Xe.create;C.effect=Cg;C.transformer=Cg;var PF=ot.create;C.optional=PF;var LF=It.create;C.nullable=LF;var OF=Xe.createWithPreprocess;C.preprocess=OF;var BF=cr.create;C.pipeline=BF;var NF=()=>Dg().optional();C.ostring=NF;var MF=()=>bg().optional();C.onumber=MF;var WF=()=>vg().optional();C.oboolean=WF;C.coerce={string:e=>Qt.create({...e,coerce:!0}),number:e=>bs.create({...e,coerce:!0}),boolean:e=>Cs.create({...e,coerce:!0}),bigint:e=>vs.create({...e,coerce:!0}),date:e=>Ss.create({...e,coerce:!0})};C.NEVER=S.INVALID});var Ga=w(ct=>{"use strict";var jF=ct&&ct.__createBinding||(Object.create?function(e,t,s,n){n===void 0&&(n=s);var r=Object.getOwnPropertyDescriptor(t,s);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,n,r)}:function(e,t,s,n){n===void 0&&(n=s),e[n]=t[s]}),Dn=ct&&ct.__exportStar||function(e,t){for(var s in e)s!=="default"&&!Object.prototype.hasOwnProperty.call(t,s)&&jF(t,e,s)};Object.defineProperty(ct,"__esModule",{value:!0});Dn(gi(),ct);Dn(ja(),ct);Dn(cg(),ct);Dn(ir(),ct);Dn(Sg(),ct);Dn(fi(),ct)});var Ag=w(Ke=>{"use strict";var xg=Ke&&Ke.__createBinding||(Object.create?function(e,t,s,n){n===void 0&&(n=s);var r=Object.getOwnPropertyDescriptor(t,s);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,n,r)}:function(e,t,s,n){n===void 0&&(n=s),e[n]=t[s]}),$F=Ke&&Ke.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),UF=Ke&&Ke.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var s in e)s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)&&xg(t,e,s);return $F(t,e),t},GF=Ke&&Ke.__exportStar||function(e,t){for(var s in e)s!=="default"&&!Object.prototype.hasOwnProperty.call(t,s)&&xg(t,e,s)};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.z=void 0;var Fg=UF(Ga());Ke.z=Fg;GF(Ga(),Ke);Ke.default=Fg});var qa=w(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.getEnvironment=void 0;var Ut=Ag(),qF=Ut.z.object({LOG_LEVEL:Ut.z.enum(["DEBUG","INFO","WARN","ERROR","FATAL"]).optional(),STAGE:Ut.z.enum(["dev","prod","test"]).default("dev"),SERVICE_NAME:Ut.z.string().optional(),ENABLE_STRUCTURED_LOGGING:Ut.z.string().transform(e=>e==="true").optional(),CLOUDWATCH_LOG_GROUP:Ut.z.string().optional(),CLOUDWATCH_LOG_STREAM:Ut.z.string().optional(),AWS_REGION:Ut.z.string().optional()}),zF=(e=process.env)=>{let t;try{t=qF.parse(e)}catch(s){s instanceof Ut.z.ZodError&&console.warn("Environment validation failed, using defaults:",s.errors),t={STAGE:"dev"}}return{...t,isProduction:t.STAGE==="prod",isDevelopment:t.STAGE==="dev",logLevel:t.LOG_LEVEL??void 0,serviceName:t.SERVICE_NAME??void 0,enableStructuredLogging:t.ENABLE_STRUCTURED_LOGGING??!0,stage:t.STAGE}};Ci.getEnvironment=zF});var za=w(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.createLogFilter=kt.createSampler=kt.createRateLimiter=void 0;var HF=(e,t)=>{let s={tokens:t,lastRefill:Date.now(),maxTokens:t,refillRate:e},n=()=>{let i=Date.now(),a=(i-s.lastRefill)/1e3*s.refillRate;s.tokens=Math.min(s.maxTokens,s.tokens+a),s.lastRefill=i};return{tryConsume:(i=1)=>(n(),s.tokens>=i?(s.tokens-=i,!0):!1),getState:()=>({...s})}};kt.createRateLimiter=HF;var VF=e=>{let t={totalLogs:0,sampledLogs:0};return{shouldSample:()=>(t.totalLogs++,e>=1?(t.sampledLogs++,!0):e<=0?!1:Math.random()<=e?(t.sampledLogs++,!0):!1),getStats:()=>({totalLogs:t.totalLogs,sampledLogs:t.sampledLogs,samplingRate:t.totalLogs>0?t.sampledLogs/t.totalLogs:0,configuredRate:e})}};kt.createSampler=VF;var KF=e=>{let t=e.rateLimit?(0,kt.createRateLimiter)(e.rateLimit.maxLogsPerSecond,e.rateLimit.burstSize):null,s=e.samplingRate!==void 0?(0,kt.createSampler)(e.samplingRate):null;return{shouldLog:()=>!t&&!s?!0:!(t&&!t.tryConsume()||s&&!s.shouldSample()),getStats:()=>({rateLimit:t?.getState(),sampling:s?.getStats()})}};kt.createLogFilter=KF});var Ha=w(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.printLoggerConfig=ut.createStrogger=ut.strogger=ut.createLogger=void 0;var ZF=_a(),JF=mi(),ge=bt(),YF=La(),Eg=Oa(),QF=qa(),XF=za(),wg=e=>{if(!e||typeof e!="object")return console.warn("[strogger] No environment provided, defaulting to DEBUG"),ge.LogLevel.DEBUG;switch(e.LOG_LEVEL?.toUpperCase()){case"DEBUG":return ge.LogLevel.DEBUG;case"INFO":return ge.LogLevel.INFO;case"WARN":return ge.LogLevel.WARN;case"ERROR":return ge.LogLevel.ERROR;case"FATAL":return ge.LogLevel.FATAL;case void 0:return e.STAGE==="prod"?ge.LogLevel.INFO:ge.LogLevel.DEBUG;default:return console.warn(`[strogger] Invalid LOG_LEVEL '${e.LOG_LEVEL}' provided. Defaulting to ${e.STAGE==="prod"?"INFO":"DEBUG"}.`),e.STAGE==="prod"?ge.LogLevel.INFO:ge.LogLevel.DEBUG}},eA=(e,t)=>e>=(t.level!==void 0?t.level:ge.LogLevel.INFO),tA=(e,t,s,n,r,i)=>({timestamp:new Date().toISOString(),level:t,message:s,context:{...e.stage&&{stage:e.stage},...e.serviceName&&{serviceName:e.serviceName},...n},error:r?{name:r.name,message:r.message,stack:r.stack}:void 0,metadata:i}),sA=({config:e={},transports:t=[],formatter:s,env:n})=>{let r=e.instanceId||(0,Eg.generateLoggerInstanceId)(),i={level:wg(n),serviceName:n.SERVICE_NAME||void 0,stage:n.STAGE||"dev",enableStructuredLogging:n.ENABLE_STRUCTURED_LOGGING??!0,includeTimestamp:!0,includeLogLevel:!0,instanceId:r,...e};if(typeof i.level=="string")switch(i.level.toUpperCase()){case"DEBUG":i.level=ge.LogLevel.DEBUG;break;case"INFO":i.level=ge.LogLevel.INFO;break;case"WARN":i.level=ge.LogLevel.WARN;break;case"ERROR":i.level=ge.LogLevel.ERROR;break;case"FATAL":i.level=ge.LogLevel.FATAL;break;default:i.level=ge.LogLevel.INFO}e.level!==void 0&&(i.level=e.level);let o=(0,XF.createLogFilter)(i),a=(0,Eg.createDefaultEnrichmentMiddleware)(i.serviceName,i.stage,void 0,r),u=e.batching===!0?t.map(p=>(0,YF.createBatchedTransport)(p,{maxSize:50,maxWaitTime:2e3,maxBatchSize:512*1024})):t,l=async(p,m,d,f,g)=>{if(!eA(p,i)||(i.samplingRate!==void 0||i.rateLimit)&&!o.shouldLog())return;let h=a(d||{}),b=tA(i,p,m,h,f,g),y=b;if(typeof i.redact=="function"&&(y=i.redact(b)),typeof i.validate=="function")try{i.validate(y)}catch(v){console.error("[LOGGER ERROR] Log entry validation failed:",v);return}if(Array.isArray(i.hooks))for(let v of i.hooks)try{let A=v(y);A&&typeof A.then=="function"&&await A}catch(A){console.error("[LOGGER ERROR] Log hook failed:",A)}let F=await Promise.allSettled(u.map(v=>v.log(y)));for(let v of F)v.status==="rejected"&&console.error(v.reason)};return{debug:(p,m,d)=>l(ge.LogLevel.DEBUG,p,m,void 0,d),info:(p,m,d)=>l(ge.LogLevel.INFO,p,m,void 0,d),warn:(p,m,d,f)=>l(ge.LogLevel.WARN,p,m,d,f),error:(p,m,d,f)=>l(ge.LogLevel.ERROR,p,m,d,f),fatal:(p,m,d,f)=>l(ge.LogLevel.FATAL,p,m,d,f),logFunctionStart:(p,m,d)=>l(ge.LogLevel.INFO,`Function ${p} started`,{...m,functionName:p},void 0,d),logFunctionEnd:(p,m,d,f)=>l(ge.LogLevel.INFO,`Function ${p} completed in ${m}ms`,{...d,functionName:p,duration:m},void 0,f),logDatabaseOperation:(p,m,d,f)=>l(ge.LogLevel.DEBUG,`Database operation: ${p} on table ${m}`,{...d,operation:p,table:m},void 0,f),logApiRequest:(p,m,d,f,g)=>l(ge.LogLevel.INFO,`API ${p} ${m} - ${d}`,{...f,method:p,path:m,statusCode:d},void 0,g),setLevel:p=>{i.level=p;for(let m of t)m.setLevel?.(p)},getLevel:()=>i.level!==void 0?i.level:ge.LogLevel.INFO,getInstanceId:()=>r,addTransport:p=>t.push(p),removeTransport:p=>{let m=t.indexOf(p);m>-1&&t.splice(m,1)},setFormatter:p=>{},getSamplingStats:()=>o.getStats(),flush:async()=>{await Promise.allSettled(u.map(p=>p.flush?.()||Promise.resolve()))},getBatchStats:()=>u.map(p=>p.getStats?.()||{})}};ut.createLogger=sA;var nA=(0,QF.getEnvironment)(),Rg=(0,ZF.createJsonFormatter)(),rA=(0,JF.createConsoleTransport)({formatter:Rg});ut.strogger=(0,ut.createLogger)({config:{},transports:[rA],formatter:Rg,env:nA});ut.createStrogger=ut.createLogger;var iA=e=>{let t=wg(e);console.log("--- Strogger Logger Configuration ---"),console.log("LOG_LEVEL:",e.LOG_LEVEL??"(default)"),console.log("STAGE:",e.STAGE??"dev"),console.log("SERVICE_NAME:",e.SERVICE_NAME??"(none)"),console.log("ENABLE_STRUCTURED_LOGGING:",e.ENABLE_STRUCTURED_LOGGING??!0),console.log("Effective log level:",t),console.log("--------------------------------------")};ut.printLoggerConfig=iA});var ss=w(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.handleTransportError=Se.validateTransportConfig=Se.validateEnvironmentVariable=Se.createDetailedError=Se.ERROR_MESSAGES=Se.ValidationError=Se.ConfigurationError=Se.TransportError=Se.LoggerError=void 0;var ts=class extends Error{constructor(t,s,n){super(t),this.code=s,this.details=n,this.name="LoggerError"}};Se.LoggerError=ts;var Ls=class extends ts{constructor(t,s,n){super(t,"TRANSPORT_ERROR",{transportName:s,...n}),this.transportName=s,this.name="TransportError"}};Se.TransportError=Ls;var Si=class extends ts{constructor(t,s){super(t,"CONFIGURATION_ERROR",s),this.name="ConfigurationError"}};Se.ConfigurationError=Si;var Va=class extends ts{constructor(t,s){super(t,"VALIDATION_ERROR",s),this.name="ValidationError"}};Se.ValidationError=Va;Se.ERROR_MESSAGES={NEW_RELIC_MISSING_API_KEY:{message:"New Relic transport requires NEW_RELIC_LICENSE_KEY environment variable",solution:"Set NEW_RELIC_LICENSE_KEY in your environment variables or pass apiKey option",example:"NEW_RELIC_LICENSE_KEY=your-license-key-here"},NEW_RELIC_MISSING_ACCOUNT_ID:{message:"New Relic transport requires NEW_RELIC_ACCOUNT_ID environment variable",solution:"Set NEW_RELIC_ACCOUNT_ID in your environment variables or pass accountId option",example:"NEW_RELIC_ACCOUNT_ID=your-account-id-here"},NEW_RELIC_API_ERROR:{message:"Failed to send logs to New Relic API",solution:"Check your API key, account ID, and network connectivity"},DATADOG_MISSING_API_KEY:{message:"DataDog transport requires DATADOG_API_KEY environment variable",solution:"Set DATADOG_API_KEY in your environment variables",example:"DATADOG_API_KEY=your-api-key-here"},DATADOG_API_ERROR:{message:"Failed to send logs to DataDog API",solution:"Check your API key and network connectivity"},CLOUDWATCH_MISSING_CREDENTIALS:{message:"CloudWatch transport requires AWS credentials",solution:"Configure AWS credentials via environment variables, IAM role, or AWS credentials file",example:`AWS_ACCESS_KEY_ID=your-key
|
|
7
|
-
AWS_SECRET_ACCESS_KEY=your-secret`},CLOUDWATCH_MISSING_LOG_GROUP:{message:"CloudWatch transport requires logGroupName option",solution:"Provide logGroupName in transport options or set CLOUDWATCH_LOG_GROUP environment variable",example:'logGroupName: "/aws/lambda/my-function"'},CLOUDWATCH_LOG_GROUP_NOT_FOUND:{message:"CloudWatch log group does not exist",solution:"Create the log group in CloudWatch before using this transport",example:'aws logs create-log-group --log-group-name "/aws/lambda/my-function"'},CLOUDWATCH_API_ERROR:{message:"Failed to send logs to CloudWatch",solution:"Check your AWS credentials, region, and network connectivity"},TRANSPORT_INITIALIZATION_FAILED:{message:"Failed to initialize transport",solution:"Check transport configuration and required dependencies"},TRANSPORT_SEND_FAILED:{message:"Failed to send log entry to transport",solution:"Check transport configuration and network connectivity"},MISSING_SERVICE_NAME:{message:"Logger configuration requires serviceName",solution:"Set SERVICE_NAME environment variable or provide serviceName in config",example:"SERVICE_NAME=my-service"},INVALID_LOG_LEVEL:{message:"Invalid log level specified",solution:"Use one of: DEBUG, INFO, WARN, ERROR, FATAL",example:"LOG_LEVEL=INFO"},ENVIRONMENT_VALIDATION_FAILED:{message:"Environment configuration validation failed",solution:"Check your environment variables and configuration"},FORMATTER_MISSING:{message:"Logger requires a formatter",solution:"Provide a formatter object with a format(entry) method",example:"formatter: createJsonFormatter()"},PERFORMANCE_MONITOR_INITIALIZATION_FAILED:{message:"Failed to initialize performance monitor",solution:"Check performance monitor configuration"},SPLUNK_MISSING_HEC_URL:{message:"Splunk transport requires SPLUNK_HEC_URL environment variable",solution:"Set SPLUNK_HEC_URL in your environment variables",example:"SPLUNK_HEC_URL=https://your-splunk-instance:8088/services/collector"},SPLUNK_MISSING_HEC_TOKEN:{message:"Splunk transport requires SPLUNK_HEC_TOKEN environment variable",solution:"Set SPLUNK_HEC_TOKEN in your environment variables",example:"SPLUNK_HEC_TOKEN=your-hec-token-here"},SPLUNK_API_ERROR:{message:"Failed to send logs to Splunk HEC",solution:"Check your HEC URL, token, and network connectivity"},ELASTICSEARCH_MISSING_AUTH:{message:"Elasticsearch transport requires authentication",solution:"Set ELASTICSEARCH_API_KEY or ELASTICSEARCH_USERNAME/PASSWORD",example:"ELASTICSEARCH_API_KEY=your-api-key-here"},ELASTICSEARCH_MISSING_DATE:{message:"Date string is missing for Elasticsearch index pattern",solution:"Check date generation logic and ensure valid date string is produced"},ELASTICSEARCH_API_ERROR:{message:"Failed to send logs to Elasticsearch",solution:"Check your connection URL, authentication, and network connectivity"}};var
|
|
8
|
-
${JSON.stringify(
|
|
4
|
+
`+i),e.push(r+"m+"+li.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=xx()+t+" "+e[0]}function xx(){return Ne.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Ax(...e){return process.stderr.write(ui.formatWithOptions(Ne.inspectOpts,...e)+`
|
|
5
|
+
`)}function Fx(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function Ex(){return process.env.DEBUG}function Rx(e){e.inspectOpts={};let t=Object.keys(Ne.inspectOpts);for(let s=0;s<t.length;s++)e.inspectOpts[t[s]]=Ne.inspectOpts[t[s]]}li.exports=ca()(Ne);var{formatters:Id}=li.exports;Id.o=function(e){return this.inspectOpts.colors=this.useColors,ui.inspect(e,this.inspectOpts).split(`
|
|
6
|
+
`).map(t=>t.trim()).join(" ")};Id.O=function(e){return this.inspectOpts.colors=this.useColors,ui.inspect(e,this.inspectOpts)}});var kd=E((gL,pa)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?pa.exports=xd():pa.exports=Td()});var Ld=E((hL,_d)=>{var sr;_d.exports=function(){if(!sr){try{sr=kd()("follow-redirects")}catch{}typeof sr!="function"&&(sr=function(){})}sr.apply(null,arguments)}});var Nd=E((yL,xa)=>{var rr=require("url"),nr=rr.URL,wx=require("http"),Ix=require("https"),ha=require("stream").Writable,ya=require("assert"),Pd=Ld();(function(){var t=typeof process<"u",s=typeof window<"u"&&typeof document<"u",n=Ss(Error.captureStackTrace);!t&&(s||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var Da=!1;try{ya(new nr(""))}catch(e){Da=e.code==="ERR_INVALID_URL"}var Tx=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],ba=["abort","aborted","connect","error","socket","timeout"],va=Object.create(null);ba.forEach(function(e){va[e]=function(t,s,n){this._redirectable.emit(e,t,s,n)}});var ma=ir("ERR_INVALID_URL","Invalid URL",TypeError),fa=ir("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),kx=ir("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",fa),_x=ir("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Lx=ir("ERR_STREAM_WRITE_AFTER_END","write after end"),Px=ha.prototype.destroy||Bd;function Je(e,t){ha.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],t&&this.on("response",t);var s=this;this._onNativeResponse=function(n){try{s._processResponse(n)}catch(r){s.emit("error",r instanceof fa?r:new fa({cause:r}))}},this._performRequest()}Je.prototype=Object.create(ha.prototype);Je.prototype.abort=function(){Ca(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Je.prototype.destroy=function(e){return Ca(this._currentRequest,e),Px.call(this,e),this};Je.prototype.write=function(e,t,s){if(this._ending)throw new Lx;if(!vs(e)&&!Mx(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Ss(t)&&(s=t,t=null),e.length===0){s&&s();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:t}),this._currentRequest.write(e,t,s)):(this.emit("error",new _x),this.abort())};Je.prototype.end=function(e,t,s){if(Ss(e)?(s=e,e=t=null):Ss(t)&&(s=t,t=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,s);else{var n=this,r=this._currentRequest;this.write(e,t,function(){n._ended=!0,r.end(null,null,s)}),this._ending=!0}};Je.prototype.setHeader=function(e,t){this._options.headers[e]=t,this._currentRequest.setHeader(e,t)};Je.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};Je.prototype.setTimeout=function(e,t){var s=this;function n(o){o.setTimeout(e),o.removeListener("timeout",o.destroy),o.addListener("timeout",o.destroy)}function r(o){s._timeout&&clearTimeout(s._timeout),s._timeout=setTimeout(function(){s.emit("timeout"),i()},e),n(o)}function i(){s._timeout&&(clearTimeout(s._timeout),s._timeout=null),s.removeListener("abort",i),s.removeListener("error",i),s.removeListener("response",i),s.removeListener("close",i),t&&s.removeListener("timeout",t),s.socket||s._currentRequest.removeListener("socket",r)}return t&&this.on("timeout",t),this.socket?r(this.socket):this._currentRequest.once("socket",r),this.on("socket",n),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){Je.prototype[e]=function(t,s){return this._currentRequest[e](t,s)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(Je.prototype,e,{get:function(){return this._currentRequest[e]}})});Je.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var t=e.path.indexOf("?");t<0?e.pathname=e.path:(e.pathname=e.path.substring(0,t),e.search=e.path.substring(t))}};Je.prototype._performRequest=function(){var e=this._options.protocol,t=this._options.nativeProtocols[e];if(!t)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var s=e.slice(0,-1);this._options.agent=this._options.agents[s]}var n=this._currentRequest=t.request(this._options,this._onNativeResponse);n._redirectable=this;for(var r of ba)n.on(r,va[r]);if(this._currentUrl=/^\//.test(this._options.path)?rr.format(this._options):this._options.path,this._isRedirect){var i=0,o=this,a=this._requestBodyBuffers;(function c(u){if(n===o._currentRequest)if(u)o.emit("error",u);else if(i<a.length){var l=a[i++];n.finished||n.write(l.data,l.encoding,c)}else o._ended&&n.end()})()}};Je.prototype._processResponse=function(e){var t=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:t});var s=e.headers.location;if(!s||this._options.followRedirects===!1||t<300||t>=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(Ca(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new kx;var n,r=this._options.beforeRedirect;r&&(n=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var i=this._options.method;((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],da(/^content-/i,this._options.headers));var o=da(/^host$/i,this._options.headers),a=Sa(this._currentUrl),c=o||a.host,u=/^\w+:/.test(s)?this._currentUrl:rr.format(Object.assign(a,{host:c})),l=Ox(s,u);if(Pd("redirecting to",l.href),this._isRedirect=!0,ga(l,this._options),(l.protocol!==a.protocol&&l.protocol!=="https:"||l.host!==c&&!Bx(l.host,c))&&da(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Ss(r)){var p={headers:e.headers,statusCode:t},d={url:u,method:i,headers:n};r(this._options,p,d),this._sanitizeOptions(this._options)}this._performRequest()};function Od(e){var t={maxRedirects:21,maxBodyLength:10485760},s={};return Object.keys(e).forEach(function(n){var r=n+":",i=s[r]=e[n],o=t[n]=Object.create(i);function a(u,l,p){return Nx(u)?u=ga(u):vs(u)?u=ga(Sa(u)):(p=l,l=Md(u),u={protocol:r}),Ss(l)&&(p=l,l=null),l=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},u,l),l.nativeProtocols=s,!vs(l.host)&&!vs(l.hostname)&&(l.hostname="::1"),ya.equal(l.protocol,r,"protocol mismatch"),Pd("options",l),new Je(l,p)}function c(u,l,p){var d=o.request(u,l,p);return d.end(),d}Object.defineProperties(o,{request:{value:a,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),t}function Bd(){}function Sa(e){var t;if(Da)t=new nr(e);else if(t=Md(rr.parse(e)),!vs(t.protocol))throw new ma({input:e});return t}function Ox(e,t){return Da?new nr(e,t):Sa(rr.resolve(t,e))}function Md(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new ma({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new ma({input:e.href||e});return e}function ga(e,t){var s=t||{};for(var n of Tx)s[n]=e[n];return s.hostname.startsWith("[")&&(s.hostname=s.hostname.slice(1,-1)),s.port!==""&&(s.port=Number(s.port)),s.path=s.search?s.pathname+s.search:s.pathname,s}function da(e,t){var s;for(var n in t)e.test(n)&&(s=t[n],delete t[n]);return s===null||typeof s>"u"?void 0:String(s).trim()}function ir(e,t,s){function n(r){Ss(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,r||{}),this.code=e,this.message=this.cause?t+": "+this.cause.message:t}return n.prototype=new(s||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),n}function Ca(e,t){for(var s of ba)e.removeListener(s,va[s]);e.on("error",Bd),e.destroy(t)}function Bx(e,t){ya(vs(e)&&vs(t));var s=e.length-t.length-1;return s>0&&e[s]==="."&&e.endsWith(t)}function vs(e){return typeof e=="string"||e instanceof String}function Ss(e){return typeof e=="function"}function Mx(e){return typeof e=="object"&&"length"in e}function Nx(e){return nr&&e instanceof nr}xa.exports=Od({http:wx,https:Ix});xa.exports.wrap=Od});var za=E(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.createJsonFormatter=void 0;var z0=e=>{switch(e){case 0:return"DEBUG";case 1:return"INFO";case 2:return"WARN";case 3:return"ERROR";case 4:return"FATAL";default:return"UNKNOWN"}},q0=()=>({format:e=>JSON.stringify({timestamp:e.timestamp,level:z0(e.level),message:e.message,...e.context,...e.error&&{error:{name:e.error.name,message:e.error.message,stack:e.error.stack}},...e.metadata&&{metadata:e.metadata}})});Si.createJsonFormatter=q0});var Ft=E(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.LogLevel=void 0;var mg;(function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.FATAL=4]="FATAL"})(mg||(Ci.LogLevel=mg={}))});var zt=E(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.shouldLog=bn.BaseTransport=void 0;var H0=Ft(),qa=class{constructor(){this.level=H0.LogLevel.INFO}setLevel(t){this.level=t}getLevel(){return this.level}shouldLog(t){return t>=this.level}};bn.BaseTransport=qa;var V0=(e,t)=>e>=t;bn.shouldLog=V0});var Ai=E(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.createConsoleTransport=void 0;var vn=Ft(),K0=zt(),Z0=(e={})=>{let t=e.level??vn.LogLevel.INFO,s=e.formatter||{format:n=>JSON.stringify(n)};return{log:n=>{if(!(0,K0.shouldLog)(n.level,t))return;let r=s.format(n);switch(n.level){case vn.LogLevel.DEBUG:console.debug(r);break;case vn.LogLevel.INFO:console.info(r);break;case vn.LogLevel.WARN:console.warn(r);break;case vn.LogLevel.ERROR:case vn.LogLevel.FATAL:console.error(r);break}},setLevel:n=>{t=n},getLevel:()=>t}};xi.createConsoleTransport=Z0});var Ha=E(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.createBatchedLogger=Fs.createBatchedTransport=void 0;var Y0=(e,t={maxSize:100,maxWaitTime:5e3,maxBatchSize:1024*1024})=>{let s={logs:[],currentSize:0,lastFlush:Date.now()},n={totalLogs:0,totalBatches:0,averageBatchSize:0,lastFlushTime:0,pendingLogs:0},r=p=>p.reduce((d,f)=>d+JSON.stringify(f).length,0),i=async()=>{if(s.logs.length===0)return;let p=[...s.logs];s.logs=[],s.currentSize=0,s.lastFlush=Date.now(),s.flushTimer&&(clearTimeout(s.flushTimer),s.flushTimer=void 0);try{await Promise.allSettled(p.map(d=>e.log(d))),n.totalLogs+=p.length,n.totalBatches+=1,n.averageBatchSize=n.totalLogs/n.totalBatches,n.lastFlushTime=Date.now(),n.pendingLogs=s.logs.length}catch(d){console.error("Batch flush failed:",d),s.logs.unshift(...p),s.currentSize=r(s.logs)}},o=()=>{s.flushTimer||(s.flushTimer=setTimeout(()=>{i().catch(console.error)},t.maxWaitTime))};return{log:async p=>{let d=JSON.stringify(p).length;(s.logs.length>=t.maxSize||s.currentSize+d>=t.maxBatchSize)&&await i(),s.logs.push(p),s.currentSize+=d,n.pendingLogs=s.logs.length,s.logs.length===1&&o()},setLevel:p=>{e.setLevel(p)},getLevel:()=>e.getLevel(),flush:i,getStats:()=>({...n,pendingLogs:s.logs.length})}};Fs.createBatchedTransport=Y0;var J0=(e,t={maxSize:50,maxWaitTime:2e3,maxBatchSize:512*1024})=>{let s=e.map(c=>(0,Fs.createBatchedTransport)(c,t));return{log:async c=>{await Promise.allSettled(s.map(u=>u.log(c)))},setLevel:c=>{for(let u of s)u.setLevel(c)},getLevel:()=>Math.min(...s.map(c=>c.getLevel())),flush:async()=>{await Promise.allSettled(s.map(c=>c.flush()))},getStats:()=>s.map(c=>c.getStats())}};Fs.createBatchedLogger=J0});var Va=E(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.createDefaultEnrichmentMiddleware=ge.createEnrichmentMiddleware=ge.createLoggerInstanceEnricher=ge.createUserEnricher=ge.createEnvironmentEnricher=ge.createSessionEnricher=ge.createCorrelationEnricher=ge.generateLoggerInstanceId=ge.generateSpanId=ge.generateTraceId=ge.generateCorrelationId=void 0;var Q0=()=>`corr_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;ge.generateCorrelationId=Q0;var X0=()=>Math.random().toString(16).substr(2,32);ge.generateTraceId=X0;var eA=()=>Math.random().toString(16).substr(2,16);ge.generateSpanId=eA;var tA=()=>{let e=Date.now(),t=Math.random().toString(36).substr(2,9),s=process.pid||0;return`logger_${e}_${t}_${s}`};ge.generateLoggerInstanceId=tA;var sA=()=>{let e,t,s;return{name:"correlation",enrich:n=>(n.correlationId||(e=e||(0,ge.generateCorrelationId)(),n.correlationId=e),n.traceId||(t=t||(0,ge.generateTraceId)(),n.traceId=t),n.spanId||(s=s||(0,ge.generateSpanId)(),n.spanId=s),n)}};ge.createCorrelationEnricher=sA;var nA=e=>{let t=e||`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;return{name:"session",enrich:s=>(s.sessionId||(s.sessionId=t),s)}};ge.createSessionEnricher=nA;var rA=(e,t)=>({name:"environment",enrich:s=>(e&&!s.serviceName&&(s.serviceName=e),t&&!s.stage&&(s.stage=t),s)});ge.createEnvironmentEnricher=rA;var iA=e=>({name:"user",enrich:t=>(e&&!t.userId&&(t.userId=e),t)});ge.createUserEnricher=iA;var oA=e=>({name:"loggerInstance",enrich:t=>(t.instanceId||(t.instanceId=e),t)});ge.createLoggerInstanceEnricher=oA;var aA=e=>t=>e.reduce((s,n)=>n.enrich(s),{...t});ge.createEnrichmentMiddleware=aA;var cA=(e,t,s,n)=>{let r=[(0,ge.createCorrelationEnricher)(),(0,ge.createSessionEnricher)(s),(0,ge.createEnvironmentEnricher)(e,t)];return n&&r.push((0,ge.createLoggerInstanceEnricher)(n)),(0,ge.createEnrichmentMiddleware)(r)};ge.createDefaultEnrichmentMiddleware=cA});var fr=E(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.getParsedType=Ce.ZodParsedType=Ce.objectUtil=Ce.util=void 0;var Ka;(function(e){e.assertEqual=r=>{};function t(r){}e.assertIs=t;function s(r){throw new Error}e.assertNever=s,e.arrayToEnum=r=>{let i={};for(let o of r)i[o]=o;return i},e.getValidEnumValues=r=>{let i=e.objectKeys(r).filter(a=>typeof r[r[a]]!="number"),o={};for(let a of i)o[a]=r[a];return e.objectValues(o)},e.objectValues=r=>e.objectKeys(r).map(function(i){return r[i]}),e.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{let i=[];for(let o in r)Object.prototype.hasOwnProperty.call(r,o)&&i.push(o);return i},e.find=(r,i)=>{for(let o of r)if(i(o))return o},e.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&Number.isFinite(r)&&Math.floor(r)===r;function n(r,i=" | "){return r.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}e.joinValues=n,e.jsonStringifyReplacer=(r,i)=>typeof i=="bigint"?i.toString():i})(Ka||(Ce.util=Ka={}));var fg;(function(e){e.mergeShapes=(t,s)=>({...t,...s})})(fg||(Ce.objectUtil=fg={}));Ce.ZodParsedType=Ka.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var uA=e=>{switch(typeof e){case"undefined":return Ce.ZodParsedType.undefined;case"string":return Ce.ZodParsedType.string;case"number":return Number.isNaN(e)?Ce.ZodParsedType.nan:Ce.ZodParsedType.number;case"boolean":return Ce.ZodParsedType.boolean;case"function":return Ce.ZodParsedType.function;case"bigint":return Ce.ZodParsedType.bigint;case"symbol":return Ce.ZodParsedType.symbol;case"object":return Array.isArray(e)?Ce.ZodParsedType.array:e===null?Ce.ZodParsedType.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?Ce.ZodParsedType.promise:typeof Map<"u"&&e instanceof Map?Ce.ZodParsedType.map:typeof Set<"u"&&e instanceof Set?Ce.ZodParsedType.set:typeof Date<"u"&&e instanceof Date?Ce.ZodParsedType.date:Ce.ZodParsedType.object;default:return Ce.ZodParsedType.unknown}};Ce.getParsedType=uA});var Fi=E(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.ZodError=ns.quotelessJson=ns.ZodIssueCode=void 0;var gg=fr();ns.ZodIssueCode=gg.util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var lA=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");ns.quotelessJson=lA;var gr=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let s=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,s):this.__proto__=s,this.name="ZodError",this.issues=t}format(t){let s=t||function(i){return i.message},n={_errors:[]},r=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(r);else if(o.code==="invalid_return_type")r(o.returnTypeError);else if(o.code==="invalid_arguments")r(o.argumentsError);else if(o.path.length===0)n._errors.push(s(o));else{let a=n,c=0;for(;c<o.path.length;){let u=o.path[c];c===o.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(s(o))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,gg.util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=s=>s.message){let s={},n=[];for(let r of this.issues)if(r.path.length>0){let i=r.path[0];s[i]=s[i]||[],s[i].push(t(r))}else n.push(t(r));return{formErrors:n,fieldErrors:s}}get formErrors(){return this.flatten()}};ns.ZodError=gr;gr.create=e=>new gr(e)});var Ya=E(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var ze=Fi(),Es=fr(),pA=(e,t)=>{let s;switch(e.code){case ze.ZodIssueCode.invalid_type:e.received===Es.ZodParsedType.undefined?s="Required":s=`Expected ${e.expected}, received ${e.received}`;break;case ze.ZodIssueCode.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(e.expected,Es.util.jsonStringifyReplacer)}`;break;case ze.ZodIssueCode.unrecognized_keys:s=`Unrecognized key(s) in object: ${Es.util.joinValues(e.keys,", ")}`;break;case ze.ZodIssueCode.invalid_union:s="Invalid input";break;case ze.ZodIssueCode.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${Es.util.joinValues(e.options)}`;break;case ze.ZodIssueCode.invalid_enum_value:s=`Invalid enum value. Expected ${Es.util.joinValues(e.options)}, received '${e.received}'`;break;case ze.ZodIssueCode.invalid_arguments:s="Invalid function arguments";break;case ze.ZodIssueCode.invalid_return_type:s="Invalid function return type";break;case ze.ZodIssueCode.invalid_date:s="Invalid date";break;case ze.ZodIssueCode.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(s=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(s=`${s} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?s=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?s=`Invalid input: must end with "${e.validation.endsWith}"`:Es.util.assertNever(e.validation):e.validation!=="regex"?s=`Invalid ${e.validation}`:s="Invalid";break;case ze.ZodIssueCode.too_small:e.type==="array"?s=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?s=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?s=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?s=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?s=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:s="Invalid input";break;case ze.ZodIssueCode.too_big:e.type==="array"?s=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?s=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?s=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?s=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?s=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:s="Invalid input";break;case ze.ZodIssueCode.custom:s="Invalid input";break;case ze.ZodIssueCode.invalid_intersection_types:s="Intersection results could not be merged";break;case ze.ZodIssueCode.not_multiple_of:s=`Number must be a multiple of ${e.multipleOf}`;break;case ze.ZodIssueCode.not_finite:s="Number must be finite";break;default:s=t.defaultError,Es.util.assertNever(e)}return{message:s}};Za.default=pA});var Ei=E(rs=>{"use strict";var dA=rs&&rs.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rs,"__esModule",{value:!0});rs.defaultErrorMap=void 0;rs.setErrorMap=mA;rs.getErrorMap=fA;var hg=dA(Ya());rs.defaultErrorMap=hg.default;var yg=hg.default;function mA(e){yg=e}function fA(){return yg}});var Qa=E(De=>{"use strict";var gA=De&&De.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(De,"__esModule",{value:!0});De.isAsync=De.isValid=De.isDirty=De.isAborted=De.OK=De.DIRTY=De.INVALID=De.ParseStatus=De.EMPTY_PATH=De.makeIssue=void 0;De.addIssueToContext=DA;var hA=Ei(),Dg=gA(Ya()),yA=e=>{let{data:t,path:s,errorMaps:n,issueData:r}=e,i=[...s,...r.path||[]],o={...r,path:i};if(r.message!==void 0)return{...r,path:i,message:r.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(o,{data:t,defaultError:a}).message;return{...r,path:i,message:a}};De.makeIssue=yA;De.EMPTY_PATH=[];function DA(e,t){let s=(0,hA.getErrorMap)(),n=(0,De.makeIssue)({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,s,s===Dg.default?void 0:Dg.default].filter(r=>!!r)});e.common.issues.push(n)}var Ja=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,s){let n=[];for(let r of s){if(r.status==="aborted")return De.INVALID;r.status==="dirty"&&t.dirty(),n.push(r.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,s){let n=[];for(let r of s){let i=await r.key,o=await r.value;n.push({key:i,value:o})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,s){let n={};for(let r of s){let{key:i,value:o}=r;if(i.status==="aborted"||o.status==="aborted")return De.INVALID;i.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||r.alwaysSet)&&(n[i.value]=o.value)}return{status:t.value,value:n}}};De.ParseStatus=Ja;De.INVALID=Object.freeze({status:"aborted"});var bA=e=>({status:"dirty",value:e});De.DIRTY=bA;var vA=e=>({status:"valid",value:e});De.OK=vA;var SA=e=>e.status==="aborted";De.isAborted=SA;var CA=e=>e.status==="dirty";De.isDirty=CA;var xA=e=>e.status==="valid";De.isValid=xA;var AA=e=>typeof Promise<"u"&&e instanceof Promise;De.isAsync=AA});var vg=E(bg=>{"use strict";Object.defineProperty(bg,"__esModule",{value:!0})});var Cg=E(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.errorUtil=void 0;var Sg;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(Sg||(Ri.errorUtil=Sg={}))});var Pg=E(C=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.discriminatedUnion=C.date=C.boolean=C.bigint=C.array=C.any=C.coerce=C.ZodFirstPartyTypeKind=C.late=C.ZodSchema=C.Schema=C.ZodReadonly=C.ZodPipeline=C.ZodBranded=C.BRAND=C.ZodNaN=C.ZodCatch=C.ZodDefault=C.ZodNullable=C.ZodOptional=C.ZodTransformer=C.ZodEffects=C.ZodPromise=C.ZodNativeEnum=C.ZodEnum=C.ZodLiteral=C.ZodLazy=C.ZodFunction=C.ZodSet=C.ZodMap=C.ZodRecord=C.ZodTuple=C.ZodIntersection=C.ZodDiscriminatedUnion=C.ZodUnion=C.ZodObject=C.ZodArray=C.ZodVoid=C.ZodNever=C.ZodUnknown=C.ZodAny=C.ZodNull=C.ZodUndefined=C.ZodSymbol=C.ZodDate=C.ZodBoolean=C.ZodBigInt=C.ZodNumber=C.ZodString=C.ZodType=void 0;C.NEVER=C.void=C.unknown=C.union=C.undefined=C.tuple=C.transformer=C.symbol=C.string=C.strictObject=C.set=C.record=C.promise=C.preprocess=C.pipeline=C.ostring=C.optional=C.onumber=C.oboolean=C.object=C.number=C.nullable=C.null=C.never=C.nativeEnum=C.nan=C.map=C.literal=C.lazy=C.intersection=C.instanceof=C.function=C.enum=C.effect=void 0;C.datetimeRegex=Rg;C.custom=Ig;var P=Fi(),wi=Ei(),G=Cg(),A=Qa(),O=fr(),mt=class{constructor(t,s,n,r){this._cachedPath=[],this.parent=t,this.data=s,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},xg=(e,t)=>{if((0,A.isValid)(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let s=new P.ZodError(e.common.issues);return this._error=s,this._error}}};function te(e){if(!e)return{};let{errorMap:t,invalid_type_error:s,required_error:n,description:r}=e;if(t&&(s||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:r}:{errorMap:(o,a)=>{let{message:c}=e;return o.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:c??s??a.defaultError}},description:r}}var se=class{get description(){return this._def.description}_getType(t){return(0,O.getParsedType)(t.data)}_getOrReturnCtx(t,s){return s||{common:t.parent.common,data:t.data,parsedType:(0,O.getParsedType)(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new A.ParseStatus,ctx:{common:t.parent.common,data:t.data,parsedType:(0,O.getParsedType)(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let s=this._parse(t);if((0,A.isAsync)(s))throw new Error("Synchronous parse encountered promise.");return s}_parseAsync(t){let s=this._parse(t);return Promise.resolve(s)}parse(t,s){let n=this.safeParse(t,s);if(n.success)return n.data;throw n.error}safeParse(t,s){let n={common:{issues:[],async:s?.async??!1,contextualErrorMap:s?.errorMap},path:s?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:(0,O.getParsedType)(t)},r=this._parseSync({data:t,path:n.path,parent:n});return xg(n,r)}"~validate"(t){let s={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:(0,O.getParsedType)(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:s});return(0,A.isValid)(n)?{value:n.value}:{issues:s.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),s.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:s}).then(n=>(0,A.isValid)(n)?{value:n.value}:{issues:s.common.issues})}async parseAsync(t,s){let n=await this.safeParseAsync(t,s);if(n.success)return n.data;throw n.error}async safeParseAsync(t,s){let n={common:{issues:[],contextualErrorMap:s?.errorMap,async:!0},path:s?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:(0,O.getParsedType)(t)},r=this._parse({data:t,path:n.path,parent:n}),i=await((0,A.isAsync)(r)?r:Promise.resolve(r));return xg(n,i)}refine(t,s){let n=r=>typeof s=="string"||typeof s>"u"?{message:s}:typeof s=="function"?s(r):s;return this._refinement((r,i)=>{let o=t(r),a=()=>i.addIssue({code:P.ZodIssueCode.custom,...n(r)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,s){return this._refinement((n,r)=>t(n)?!0:(r.addIssue(typeof s=="function"?s(n,r):s),!1))}_refinement(t){return new it({schema:this,typeName:Q.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:s=>this["~validate"](s)}}optional(){return dt.create(this,this._def)}nullable(){return Bt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Vt.create(this)}promise(){return as.create(this,this._def)}or(t){return Ls.create([this,t],this._def)}and(t){return Ps.create(this,t,this._def)}transform(t){return new it({...te(this._def),schema:this,typeName:Q.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let s=typeof t=="function"?t:()=>t;return new Ws({...te(this._def),innerType:this,defaultValue:s,typeName:Q.ZodDefault})}brand(){return new hr({typeName:Q.ZodBranded,type:this,...te(this._def)})}catch(t){let s=typeof t=="function"?t:()=>t;return new js({...te(this._def),innerType:this,catchValue:s,typeName:Q.ZodCatch})}describe(t){let s=this.constructor;return new s({...this._def,description:t})}pipe(t){return yr.create(this,t)}readonly(){return $s.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};C.ZodType=se;C.Schema=se;C.ZodSchema=se;var FA=/^c[^\s-]{8,}$/i,EA=/^[0-9a-z]+$/,RA=/^[0-9A-HJKMNP-TV-Z]{26}$/i,wA=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,IA=/^[a-z0-9_-]{21}$/i,TA=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,kA=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,_A=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,LA="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Xa,PA=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,OA=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,BA=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,MA=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,NA=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,WA=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Fg="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",jA=new RegExp(`^${Fg}$`);function Eg(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let s=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${s}`}function $A(e){return new RegExp(`^${Eg(e)}$`)}function Rg(e){let t=`${Fg}T${Eg(e)}`,s=[];return s.push(e.local?"Z?":"Z"),e.offset&&s.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${s.join("|")})`,new RegExp(`^${t}$`)}function UA(e,t){return!!((t==="v4"||!t)&&PA.test(e)||(t==="v6"||!t)&&BA.test(e))}function GA(e,t){if(!TA.test(e))return!1;try{let[s]=e.split(".");if(!s)return!1;let n=s.replace(/-/g,"+").replace(/_/g,"/").padEnd(s.length+(4-s.length%4)%4,"="),r=JSON.parse(atob(n));return!(typeof r!="object"||r===null||"typ"in r&&r?.typ!=="JWT"||!r.alg||t&&r.alg!==t)}catch{return!1}}function zA(e,t){return!!((t==="v4"||!t)&&OA.test(e)||(t==="v6"||!t)&&MA.test(e))}var is=class e extends se{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==O.ZodParsedType.string){let i=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(i,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.string,received:i.parsedType}),A.INVALID}let n=new A.ParseStatus,r;for(let i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")t.data.length>i.value&&(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let o=t.data.length>i.value,a=t.data.length<i.value;(o||a)&&(r=this._getOrReturnCtx(t,r),o?(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")_A.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"email",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")Xa||(Xa=new RegExp(LA,"u")),Xa.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"emoji",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")wA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"uuid",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="nanoid")IA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"nanoid",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")FA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"cuid",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")EA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"cuid2",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")RA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"ulid",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"url",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"regex",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?Rg(i).test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="date"?jA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?$A(i).test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.invalid_string,validation:"time",message:i.message}),n.dirty()):i.kind==="duration"?kA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"duration",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?UA(t.data,i.version)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"ip",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="jwt"?GA(t.data,i.alg)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"jwt",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="cidr"?zA(t.data,i.version)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"cidr",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="base64"?NA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"base64",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?WA.test(t.data)||(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{validation:"base64url",code:P.ZodIssueCode.invalid_string,message:i.message}),n.dirty()):O.util.assertNever(i);return{status:n.value,value:t.data}}_regex(t,s,n){return this.refinement(r=>t.test(r),{validation:s,code:P.ZodIssueCode.invalid_string,...G.errorUtil.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...G.errorUtil.errToObj(t)})}url(t){return this._addCheck({kind:"url",...G.errorUtil.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...G.errorUtil.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...G.errorUtil.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...G.errorUtil.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...G.errorUtil.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...G.errorUtil.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...G.errorUtil.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...G.errorUtil.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...G.errorUtil.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...G.errorUtil.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...G.errorUtil.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...G.errorUtil.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...G.errorUtil.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...G.errorUtil.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...G.errorUtil.errToObj(t)})}regex(t,s){return this._addCheck({kind:"regex",regex:t,...G.errorUtil.errToObj(s)})}includes(t,s){return this._addCheck({kind:"includes",value:t,position:s?.position,...G.errorUtil.errToObj(s?.message)})}startsWith(t,s){return this._addCheck({kind:"startsWith",value:t,...G.errorUtil.errToObj(s)})}endsWith(t,s){return this._addCheck({kind:"endsWith",value:t,...G.errorUtil.errToObj(s)})}min(t,s){return this._addCheck({kind:"min",value:t,...G.errorUtil.errToObj(s)})}max(t,s){return this._addCheck({kind:"max",value:t,...G.errorUtil.errToObj(s)})}length(t,s){return this._addCheck({kind:"length",value:t,...G.errorUtil.errToObj(s)})}nonempty(t){return this.min(1,G.errorUtil.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxLength(){let t=null;for(let s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}};C.ZodString=is;is.create=e=>new is({checks:[],typeName:Q.ZodString,coerce:e?.coerce??!1,...te(e)});function qA(e,t){let s=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,r=s>n?s:n,i=Number.parseInt(e.toFixed(r).replace(".","")),o=Number.parseInt(t.toFixed(r).replace(".",""));return i%o/10**r}var Rs=class e extends se{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==O.ZodParsedType.number){let i=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(i,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.number,received:i.parsedType}),A.INVALID}let n,r=new A.ParseStatus;for(let i of this._def.checks)i.kind==="int"?O.util.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:i.message}),r.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(n=this._getOrReturnCtx(t,n),(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="multipleOf"?qA(t.data,i.value)!==0&&(n=this._getOrReturnCtx(t,n),(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.not_finite,message:i.message}),r.dirty()):O.util.assertNever(i);return{status:r.value,value:t.data}}gte(t,s){return this.setLimit("min",t,!0,G.errorUtil.toString(s))}gt(t,s){return this.setLimit("min",t,!1,G.errorUtil.toString(s))}lte(t,s){return this.setLimit("max",t,!0,G.errorUtil.toString(s))}lt(t,s){return this.setLimit("max",t,!1,G.errorUtil.toString(s))}setLimit(t,s,n,r){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:s,inclusive:n,message:G.errorUtil.toString(r)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:G.errorUtil.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:G.errorUtil.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:G.errorUtil.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:G.errorUtil.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:G.errorUtil.toString(t)})}multipleOf(t,s){return this._addCheck({kind:"multipleOf",value:t,message:G.errorUtil.toString(s)})}finite(t){return this._addCheck({kind:"finite",message:G.errorUtil.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:G.errorUtil.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:G.errorUtil.toString(t)})}get minValue(){let t=null;for(let s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxValue(){let t=null;for(let s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&O.util.isInteger(t.value))}get isFinite(){let t=null,s=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(s===null||n.value>s)&&(s=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(s)&&Number.isFinite(t)}};C.ZodNumber=Rs;Rs.create=e=>new Rs({checks:[],typeName:Q.ZodNumber,coerce:e?.coerce||!1,...te(e)});var ws=class e extends se{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==O.ZodParsedType.bigint)return this._getInvalidInput(t);let n,r=new A.ParseStatus;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(n=this._getOrReturnCtx(t,n),(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):O.util.assertNever(i);return{status:r.value,value:t.data}}_getInvalidInput(t){let s=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.bigint,received:s.parsedType}),A.INVALID}gte(t,s){return this.setLimit("min",t,!0,G.errorUtil.toString(s))}gt(t,s){return this.setLimit("min",t,!1,G.errorUtil.toString(s))}lte(t,s){return this.setLimit("max",t,!0,G.errorUtil.toString(s))}lt(t,s){return this.setLimit("max",t,!1,G.errorUtil.toString(s))}setLimit(t,s,n,r){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:s,inclusive:n,message:G.errorUtil.toString(r)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:G.errorUtil.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:G.errorUtil.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:G.errorUtil.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:G.errorUtil.toString(t)})}multipleOf(t,s){return this._addCheck({kind:"multipleOf",value:t,message:G.errorUtil.toString(s)})}get minValue(){let t=null;for(let s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxValue(){let t=null;for(let s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}};C.ZodBigInt=ws;ws.create=e=>new ws({checks:[],typeName:Q.ZodBigInt,coerce:e?.coerce??!1,...te(e)});var Is=class extends se{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==O.ZodParsedType.boolean){let n=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.boolean,received:n.parsedType}),A.INVALID}return(0,A.OK)(t.data)}};C.ZodBoolean=Is;Is.create=e=>new Is({typeName:Q.ZodBoolean,coerce:e?.coerce||!1,...te(e)});var Ts=class e extends se{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==O.ZodParsedType.date){let i=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(i,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.date,received:i.parsedType}),A.INVALID}if(Number.isNaN(t.data.getTime())){let i=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(i,{code:P.ZodIssueCode.invalid_date}),A.INVALID}let n=new A.ParseStatus,r;for(let i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(r=this._getOrReturnCtx(t,r),(0,A.addIssueToContext)(r,{code:P.ZodIssueCode.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):O.util.assertNever(i);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,s){return this._addCheck({kind:"min",value:t.getTime(),message:G.errorUtil.toString(s)})}max(t,s){return this._addCheck({kind:"max",value:t.getTime(),message:G.errorUtil.toString(s)})}get minDate(){let t=null;for(let s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t!=null?new Date(t):null}};C.ZodDate=Ts;Ts.create=e=>new Ts({checks:[],coerce:e?.coerce||!1,typeName:Q.ZodDate,...te(e)});var Cn=class extends se{_parse(t){if(this._getType(t)!==O.ZodParsedType.symbol){let n=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.symbol,received:n.parsedType}),A.INVALID}return(0,A.OK)(t.data)}};C.ZodSymbol=Cn;Cn.create=e=>new Cn({typeName:Q.ZodSymbol,...te(e)});var ks=class extends se{_parse(t){if(this._getType(t)!==O.ZodParsedType.undefined){let n=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.undefined,received:n.parsedType}),A.INVALID}return(0,A.OK)(t.data)}};C.ZodUndefined=ks;ks.create=e=>new ks({typeName:Q.ZodUndefined,...te(e)});var _s=class extends se{_parse(t){if(this._getType(t)!==O.ZodParsedType.null){let n=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.null,received:n.parsedType}),A.INVALID}return(0,A.OK)(t.data)}};C.ZodNull=_s;_s.create=e=>new _s({typeName:Q.ZodNull,...te(e)});var os=class extends se{constructor(){super(...arguments),this._any=!0}_parse(t){return(0,A.OK)(t.data)}};C.ZodAny=os;os.create=e=>new os({typeName:Q.ZodAny,...te(e)});var Ht=class extends se{constructor(){super(...arguments),this._unknown=!0}_parse(t){return(0,A.OK)(t.data)}};C.ZodUnknown=Ht;Ht.create=e=>new Ht({typeName:Q.ZodUnknown,...te(e)});var Et=class extends se{_parse(t){let s=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.never,received:s.parsedType}),A.INVALID}};C.ZodNever=Et;Et.create=e=>new Et({typeName:Q.ZodNever,...te(e)});var xn=class extends se{_parse(t){if(this._getType(t)!==O.ZodParsedType.undefined){let n=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.void,received:n.parsedType}),A.INVALID}return(0,A.OK)(t.data)}};C.ZodVoid=xn;xn.create=e=>new xn({typeName:Q.ZodVoid,...te(e)});var Vt=class e extends se{_parse(t){let{ctx:s,status:n}=this._processInputParams(t),r=this._def;if(s.parsedType!==O.ZodParsedType.array)return(0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.array,received:s.parsedType}),A.INVALID;if(r.exactLength!==null){let o=s.data.length>r.exactLength.value,a=s.data.length<r.exactLength.value;(o||a)&&((0,A.addIssueToContext)(s,{code:o?P.ZodIssueCode.too_big:P.ZodIssueCode.too_small,minimum:a?r.exactLength.value:void 0,maximum:o?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&s.data.length<r.minLength.value&&((0,A.addIssueToContext)(s,{code:P.ZodIssueCode.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&s.data.length>r.maxLength.value&&((0,A.addIssueToContext)(s,{code:P.ZodIssueCode.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),s.common.async)return Promise.all([...s.data].map((o,a)=>r.type._parseAsync(new mt(s,o,s.path,a)))).then(o=>A.ParseStatus.mergeArray(n,o));let i=[...s.data].map((o,a)=>r.type._parseSync(new mt(s,o,s.path,a)));return A.ParseStatus.mergeArray(n,i)}get element(){return this._def.type}min(t,s){return new e({...this._def,minLength:{value:t,message:G.errorUtil.toString(s)}})}max(t,s){return new e({...this._def,maxLength:{value:t,message:G.errorUtil.toString(s)}})}length(t,s){return new e({...this._def,exactLength:{value:t,message:G.errorUtil.toString(s)}})}nonempty(t){return this.min(1,t)}};C.ZodArray=Vt;Vt.create=(e,t)=>new Vt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Q.ZodArray,...te(t)});function Sn(e){if(e instanceof Qe){let t={};for(let s in e.shape){let n=e.shape[s];t[s]=dt.create(Sn(n))}return new Qe({...e._def,shape:()=>t})}else return e instanceof Vt?new Vt({...e._def,type:Sn(e.element)}):e instanceof dt?dt.create(Sn(e.unwrap())):e instanceof Bt?Bt.create(Sn(e.unwrap())):e instanceof Ot?Ot.create(e.items.map(t=>Sn(t))):e}var Qe=class e extends se{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),s=O.util.objectKeys(t);return this._cached={shape:t,keys:s},this._cached}_parse(t){if(this._getType(t)!==O.ZodParsedType.object){let u=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(u,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.object,received:u.parsedType}),A.INVALID}let{status:n,ctx:r}=this._processInputParams(t),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Et&&this._def.unknownKeys==="strip"))for(let u in r.data)o.includes(u)||a.push(u);let c=[];for(let u of o){let l=i[u],p=r.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new mt(r,p,r.path,u)),alwaysSet:u in r.data})}if(this._def.catchall instanceof Et){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:r.data[l]}});else if(u==="strict")a.length>0&&((0,A.addIssueToContext)(r,{code:P.ZodIssueCode.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let p=r.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new mt(r,p,r.path,l)),alwaysSet:l in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let p=await l.key,d=await l.value;u.push({key:p,value:d,alwaysSet:l.alwaysSet})}return u}).then(u=>A.ParseStatus.mergeObjectSync(n,u)):A.ParseStatus.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(t){return G.errorUtil.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(s,n)=>{let r=this._def.errorMap?.(s,n).message??n.defaultError;return s.code==="unrecognized_keys"?{message:G.errorUtil.errToObj(t).message??r}:{message:r}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Q.ZodObject})}setKey(t,s){return this.augment({[t]:s})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let s={};for(let n of O.util.objectKeys(t))t[n]&&this.shape[n]&&(s[n]=this.shape[n]);return new e({...this._def,shape:()=>s})}omit(t){let s={};for(let n of O.util.objectKeys(this.shape))t[n]||(s[n]=this.shape[n]);return new e({...this._def,shape:()=>s})}deepPartial(){return Sn(this)}partial(t){let s={};for(let n of O.util.objectKeys(this.shape)){let r=this.shape[n];t&&!t[n]?s[n]=r:s[n]=r.optional()}return new e({...this._def,shape:()=>s})}required(t){let s={};for(let n of O.util.objectKeys(this.shape))if(t&&!t[n])s[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof dt;)i=i._def.innerType;s[n]=i}return new e({...this._def,shape:()=>s})}keyof(){return wg(O.util.objectKeys(this.shape))}};C.ZodObject=Qe;Qe.create=(e,t)=>new Qe({shape:()=>e,unknownKeys:"strip",catchall:Et.create(),typeName:Q.ZodObject,...te(t)});Qe.strictCreate=(e,t)=>new Qe({shape:()=>e,unknownKeys:"strict",catchall:Et.create(),typeName:Q.ZodObject,...te(t)});Qe.lazycreate=(e,t)=>new Qe({shape:e,unknownKeys:"strip",catchall:Et.create(),typeName:Q.ZodObject,...te(t)});var Ls=class extends se{_parse(t){let{ctx:s}=this._processInputParams(t),n=this._def.options;function r(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return s.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(a=>new P.ZodError(a.ctx.common.issues));return(0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_union,unionErrors:o}),A.INVALID}if(s.common.async)return Promise.all(n.map(async i=>{let o={...s,common:{...s.common,issues:[]},parent:null};return{result:await i._parseAsync({data:s.data,path:s.path,parent:o}),ctx:o}})).then(r);{let i,o=[];for(let c of n){let u={...s,common:{...s.common,issues:[]},parent:null},l=c._parseSync({data:s.data,path:s.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!i&&(i={result:l,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(i)return s.common.issues.push(...i.ctx.common.issues),i.result;let a=o.map(c=>new P.ZodError(c));return(0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_union,unionErrors:a}),A.INVALID}}get options(){return this._def.options}};C.ZodUnion=Ls;Ls.create=(e,t)=>new Ls({options:e,typeName:Q.ZodUnion,...te(t)});var qt=e=>e instanceof Os?qt(e.schema):e instanceof it?qt(e.innerType()):e instanceof Bs?[e.value]:e instanceof Ms?e.options:e instanceof Ns?O.util.objectValues(e.enum):e instanceof Ws?qt(e._def.innerType):e instanceof ks?[void 0]:e instanceof _s?[null]:e instanceof dt?[void 0,...qt(e.unwrap())]:e instanceof Bt?[null,...qt(e.unwrap())]:e instanceof hr||e instanceof $s?qt(e.unwrap()):e instanceof js?qt(e._def.innerType):[],Ii=class e extends se{_parse(t){let{ctx:s}=this._processInputParams(t);if(s.parsedType!==O.ZodParsedType.object)return(0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.object,received:s.parsedType}),A.INVALID;let n=this.discriminator,r=s.data[n],i=this.optionsMap.get(r);return i?s.common.async?i._parseAsync({data:s.data,path:s.path,parent:s}):i._parseSync({data:s.data,path:s.path,parent:s}):((0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,s,n){let r=new Map;for(let i of s){let o=qt(i.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of o){if(r.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);r.set(a,i)}}return new e({typeName:Q.ZodDiscriminatedUnion,discriminator:t,options:s,optionsMap:r,...te(n)})}};C.ZodDiscriminatedUnion=Ii;function ec(e,t){let s=(0,O.getParsedType)(e),n=(0,O.getParsedType)(t);if(e===t)return{valid:!0,data:e};if(s===O.ZodParsedType.object&&n===O.ZodParsedType.object){let r=O.util.objectKeys(t),i=O.util.objectKeys(e).filter(a=>r.indexOf(a)!==-1),o={...e,...t};for(let a of i){let c=ec(e[a],t[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(s===O.ZodParsedType.array&&n===O.ZodParsedType.array){if(e.length!==t.length)return{valid:!1};let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=t[i],c=ec(o,a);if(!c.valid)return{valid:!1};r.push(c.data)}return{valid:!0,data:r}}else return s===O.ZodParsedType.date&&n===O.ZodParsedType.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Ps=class extends se{_parse(t){let{status:s,ctx:n}=this._processInputParams(t),r=(i,o)=>{if((0,A.isAborted)(i)||(0,A.isAborted)(o))return A.INVALID;let a=ec(i.value,o.value);return a.valid?(((0,A.isDirty)(i)||(0,A.isDirty)(o))&&s.dirty(),{status:s.value,value:a.data}):((0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_intersection_types}),A.INVALID)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,o])=>r(i,o)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};C.ZodIntersection=Ps;Ps.create=(e,t,s)=>new Ps({left:e,right:t,typeName:Q.ZodIntersection,...te(s)});var Ot=class e extends se{_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.parsedType!==O.ZodParsedType.array)return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.array,received:n.parsedType}),A.INVALID;if(n.data.length<this._def.items.length)return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A.INVALID;!this._def.rest&&n.data.length>this._def.items.length&&((0,A.addIssueToContext)(n,{code:P.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),s.dirty());let i=[...n.data].map((o,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new mt(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>A.ParseStatus.mergeArray(s,o)):A.ParseStatus.mergeArray(s,i)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};C.ZodTuple=Ot;Ot.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ot({items:e,typeName:Q.ZodTuple,rest:null,...te(t)})};var Ti=class e extends se{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.parsedType!==O.ZodParsedType.object)return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.object,received:n.parsedType}),A.INVALID;let r=[],i=this._def.keyType,o=this._def.valueType;for(let a in n.data)r.push({key:i._parse(new mt(n,a,n.path,a)),value:o._parse(new mt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?A.ParseStatus.mergeObjectAsync(s,r):A.ParseStatus.mergeObjectSync(s,r)}get element(){return this._def.valueType}static create(t,s,n){return s instanceof se?new e({keyType:t,valueType:s,typeName:Q.ZodRecord,...te(n)}):new e({keyType:is.create(),valueType:t,typeName:Q.ZodRecord,...te(s)})}};C.ZodRecord=Ti;var An=class extends se{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.parsedType!==O.ZodParsedType.map)return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.map,received:n.parsedType}),A.INVALID;let r=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([a,c],u)=>({key:r._parse(new mt(n,a,n.path,[u,"key"])),value:i._parse(new mt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return A.INVALID;(u.status==="dirty"||l.status==="dirty")&&s.dirty(),a.set(u.value,l.value)}return{status:s.value,value:a}})}else{let a=new Map;for(let c of o){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return A.INVALID;(u.status==="dirty"||l.status==="dirty")&&s.dirty(),a.set(u.value,l.value)}return{status:s.value,value:a}}}};C.ZodMap=An;An.create=(e,t,s)=>new An({valueType:t,keyType:e,typeName:Q.ZodMap,...te(s)});var Fn=class e extends se{_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.parsedType!==O.ZodParsedType.set)return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.set,received:n.parsedType}),A.INVALID;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&((0,A.addIssueToContext)(n,{code:P.ZodIssueCode.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),s.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&((0,A.addIssueToContext)(n,{code:P.ZodIssueCode.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),s.dirty());let i=this._def.valueType;function o(c){let u=new Set;for(let l of c){if(l.status==="aborted")return A.INVALID;l.status==="dirty"&&s.dirty(),u.add(l.value)}return{status:s.value,value:u}}let a=[...n.data.values()].map((c,u)=>i._parse(new mt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(t,s){return new e({...this._def,minSize:{value:t,message:G.errorUtil.toString(s)}})}max(t,s){return new e({...this._def,maxSize:{value:t,message:G.errorUtil.toString(s)}})}size(t,s){return this.min(t,s).max(t,s)}nonempty(t){return this.min(1,t)}};C.ZodSet=Fn;Fn.create=(e,t)=>new Fn({valueType:e,minSize:null,maxSize:null,typeName:Q.ZodSet,...te(t)});var ki=class e extends se{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:s}=this._processInputParams(t);if(s.parsedType!==O.ZodParsedType.function)return(0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.function,received:s.parsedType}),A.INVALID;function n(a,c){return(0,A.makeIssue)({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,(0,wi.getErrorMap)(),wi.defaultErrorMap].filter(u=>!!u),issueData:{code:P.ZodIssueCode.invalid_arguments,argumentsError:c}})}function r(a,c){return(0,A.makeIssue)({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,(0,wi.getErrorMap)(),wi.defaultErrorMap].filter(u=>!!u),issueData:{code:P.ZodIssueCode.invalid_return_type,returnTypeError:c}})}let i={errorMap:s.common.contextualErrorMap},o=s.data;if(this._def.returns instanceof as){let a=this;return(0,A.OK)(async function(...c){let u=new P.ZodError([]),l=await a._def.args.parseAsync(c,i).catch(f=>{throw u.addIssue(n(c,f)),u}),p=await Reflect.apply(o,this,l);return await a._def.returns._def.type.parseAsync(p,i).catch(f=>{throw u.addIssue(r(p,f)),u})})}else{let a=this;return(0,A.OK)(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new P.ZodError([n(c,u.error)]);let l=Reflect.apply(o,this,u.data),p=a._def.returns.safeParse(l,i);if(!p.success)throw new P.ZodError([r(l,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Ot.create(t).rest(Ht.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,s,n){return new e({args:t||Ot.create([]).rest(Ht.create()),returns:s||Ht.create(),typeName:Q.ZodFunction,...te(n)})}};C.ZodFunction=ki;var Os=class extends se{get schema(){return this._def.getter()}_parse(t){let{ctx:s}=this._processInputParams(t);return this._def.getter()._parse({data:s.data,path:s.path,parent:s})}};C.ZodLazy=Os;Os.create=(e,t)=>new Os({getter:e,typeName:Q.ZodLazy,...te(t)});var Bs=class extends se{_parse(t){if(t.data!==this._def.value){let s=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(s,{received:s.data,code:P.ZodIssueCode.invalid_literal,expected:this._def.value}),A.INVALID}return{status:"valid",value:t.data}}get value(){return this._def.value}};C.ZodLiteral=Bs;Bs.create=(e,t)=>new Bs({value:e,typeName:Q.ZodLiteral,...te(t)});function wg(e,t){return new Ms({values:e,typeName:Q.ZodEnum,...te(t)})}var Ms=class e extends se{_parse(t){if(typeof t.data!="string"){let s=this._getOrReturnCtx(t),n=this._def.values;return(0,A.addIssueToContext)(s,{expected:O.util.joinValues(n),received:s.parsedType,code:P.ZodIssueCode.invalid_type}),A.INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let s=this._getOrReturnCtx(t),n=this._def.values;return(0,A.addIssueToContext)(s,{received:s.data,code:P.ZodIssueCode.invalid_enum_value,options:n}),A.INVALID}return(0,A.OK)(t.data)}get options(){return this._def.values}get enum(){let t={};for(let s of this._def.values)t[s]=s;return t}get Values(){let t={};for(let s of this._def.values)t[s]=s;return t}get Enum(){let t={};for(let s of this._def.values)t[s]=s;return t}extract(t,s=this._def){return e.create(t,{...this._def,...s})}exclude(t,s=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...s})}};C.ZodEnum=Ms;Ms.create=wg;var Ns=class extends se{_parse(t){let s=O.util.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==O.ZodParsedType.string&&n.parsedType!==O.ZodParsedType.number){let r=O.util.objectValues(s);return(0,A.addIssueToContext)(n,{expected:O.util.joinValues(r),received:n.parsedType,code:P.ZodIssueCode.invalid_type}),A.INVALID}if(this._cache||(this._cache=new Set(O.util.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let r=O.util.objectValues(s);return(0,A.addIssueToContext)(n,{received:n.data,code:P.ZodIssueCode.invalid_enum_value,options:r}),A.INVALID}return(0,A.OK)(t.data)}get enum(){return this._def.values}};C.ZodNativeEnum=Ns;Ns.create=(e,t)=>new Ns({values:e,typeName:Q.ZodNativeEnum,...te(t)});var as=class extends se{unwrap(){return this._def.type}_parse(t){let{ctx:s}=this._processInputParams(t);if(s.parsedType!==O.ZodParsedType.promise&&s.common.async===!1)return(0,A.addIssueToContext)(s,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.promise,received:s.parsedType}),A.INVALID;let n=s.parsedType===O.ZodParsedType.promise?s.data:Promise.resolve(s.data);return(0,A.OK)(n.then(r=>this._def.type.parseAsync(r,{path:s.path,errorMap:s.common.contextualErrorMap})))}};C.ZodPromise=as;as.create=(e,t)=>new as({type:e,typeName:Q.ZodPromise,...te(t)});var it=class extends se{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:s,ctx:n}=this._processInputParams(t),r=this._def.effect||null,i={addIssue:o=>{(0,A.addIssueToContext)(n,o),o.fatal?s.abort():s.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type==="preprocess"){let o=r.transform(n.data,i);if(n.common.async)return Promise.resolve(o).then(async a=>{if(s.value==="aborted")return A.INVALID;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?A.INVALID:c.status==="dirty"||s.value==="dirty"?(0,A.DIRTY)(c.value):c});{if(s.value==="aborted")return A.INVALID;let a=this._def.schema._parseSync({data:o,path:n.path,parent:n});return a.status==="aborted"?A.INVALID:a.status==="dirty"||s.value==="dirty"?(0,A.DIRTY)(a.value):a}}if(r.type==="refinement"){let o=a=>{let c=r.refinement(a,i);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?A.INVALID:(a.status==="dirty"&&s.dirty(),o(a.value),{status:s.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?A.INVALID:(a.status==="dirty"&&s.dirty(),o(a.value).then(()=>({status:s.value,value:a.value}))))}if(r.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!(0,A.isValid)(o))return A.INVALID;let a=r.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:s.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>(0,A.isValid)(o)?Promise.resolve(r.transform(o.value,i)).then(a=>({status:s.value,value:a})):A.INVALID);O.util.assertNever(r)}};C.ZodEffects=it;C.ZodTransformer=it;it.create=(e,t,s)=>new it({schema:e,typeName:Q.ZodEffects,effect:t,...te(s)});it.createWithPreprocess=(e,t,s)=>new it({schema:t,effect:{type:"preprocess",transform:e},typeName:Q.ZodEffects,...te(s)});var dt=class extends se{_parse(t){return this._getType(t)===O.ZodParsedType.undefined?(0,A.OK)(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};C.ZodOptional=dt;dt.create=(e,t)=>new dt({innerType:e,typeName:Q.ZodOptional,...te(t)});var Bt=class extends se{_parse(t){return this._getType(t)===O.ZodParsedType.null?(0,A.OK)(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};C.ZodNullable=Bt;Bt.create=(e,t)=>new Bt({innerType:e,typeName:Q.ZodNullable,...te(t)});var Ws=class extends se{_parse(t){let{ctx:s}=this._processInputParams(t),n=s.data;return s.parsedType===O.ZodParsedType.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:s.path,parent:s})}removeDefault(){return this._def.innerType}};C.ZodDefault=Ws;Ws.create=(e,t)=>new Ws({innerType:e,typeName:Q.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...te(t)});var js=class extends se{_parse(t){let{ctx:s}=this._processInputParams(t),n={...s,common:{...s.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return(0,A.isAsync)(r)?r.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new P.ZodError(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new P.ZodError(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};C.ZodCatch=js;js.create=(e,t)=>new js({innerType:e,typeName:Q.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...te(t)});var En=class extends se{_parse(t){if(this._getType(t)!==O.ZodParsedType.nan){let n=this._getOrReturnCtx(t);return(0,A.addIssueToContext)(n,{code:P.ZodIssueCode.invalid_type,expected:O.ZodParsedType.nan,received:n.parsedType}),A.INVALID}return{status:"valid",value:t.data}}};C.ZodNaN=En;En.create=e=>new En({typeName:Q.ZodNaN,...te(e)});C.BRAND=Symbol("zod_brand");var hr=class extends se{_parse(t){let{ctx:s}=this._processInputParams(t),n=s.data;return this._def.type._parse({data:n,path:s.path,parent:s})}unwrap(){return this._def.type}};C.ZodBranded=hr;var yr=class e extends se{_parse(t){let{status:s,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?A.INVALID:i.status==="dirty"?(s.dirty(),(0,A.DIRTY)(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let r=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return r.status==="aborted"?A.INVALID:r.status==="dirty"?(s.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:n.path,parent:n})}}static create(t,s){return new e({in:t,out:s,typeName:Q.ZodPipeline})}};C.ZodPipeline=yr;var $s=class extends se{_parse(t){let s=this._def.innerType._parse(t),n=r=>((0,A.isValid)(r)&&(r.value=Object.freeze(r.value)),r);return(0,A.isAsync)(s)?s.then(r=>n(r)):n(s)}unwrap(){return this._def.innerType}};C.ZodReadonly=$s;$s.create=(e,t)=>new $s({innerType:e,typeName:Q.ZodReadonly,...te(t)});function Ag(e,t){let s=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof s=="string"?{message:s}:s}function Ig(e,t={},s){return e?os.create().superRefine((n,r)=>{let i=e(n);if(i instanceof Promise)return i.then(o=>{if(!o){let a=Ag(t,n),c=a.fatal??s??!0;r.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=Ag(t,n),a=o.fatal??s??!0;r.addIssue({code:"custom",...o,fatal:a})}}):os.create()}C.late={object:Qe.lazycreate};var Q;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Q||(C.ZodFirstPartyTypeKind=Q={}));var HA=(e,t={message:`Input not instance of ${e.name}`})=>Ig(s=>s instanceof e,t);C.instanceof=HA;var Tg=is.create;C.string=Tg;var kg=Rs.create;C.number=kg;var VA=En.create;C.nan=VA;var KA=ws.create;C.bigint=KA;var _g=Is.create;C.boolean=_g;var ZA=Ts.create;C.date=ZA;var YA=Cn.create;C.symbol=YA;var JA=ks.create;C.undefined=JA;var QA=_s.create;C.null=QA;var XA=os.create;C.any=XA;var eF=Ht.create;C.unknown=eF;var tF=Et.create;C.never=tF;var sF=xn.create;C.void=sF;var nF=Vt.create;C.array=nF;var rF=Qe.create;C.object=rF;var iF=Qe.strictCreate;C.strictObject=iF;var oF=Ls.create;C.union=oF;var aF=Ii.create;C.discriminatedUnion=aF;var cF=Ps.create;C.intersection=cF;var uF=Ot.create;C.tuple=uF;var lF=Ti.create;C.record=lF;var pF=An.create;C.map=pF;var dF=Fn.create;C.set=dF;var mF=ki.create;C.function=mF;var fF=Os.create;C.lazy=fF;var gF=Bs.create;C.literal=gF;var hF=Ms.create;C.enum=hF;var yF=Ns.create;C.nativeEnum=yF;var DF=as.create;C.promise=DF;var Lg=it.create;C.effect=Lg;C.transformer=Lg;var bF=dt.create;C.optional=bF;var vF=Bt.create;C.nullable=vF;var SF=it.createWithPreprocess;C.preprocess=SF;var CF=yr.create;C.pipeline=CF;var xF=()=>Tg().optional();C.ostring=xF;var AF=()=>kg().optional();C.onumber=AF;var FF=()=>_g().optional();C.oboolean=FF;C.coerce={string:e=>is.create({...e,coerce:!0}),number:e=>Rs.create({...e,coerce:!0}),boolean:e=>Is.create({...e,coerce:!0}),bigint:e=>ws.create({...e,coerce:!0}),date:e=>Ts.create({...e,coerce:!0})};C.NEVER=A.INVALID});var tc=E(ft=>{"use strict";var EF=ft&&ft.__createBinding||(Object.create?function(e,t,s,n){n===void 0&&(n=s);var r=Object.getOwnPropertyDescriptor(t,s);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,n,r)}:function(e,t,s,n){n===void 0&&(n=s),e[n]=t[s]}),Rn=ft&&ft.__exportStar||function(e,t){for(var s in e)s!=="default"&&!Object.prototype.hasOwnProperty.call(t,s)&&EF(t,e,s)};Object.defineProperty(ft,"__esModule",{value:!0});Rn(Ei(),ft);Rn(Qa(),ft);Rn(vg(),ft);Rn(fr(),ft);Rn(Pg(),ft);Rn(Fi(),ft)});var Mg=E(Xe=>{"use strict";var Og=Xe&&Xe.__createBinding||(Object.create?function(e,t,s,n){n===void 0&&(n=s);var r=Object.getOwnPropertyDescriptor(t,s);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,n,r)}:function(e,t,s,n){n===void 0&&(n=s),e[n]=t[s]}),RF=Xe&&Xe.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),wF=Xe&&Xe.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var s in e)s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)&&Og(t,e,s);return RF(t,e),t},IF=Xe&&Xe.__exportStar||function(e,t){for(var s in e)s!=="default"&&!Object.prototype.hasOwnProperty.call(t,s)&&Og(t,e,s)};Object.defineProperty(Xe,"__esModule",{value:!0});Xe.z=void 0;var Bg=wF(tc());Xe.z=Bg;IF(tc(),Xe);Xe.default=Bg});var sc=E(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.getEnvironment=void 0;var Kt=Mg(),TF=Kt.z.object({LOG_LEVEL:Kt.z.enum(["DEBUG","INFO","WARN","ERROR","FATAL"]).optional(),STAGE:Kt.z.enum(["dev","prod","test"]).default("dev"),SERVICE_NAME:Kt.z.string().optional(),ENABLE_STRUCTURED_LOGGING:Kt.z.string().transform(e=>e==="true").optional(),CLOUDWATCH_LOG_GROUP:Kt.z.string().optional(),CLOUDWATCH_LOG_STREAM:Kt.z.string().optional(),AWS_REGION:Kt.z.string().optional()}),kF=(e=process.env)=>{let t;try{t=TF.parse(e)}catch(s){s instanceof Kt.z.ZodError&&console.warn("Environment validation failed, using defaults:",s.errors),t={STAGE:"dev"}}return{...t,isProduction:t.STAGE==="prod",isDevelopment:t.STAGE==="dev",logLevel:t.LOG_LEVEL??void 0,serviceName:t.SERVICE_NAME??void 0,enableStructuredLogging:t.ENABLE_STRUCTURED_LOGGING??!0,stage:t.STAGE}};_i.getEnvironment=kF});var nc=E(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.createLogFilter=Mt.createSampler=Mt.createRateLimiter=void 0;var _F=(e,t)=>{let s={tokens:t,lastRefill:Date.now(),maxTokens:t,refillRate:e},n=()=>{let i=Date.now(),a=(i-s.lastRefill)/1e3*s.refillRate;s.tokens=Math.min(s.maxTokens,s.tokens+a),s.lastRefill=i};return{tryConsume:(i=1)=>(n(),s.tokens>=i?(s.tokens-=i,!0):!1),getState:()=>({...s})}};Mt.createRateLimiter=_F;var LF=e=>{let t={totalLogs:0,sampledLogs:0};return{shouldSample:()=>(t.totalLogs++,e>=1?(t.sampledLogs++,!0):e<=0?!1:Math.random()<=e?(t.sampledLogs++,!0):!1),getStats:()=>({totalLogs:t.totalLogs,sampledLogs:t.sampledLogs,samplingRate:t.totalLogs>0?t.sampledLogs/t.totalLogs:0,configuredRate:e})}};Mt.createSampler=LF;var PF=e=>{let t=e.rateLimit?(0,Mt.createRateLimiter)(e.rateLimit.maxLogsPerSecond,e.rateLimit.burstSize):null,s=e.samplingRate!==void 0?(0,Mt.createSampler)(e.samplingRate):null;return{shouldLog:()=>!t&&!s?!0:!(t&&!t.tryConsume()||s&&!s.shouldSample()),getStats:()=>({rateLimit:t?.getState(),sampling:s?.getStats()})}};Mt.createLogFilter=PF});var rc=E(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.printLoggerConfig=gt.createStrogger=gt.strogger=gt.createLogger=void 0;var OF=za(),BF=Ai(),ve=Ft(),MF=Ha(),Ng=Va(),NF=sc(),WF=nc(),Wg=e=>{if(!e||typeof e!="object")return console.warn("[strogger] No environment provided, defaulting to DEBUG"),ve.LogLevel.DEBUG;switch(e.LOG_LEVEL?.toUpperCase()){case"DEBUG":return ve.LogLevel.DEBUG;case"INFO":return ve.LogLevel.INFO;case"WARN":return ve.LogLevel.WARN;case"ERROR":return ve.LogLevel.ERROR;case"FATAL":return ve.LogLevel.FATAL;case void 0:return e.STAGE==="prod"?ve.LogLevel.INFO:ve.LogLevel.DEBUG;default:return console.warn(`[strogger] Invalid LOG_LEVEL '${e.LOG_LEVEL}' provided. Defaulting to ${e.STAGE==="prod"?"INFO":"DEBUG"}.`),e.STAGE==="prod"?ve.LogLevel.INFO:ve.LogLevel.DEBUG}},jF=(e,t)=>e>=(t.level!==void 0?t.level:ve.LogLevel.INFO),$F=(e,t,s,n,r,i)=>({timestamp:new Date().toISOString(),level:t,message:s,context:{...e.stage&&{stage:e.stage},...e.serviceName&&{serviceName:e.serviceName},...n},error:r?{name:r.name,message:r.message,stack:r.stack}:void 0,metadata:i}),UF=({config:e={},transports:t=[],formatter:s,env:n})=>{let r=e.instanceId||(0,Ng.generateLoggerInstanceId)(),i={level:Wg(n),serviceName:n.SERVICE_NAME||void 0,stage:n.STAGE||"dev",enableStructuredLogging:n.ENABLE_STRUCTURED_LOGGING??!0,includeTimestamp:!0,includeLogLevel:!0,instanceId:r,...e};if(typeof i.level=="string")switch(i.level.toUpperCase()){case"DEBUG":i.level=ve.LogLevel.DEBUG;break;case"INFO":i.level=ve.LogLevel.INFO;break;case"WARN":i.level=ve.LogLevel.WARN;break;case"ERROR":i.level=ve.LogLevel.ERROR;break;case"FATAL":i.level=ve.LogLevel.FATAL;break;default:i.level=ve.LogLevel.INFO}e.level!==void 0&&(i.level=e.level);let o=(0,WF.createLogFilter)(i),a=(0,Ng.createDefaultEnrichmentMiddleware)(i.serviceName,i.stage,void 0,r),u=e.batching===!0?t.map(p=>(0,MF.createBatchedTransport)(p,{maxSize:50,maxWaitTime:2e3,maxBatchSize:512*1024})):t,l=async(p,d,f,m,g)=>{if(!jF(p,i)||(i.samplingRate!==void 0||i.rateLimit)&&!o.shouldLog())return;let h=a(f||{}),y=$F(i,p,d,h,m,g),D=y;if(typeof i.redact=="function"&&(D=i.redact(y)),typeof i.validate=="function")try{i.validate(D)}catch(v){console.error("[LOGGER ERROR] Log entry validation failed:",v);return}if(Array.isArray(i.hooks))for(let v of i.hooks)try{let R=v(D);R&&typeof R.then=="function"&&await R}catch(R){console.error("[LOGGER ERROR] Log hook failed:",R)}let S=await Promise.allSettled(u.map(v=>v.log(D)));for(let v of S)v.status==="rejected"&&console.error(v.reason)};return{debug:(p,d,f)=>l(ve.LogLevel.DEBUG,p,d,void 0,f),info:(p,d,f)=>l(ve.LogLevel.INFO,p,d,void 0,f),warn:(p,d,f,m)=>l(ve.LogLevel.WARN,p,d,f,m),error:(p,d,f,m)=>l(ve.LogLevel.ERROR,p,d,f,m),fatal:(p,d,f,m)=>l(ve.LogLevel.FATAL,p,d,f,m),logFunctionStart:(p,d,f)=>l(ve.LogLevel.INFO,`Function ${p} started`,{...d,functionName:p},void 0,f),logFunctionEnd:(p,d,f,m)=>l(ve.LogLevel.INFO,`Function ${p} completed in ${d}ms`,{...f,functionName:p,duration:d},void 0,m),logDatabaseOperation:(p,d,f,m)=>l(ve.LogLevel.DEBUG,`Database operation: ${p} on table ${d}`,{...f,operation:p,table:d},void 0,m),logApiRequest:(p,d,f,m,g)=>l(ve.LogLevel.INFO,`API ${p} ${d} - ${f}`,{...m,method:p,path:d,statusCode:f},void 0,g),setLevel:p=>{i.level=p;for(let d of t)d.setLevel?.(p)},getLevel:()=>i.level!==void 0?i.level:ve.LogLevel.INFO,getInstanceId:()=>r,addTransport:p=>t.push(p),removeTransport:p=>{let d=t.indexOf(p);d>-1&&t.splice(d,1)},setFormatter:p=>{},getSamplingStats:()=>o.getStats(),flush:async()=>{await Promise.allSettled(u.map(p=>p.flush?.()||Promise.resolve()))},getBatchStats:()=>u.map(p=>p.getStats?.()||{})}};gt.createLogger=UF;var GF=(0,NF.getEnvironment)(),jg=(0,OF.createJsonFormatter)(),zF=(0,BF.createConsoleTransport)({formatter:jg});gt.strogger=(0,gt.createLogger)({config:{},transports:[zF],formatter:jg,env:GF});gt.createStrogger=gt.createLogger;var qF=e=>{let t=Wg(e);console.log("--- Strogger Logger Configuration ---"),console.log("LOG_LEVEL:",e.LOG_LEVEL??"(default)"),console.log("STAGE:",e.STAGE??"dev"),console.log("SERVICE_NAME:",e.SERVICE_NAME??"(none)"),console.log("ENABLE_STRUCTURED_LOGGING:",e.ENABLE_STRUCTURED_LOGGING??!0),console.log("Effective log level:",t),console.log("--------------------------------------")};gt.printLoggerConfig=qF});var us=E(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.handleTransportError=Te.validateTransportConfig=Te.validateEnvironmentVariable=Te.createDetailedError=Te.ERROR_MESSAGES=Te.ValidationError=Te.ConfigurationError=Te.TransportError=Te.LoggerError=void 0;var cs=class extends Error{constructor(t,s,n){super(t),this.code=s,this.details=n,this.name="LoggerError"}};Te.LoggerError=cs;var Us=class extends cs{constructor(t,s,n){super(t,"TRANSPORT_ERROR",{transportName:s,...n}),this.transportName=s,this.name="TransportError"}};Te.TransportError=Us;var Li=class extends cs{constructor(t,s){super(t,"CONFIGURATION_ERROR",s),this.name="ConfigurationError"}};Te.ConfigurationError=Li;var ic=class extends cs{constructor(t,s){super(t,"VALIDATION_ERROR",s),this.name="ValidationError"}};Te.ValidationError=ic;Te.ERROR_MESSAGES={NEW_RELIC_MISSING_API_KEY:{message:"New Relic transport requires NEW_RELIC_LICENSE_KEY environment variable",solution:"Set NEW_RELIC_LICENSE_KEY in your environment variables or pass apiKey option",example:"NEW_RELIC_LICENSE_KEY=your-license-key-here"},NEW_RELIC_MISSING_ACCOUNT_ID:{message:"New Relic transport requires NEW_RELIC_ACCOUNT_ID environment variable",solution:"Set NEW_RELIC_ACCOUNT_ID in your environment variables or pass accountId option",example:"NEW_RELIC_ACCOUNT_ID=your-account-id-here"},NEW_RELIC_API_ERROR:{message:"Failed to send logs to New Relic API",solution:"Check your API key, account ID, and network connectivity"},DATADOG_MISSING_API_KEY:{message:"DataDog transport requires DATADOG_API_KEY environment variable",solution:"Set DATADOG_API_KEY in your environment variables",example:"DATADOG_API_KEY=your-api-key-here"},DATADOG_API_ERROR:{message:"Failed to send logs to DataDog API",solution:"Check your API key and network connectivity"},CLOUDWATCH_MISSING_CREDENTIALS:{message:"CloudWatch transport requires AWS credentials",solution:"Configure AWS credentials via environment variables, IAM role, or AWS credentials file",example:`AWS_ACCESS_KEY_ID=your-key
|
|
7
|
+
AWS_SECRET_ACCESS_KEY=your-secret`},CLOUDWATCH_MISSING_LOG_GROUP:{message:"CloudWatch transport requires logGroupName option",solution:"Provide logGroupName in transport options or set CLOUDWATCH_LOG_GROUP environment variable",example:'logGroupName: "/aws/lambda/my-function"'},CLOUDWATCH_LOG_GROUP_NOT_FOUND:{message:"CloudWatch log group does not exist",solution:"Create the log group in CloudWatch before using this transport",example:'aws logs create-log-group --log-group-name "/aws/lambda/my-function"'},CLOUDWATCH_API_ERROR:{message:"Failed to send logs to CloudWatch",solution:"Check your AWS credentials, region, and network connectivity"},TRANSPORT_INITIALIZATION_FAILED:{message:"Failed to initialize transport",solution:"Check transport configuration and required dependencies"},TRANSPORT_SEND_FAILED:{message:"Failed to send log entry to transport",solution:"Check transport configuration and network connectivity"},MISSING_SERVICE_NAME:{message:"Logger configuration requires serviceName",solution:"Set SERVICE_NAME environment variable or provide serviceName in config",example:"SERVICE_NAME=my-service"},INVALID_LOG_LEVEL:{message:"Invalid log level specified",solution:"Use one of: DEBUG, INFO, WARN, ERROR, FATAL",example:"LOG_LEVEL=INFO"},ENVIRONMENT_VALIDATION_FAILED:{message:"Environment configuration validation failed",solution:"Check your environment variables and configuration"},FORMATTER_MISSING:{message:"Logger requires a formatter",solution:"Provide a formatter object with a format(entry) method",example:"formatter: createJsonFormatter()"},PERFORMANCE_MONITOR_INITIALIZATION_FAILED:{message:"Failed to initialize performance monitor",solution:"Check performance monitor configuration"},SPLUNK_MISSING_HEC_URL:{message:"Splunk transport requires SPLUNK_HEC_URL environment variable",solution:"Set SPLUNK_HEC_URL in your environment variables",example:"SPLUNK_HEC_URL=https://your-splunk-instance:8088/services/collector"},SPLUNK_MISSING_HEC_TOKEN:{message:"Splunk transport requires SPLUNK_HEC_TOKEN environment variable",solution:"Set SPLUNK_HEC_TOKEN in your environment variables",example:"SPLUNK_HEC_TOKEN=your-hec-token-here"},SPLUNK_API_ERROR:{message:"Failed to send logs to Splunk HEC",solution:"Check your HEC URL, token, and network connectivity"},ELASTICSEARCH_MISSING_AUTH:{message:"Elasticsearch transport requires authentication",solution:"Set ELASTICSEARCH_API_KEY or ELASTICSEARCH_USERNAME/PASSWORD",example:"ELASTICSEARCH_API_KEY=your-api-key-here"},ELASTICSEARCH_MISSING_DATE:{message:"Date string is missing for Elasticsearch index pattern",solution:"Check date generation logic and ensure valid date string is produced"},ELASTICSEARCH_API_ERROR:{message:"Failed to send logs to Elasticsearch",solution:"Check your connection URL, authentication, and network connectivity"}};var HF=(e,t,s)=>{let n=Te.ERROR_MESSAGES[e],r=`${n.message}${t?` (${t})`:""}`,i={...n,...s,...t&&{transportName:t}};return t?new Us(r,t,i):new cs(r,"LOGGER_ERROR",i)};Te.createDetailedError=HF;var VF=(e,t,s=!1)=>{if(s&&!t)throw new Li(`Required environment variable ${e} is not set`,{missingVariable:e,message:`Required environment variable ${e} is not set`})};Te.validateEnvironmentVariable=VF;var KF=(e,t,s)=>{let n=s.filter(r=>!t[r]);if(n.length>0)throw new Us(`Missing required configuration fields: ${n.join(", ")}`,e,{missingFields:n,message:`Missing required configuration fields: ${n.join(", ")}`})};Te.validateTransportConfig=KF;var ZF=(e,t,s=!0)=>{let n;if(e instanceof cs?n=e:e instanceof Error?n=new Us(`Unexpected error in ${t}: ${e.message}`,t,{originalError:e.message,stack:e.stack}):n=new Us(`Unknown error in ${t}`,t,{originalError:e}),s&&(console.error(`[LOGGER ERROR] ${n.message}`),n.details?.solution&&console.error(`[LOGGER SOLUTION] ${n.details.solution}`),n.details?.example&&console.error(`[LOGGER EXAMPLE] ${n.details.example}`)),!s)throw n};Te.handleTransportError=ZF});var oc=E(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.createDataDogTransport=void 0;var wn=Ft(),In=us(),YF=zt(),JF=(e={})=>{let t="DataDog";try{let s=e.level??wn.LogLevel.INFO,n=e.apiKey||process.env.DATADOG_API_KEY,r=e.serviceName||process.env.DD_SERVICE||process.env.SERVICE_NAME,i=e.source||"nodejs",o=e.tags||[],a=e.batchSize||10,c=e.flushInterval||5e3,u=e.region||process.env.DD_SITE||"us";(0,In.validateEnvironmentVariable)("DATADOG_API_KEY",n,!0),(0,In.validateTransportConfig)(t,{apiKey:n},["apiKey"]);let p=[...[`env:${process.env.NODE_ENV||"dev"}`,`service:${r||"unknown"}`,`source:${i}`],...o].join(","),d=[],f=null,m=async D=>{try{let S=`https://http-intake.logs.${u==="eu"?"eu.":""}datadoghq.com/api/v2/logs`,v=D.map(k=>({message:k.message,level:g(k.level),timestamp:new Date(k.timestamp).getTime(),ddsource:i,ddtags:p,service:r,...k.context,...k.error&&{error_name:k.error.name,error_message:k.error.message,error_stack:k.error.stack},...k.metadata&&{metadata:k.metadata}})),R=await fetch(S,{method:"POST",headers:{"Content-Type":"application/json","DD-API-KEY":n},body:JSON.stringify(v)});if(!R.ok)throw(0,In.createDetailedError)("DATADOG_API_ERROR",t,{status:R.status,statusText:R.statusText,url:S,responseBody:await R.text().catch(()=>"Unable to read response body")})}catch(S){(0,In.handleTransportError)(S,t,!0)}},g=D=>{switch(D){case wn.LogLevel.DEBUG:return"debug";case wn.LogLevel.INFO:return"info";case wn.LogLevel.WARN:return"warning";case wn.LogLevel.ERROR:return"error";case wn.LogLevel.FATAL:return"critical";default:return"info"}},h=async()=>{if(d.length===0)return;let D=[...d];d=[],await m(D)};return(()=>{f||(f=setInterval(()=>{h().catch(D=>{(0,In.handleTransportError)(D,t,!0)})},c))})(),{log:async D=>{(0,YF.shouldLog)(D.level,s)&&(d.push(D),d.length>=a&&await h())},setLevel:D=>{s=D},getLevel:()=>s,flush:async()=>{await h()},close:async()=>{f&&(clearInterval(f),f=null),await h()},addTags:D=>{o.push(...D)},getConfig:()=>({serviceName:r,source:i,tags:[...o],region:u,batchSize:a,flushInterval:c})}}catch(s){throw(0,In.handleTransportError)(s,t,!1),s}};Pi.createDataDogTransport=JF});var ac=E(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.createSplunkTransport=void 0;var Tn=Ft(),Gs=us(),QF=zt(),XF=(e={})=>{let t="Splunk";try{let s=e.level??Tn.LogLevel.INFO,n=e.hecUrl||process.env.SPLUNK_HEC_URL,r=e.hecToken||process.env.SPLUNK_HEC_TOKEN,i=e.source||"nodejs-logger",o=e.sourcetype||"_json",a=e.index||process.env.SPLUNK_INDEX,c=e.batchSize||10,u=e.flushInterval||5e3,l=e.channel||process.env.SPLUNK_CHANNEL;(0,Gs.validateEnvironmentVariable)("SPLUNK_HEC_URL",n,!0),(0,Gs.validateEnvironmentVariable)("SPLUNK_HEC_TOKEN",r,!0),(0,Gs.validateTransportConfig)(t,{hecUrl:n,hecToken:r},["hecUrl","hecToken"]);let p=[],d=null,f=async y=>{try{let D=y.map(v=>({event:{message:v.message,level:m(v.level),timestamp:new Date(v.timestamp).getTime(),...v.context,...v.error&&{error_name:v.error.name,error_message:v.error.message,error_stack:v.error.stack},...v.metadata&&{metadata:v.metadata}},sourcetype:o,source:i,...a&&{index:a},...l&&{channel:l}})),S=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Splunk ${r}`},body:JSON.stringify(D)});if(!S.ok)throw(0,Gs.createDetailedError)("SPLUNK_API_ERROR",t,{status:S.status,statusText:S.statusText,url:n,responseBody:await S.text().catch(()=>"Unable to read response body")})}catch(D){(0,Gs.handleTransportError)(D,t,!0)}},m=y=>{switch(y){case Tn.LogLevel.DEBUG:return"DEBUG";case Tn.LogLevel.INFO:return"INFO";case Tn.LogLevel.WARN:return"WARN";case Tn.LogLevel.ERROR:return"ERROR";case Tn.LogLevel.FATAL:return"FATAL";default:return"INFO"}},g=async()=>{if(p.length===0)return;let y=[...p];p=[],await f(y)};return(()=>{d||(d=setInterval(()=>{g().catch(y=>{(0,Gs.handleTransportError)(y,t,!0)})},u))})(),{log:async y=>{(0,QF.shouldLog)(y.level,s)&&(p.push(y),p.length>=c&&await g())},setLevel:y=>{s=y},getLevel:()=>s,flush:async()=>{await g()},close:async()=>{d&&(clearInterval(d),d=null),await g()},getConfig:()=>({hecUrl:n,source:i,sourcetype:o,index:a,channel:l,batchSize:c,flushInterval:u})}}catch(s){throw(0,Gs.handleTransportError)(s,t,!1),s}};Oi.createSplunkTransport=XF});var cc=E(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.createElasticsearchTransport=void 0;var kn=Ft(),_n=us(),eE=zt(),tE=(e={})=>{let t="Elasticsearch";try{let s=e.level??kn.LogLevel.INFO,n=e.url||process.env.ELASTICSEARCH_URL||"http://localhost:9200",r=e.username||process.env.ELASTICSEARCH_USERNAME,i=e.password||process.env.ELASTICSEARCH_PASSWORD,o=e.apiKey||process.env.ELASTICSEARCH_API_KEY,a=e.index||process.env.ELASTICSEARCH_INDEX||"logs",c=e.indexPattern||process.env.ELASTICSEARCH_INDEX_PATTERN||"logs-{YYYY.MM.DD}",u=e.batchSize||10,l=e.flushInterval||5e3,p=e.timeout||3e4;if(!o&&(!r||!i))throw(0,_n.createDetailedError)("ELASTICSEARCH_MISSING_AUTH",t,{message:"Elasticsearch transport requires either API key or username/password"});let d=[],f=null,m=()=>{if(c?.includes("{YYYY.MM.DD}")){let R=new Date().toISOString().split("T")[0]?.replace(/-/g,".");if(!R)throw(0,_n.createDetailedError)("ELASTICSEARCH_MISSING_DATE",t,{message:"Date string is missing"});return c.replace("{YYYY.MM.DD}",R)}return typeof a=="string"&&a.length>0?a:"logs"},g=()=>o?{Authorization:`ApiKey ${o}`}:r&&i?{Authorization:`Basic ${Buffer.from(`${r}:${i}`).toString("base64")}`}:{},h=async v=>{try{let R=m(),k=`${n}/_bulk`,_=`${v.map(H=>{let Z={message:H.message,level:y(H.level),timestamp:new Date(H.timestamp).toISOString(),service:process.env.SERVICE_NAME||"unknown",...H.context,...H.error&&{error_name:H.error.name,error_message:H.error.message,error_stack:H.error.stack},...H.metadata&&{metadata:H.metadata}};return`${JSON.stringify({index:{_index:R}})}
|
|
8
|
+
${JSON.stringify(Z)}`}).join(`
|
|
9
9
|
`)}
|
|
10
|
-
`,
|
|
11
|
-
`;await
|
|
12
|
-
`);let e=(0,
|
|
10
|
+
`,x=await fetch(k,{method:"POST",headers:{"Content-Type":"application/x-ndjson",...g()},body:_,signal:AbortSignal.timeout(p)});if(!x.ok){let H=await x.text().catch(()=>"Unable to read response body");throw(0,_n.createDetailedError)("ELASTICSEARCH_API_ERROR",t,{status:x.status,statusText:x.statusText,url:k,responseBody:H})}let $=await x.json().catch(()=>null);if($?.errors&&Array.isArray($.items)){let H=$.items.filter(Z=>Z.index?.error).map(Z=>Z.index?.error).slice(0,3);H?.length>0&&console.warn("[ELASTICSEARCH] Some documents failed to index:",H)}}catch(R){(0,_n.handleTransportError)(R,t,!0)}},y=v=>{switch(v){case kn.LogLevel.DEBUG:return"debug";case kn.LogLevel.INFO:return"info";case kn.LogLevel.WARN:return"warn";case kn.LogLevel.ERROR:return"error";case kn.LogLevel.FATAL:return"fatal";default:return"info"}},D=async()=>{if(d.length===0)return;let v=[...d];d=[],await h(v)};return(()=>{f||(f=setInterval(()=>{D().catch(v=>{(0,_n.handleTransportError)(v,t,!0)})},l))})(),{log:async v=>{(0,eE.shouldLog)(v.level,s)&&(d.push(v),d.length>=u&&await D())},setLevel:v=>{s=v},getLevel:()=>s,flush:async()=>{await D()},close:async()=>{f&&(clearInterval(f),f=null),await D()},getConfig:()=>({url:n,index:a,indexPattern:c,batchSize:u,flushInterval:l,timeout:p}),getCurrentIndex:()=>m()}}catch(s){throw(0,_n.handleTransportError)(s,t,!1),s}};Bi.createElasticsearchTransport=tE});var uc=E(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.createNewRelicTransport=void 0;var sE=Ft(),zs=us(),nE=zt(),rE=(e={})=>{let t="New Relic";try{let s=e.level??sE.LogLevel.INFO,n=e.apiKey||process.env.NEW_RELIC_LICENSE_KEY,r=e.accountId||process.env.NEW_RELIC_ACCOUNT_ID,i=e.region||process.env.NEW_RELIC_REGION||"us",o=e.serviceName||process.env.NEW_RELIC_SERVICE_NAME,a=e.batchSize||10,c=e.flushInterval||5e3;(0,zs.validateEnvironmentVariable)("NEW_RELIC_LICENSE_KEY",n,!0),(0,zs.validateEnvironmentVariable)("NEW_RELIC_ACCOUNT_ID",r,!0),(0,zs.validateTransportConfig)(t,{apiKey:n,accountId:r},["apiKey","accountId"]);let u=[],l=null,p=async m=>{try{let g=`https://log-api.${i}.newrelic.com/log/v1`,h={timestamp:Date.now(),service:o,attributes:{logtype:"application",timestamp:new Date().toISOString()},logs:m.map(D=>({message:D.message,level:D.level,timestamp:new Date(D.timestamp).getTime(),attributes:{...D.context,...D.error&&{error_name:D.error.name,error_message:D.error.message,error_stack:D.error.stack},...D.metadata&&{metadata:D.metadata}}}))},y=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json","Api-Key":n,"X-License-Key":n},body:JSON.stringify(h)});if(!y.ok)throw(0,zs.createDetailedError)("NEW_RELIC_API_ERROR",t,{status:y.status,statusText:y.statusText,url:g,responseBody:await y.text().catch(()=>"Unable to read response body")})}catch(g){(0,zs.handleTransportError)(g,t,!0)}},d=async()=>{if(u.length===0)return;let m=[...u];u=[],await p(m)};return(()=>{l||(l=setInterval(()=>{d().catch(m=>{(0,zs.handleTransportError)(m,t,!0)})},c))})(),{log:async m=>{(0,nE.shouldLog)(m.level,s)&&(u.push(m),u.length>=a&&await d())},setLevel:m=>{s=m},getLevel:()=>s,flush:async()=>{await d()},close:async()=>{l&&(clearInterval(l),l=null),await d()}}}catch(s){throw(0,zs.handleTransportError)(s,t,!1),s}};Mi.createNewRelicTransport=rE});var $g=E(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.createFileTransport=void 0;var ot=require("node:fs"),Dr=require("node:path"),iE=require("node:util"),oE=require("node:zlib"),aE=Ft(),ls=us(),cE=zt(),uE=(0,iE.promisify)(oE.gzip),lE=(e={})=>{let t="File";try{let s=e.level??aE.LogLevel.INFO,n=e.formatter||{format:_=>JSON.stringify(_)},r=e.filePath||process.env.LOG_FILE_PATH||"./logs/app.log",i=e.maxFileSize??10*1024*1024,o=e.maxFiles??5,a=e.rotationInterval??24*60*60*1e3,c=e.compressOldFiles??!1,u=e.dateFormat??"YYYY-MM-DD",l=e.encoding??"utf8",p=e.createSymlink??!1,d=e.symlinkName??"current.log";(0,ls.validateEnvironmentVariable)("LOG_FILE_PATH",r,!1),(0,ls.validateTransportConfig)(t,{filePath:r},["filePath"]);let f={currentFile:r,currentSize:0,lastRotation:Date.now()},m=null,g=async _=>{let x=(0,Dr.dirname)(_);try{await ot.promises.access(x)}catch{await ot.promises.mkdir(x,{recursive:!0})}},h=(_,x)=>{let $=(0,Dr.extname)(_),H=_.replace($,""),Z=new Date().toISOString().split("T")[0];return`${H}.${Z}.${x}${$}${c?".gz":""}`},y=()=>{let _=Date.now()-f.lastRotation;return f.currentSize>=i||_>=a},D=async _=>{if(c)try{let x=await ot.promises.readFile(_,l),$=await uE(x);await ot.promises.writeFile(`${_}.gz`,$),await ot.promises.unlink(_)}catch(x){(0,ls.handleTransportError)(x,t,!0)}},S=async()=>{try{f.fileHandle&&(await f.fileHandle.close(),f.fileHandle=void 0);for(let x=o-1;x>=1;x--){let $=h(r,x),H=h(r,x+1);try{await ot.promises.access($),await ot.promises.rename($,H)}catch{}}let _=h(r,1);try{await ot.promises.access(r),await ot.promises.rename(r,_),await D(_)}catch{}if(f.currentSize=0,f.lastRotation=Date.now(),await g(r),f.fileHandle=await ot.promises.open(r,"a"),p){let x=(0,Dr.join)((0,Dr.dirname)(r),d);try{await ot.promises.unlink(x)}catch{}await ot.promises.symlink((0,Dr.basename)(r),x)}console.log(`[FILE] Rotated log file to: ${_}`)}catch(_){(0,ls.handleTransportError)(_,t,!0)}},v=async _=>{try{y()&&await S(),f.fileHandle||(await g(r),f.fileHandle=await ot.promises.open(r,"a"));let x=`${_}
|
|
11
|
+
`;await f.fileHandle.write(x,void 0,l),f.currentSize+=x.length}catch(x){(0,ls.handleTransportError)(x,t,!0)}},R=async()=>{try{f.fileHandle&&await f.fileHandle.sync()}catch(_){(0,ls.handleTransportError)(_,t,!0)}};return(()=>{m||(m=setInterval(()=>{R().catch(_=>{(0,ls.handleTransportError)(_,t,!0)})},5e3))})(),{log:async _=>{if(!(0,cE.shouldLog)(_.level,s))return;let x=n.format(_);await v(x)},setLevel:_=>{s=_},getLevel:()=>s,rotate:async()=>{await S()},getCurrentFile:()=>f.currentFile,getCurrentSize:()=>f.currentSize,flush:async()=>{await R()},close:async()=>{m&&(clearInterval(m),m=null),f.fileHandle&&(await f.fileHandle.close(),f.fileHandle=void 0)},getConfig:()=>({filePath:r,maxFileSize:i,maxFiles:o,rotationInterval:a,compressOldFiles:c,dateFormat:u,encoding:l,createSymlink:p,symlinkName:d}),getStats:()=>({currentFile:f.currentFile,currentSize:f.currentSize,lastRotation:f.lastRotation,fileHandleOpen:!!f.fileHandle,flushTimerActive:!!m})}}catch(s){throw(0,ls.handleTransportError)(s,t,!1),s}};Ni.createFileTransport=lE});var lc=E(Nt=>{"use strict";var pE=Nt&&Nt.__createBinding||(Object.create?function(e,t,s,n){n===void 0&&(n=s);var r=Object.getOwnPropertyDescriptor(t,s);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,n,r)}:function(e,t,s,n){n===void 0&&(n=s),e[n]=t[s]}),dE=Nt&&Nt.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),mE=Nt&&Nt.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(s){var n=[];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(n[n.length]=r);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var s={};if(t!=null)for(var n=e(t),r=0;r<n.length;r++)n[r]!=="default"&&pE(s,t,n[r]);return dE(s,t),s}}();Object.defineProperty(Nt,"__esModule",{value:!0});Nt.createCloudWatchTransport=void 0;var fE=Ft(),ps=us(),gE=zt(),hE=(e={})=>{let t="CloudWatch";try{let s=e.level??fE.LogLevel.INFO,n=e.formatter||{format:v=>JSON.stringify(v)},r=e.logGroupName||process.env.CLOUDWATCH_LOG_GROUP||"/aws/lambda/my-function",i=e.logStreamName||process.env.CLOUDWATCH_LOG_STREAM,o=e.region||process.env.AWS_REGION||"us-east-1",a=e.maxStreamSize??45*1024*1024,c=e.maxStreamAge??23*60*60*1e3,u=e.batchSize||10,l=e.flushInterval||5e3,p=e.timeout||3e4;(0,ps.validateEnvironmentVariable)("CLOUDWATCH_LOG_GROUP",r,!1),(0,ps.validateEnvironmentVariable)("AWS_REGION",o,!1),(0,ps.validateTransportConfig)(t,{logGroupName:r,region:o},["logGroupName","region"]);let d={currentStreamName:i||`${new Date().toISOString().split("T")[0]}-${Date.now()}`,currentStreamSize:0,streamStartTime:Date.now(),sequenceToken:void 0,batch:[]},f=null,m=()=>{let v=Date.now()-d.streamStartTime;return d.currentStreamSize>=a||v>=c},g=()=>{let v=new Date().toISOString().replace(/[:.]/g,"-");return i?`${i}-${v}`:`${new Date().toISOString().split("T")[0]}-${v}`},h=async v=>{try{let{CloudWatchLogsClient:R,PutLogEventsCommand:k,CreateLogStreamCommand:_}=await Promise.resolve().then(()=>mE(require("@aws-sdk/client-cloudwatch-logs"))),x=new R({region:o,requestHandler:{requestTimeout:p}});try{await x.send(new _({logGroupName:r,logStreamName:d.currentStreamName}))}catch(q){if(q instanceof Error&&q.name!=="ResourceAlreadyExistsException")throw q}let $=v.map(q=>({timestamp:new Date(q.timestamp).getTime(),message:n.format(q)})),H=new k({logGroupName:r,logStreamName:d.currentStreamName,logEvents:$,sequenceToken:d.sequenceToken}),Z=await x.send(H);Z.nextSequenceToken&&(d.sequenceToken=Z.nextSequenceToken);let V=$.reduce((q,M)=>q+M.message.length,0);d.currentStreamSize+=V}catch(R){if(R instanceof Error&&R.name==="InvalidSequenceTokenException"){let k=R.message.match(/sequenceToken is: (.+)/);if(k){d.sequenceToken=k[1],await h(v);return}}throw R instanceof Error&&R.name==="ResourceNotFoundException"?(0,ps.createDetailedError)("CLOUDWATCH_LOG_GROUP_NOT_FOUND",t,{logGroupName:r,region:o,message:"Log group does not exist. Create it first in CloudWatch."}):(0,ps.createDetailedError)("CLOUDWATCH_API_ERROR",t,{error:R instanceof Error?R.message:String(R),logGroupName:r,logStreamName:d.currentStreamName,region:o})}},y=async()=>{try{await D(),d.currentStreamName=g(),d.currentStreamSize=0,d.streamStartTime=Date.now(),d.sequenceToken=void 0,console.log(`[CLOUDWATCH] Rotated to stream: ${d.currentStreamName}`)}catch(v){(0,ps.handleTransportError)(v,t,!0)}},D=async()=>{if(d.batch.length===0)return;let v=[...d.batch];d.batch=[],await h(v)};return(()=>{f||(f=setInterval(()=>{D().catch(v=>{(0,ps.handleTransportError)(v,t,!0)})},l))})(),{log:async v=>{(0,gE.shouldLog)(v.level,s)&&(m()&&await y(),d.batch.push(v),d.batch.length>=u&&await D())},setLevel:v=>{s=v},getLevel:()=>s,rotateStream:async()=>{await y()},getCurrentStream:()=>d.currentStreamName,getCurrentStreamSize:()=>d.currentStreamSize,flush:async()=>{await D()},close:async()=>{f&&(clearInterval(f),f=null),await D()},getConfig:()=>({logGroupName:r,logStreamName:d.currentStreamName,region:o,maxStreamSize:a,maxStreamAge:c,batchSize:u,flushInterval:l,timeout:p}),getStats:()=>({currentStream:d.currentStreamName,currentStreamSize:d.currentStreamSize,streamAge:Date.now()-d.streamStartTime,batchSize:d.batch.length,sequenceToken:d.sequenceToken?"set":"not set",flushTimerActive:!!f})}}catch(s){throw(0,ps.handleTransportError)(s,t,!1),s}};Nt.createCloudWatchTransport=hE});var Ug=E(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.createPerformanceMonitor=void 0;var yE=e=>{let t=e||{metrics:new Map},s=(p,d)=>{t.metrics.has(p)||t.metrics.set(p,[]);let f=t.metrics.get(p);f&&f.push(d)},n=p=>{let d=performance.now();return f=>{let m=performance.now(),g=m-d,h={functionName:p,duration:g,startTime:d,endTime:m,...f&&{metadata:f}};return s(p,h),h}},r=async(p,d,f)=>{let m=performance.now();try{let g=await d(),h=performance.now(),y=h-m,D={functionName:p,duration:y,startTime:m,endTime:h,...f&&{metadata:f}};return s(p,D),g}catch(g){let h=performance.now(),y=h-m,D={functionName:p,duration:y,startTime:m,endTime:h,...f&&{metadata:{...f,error:!0}}};throw s(p,D),g}},i=(p,d,f)=>{let m=performance.now();try{let g=d(),h=performance.now(),y=h-m,D={functionName:p,duration:y,startTime:m,endTime:h,...f&&{metadata:f}};return s(p,D),g}catch(g){let h=performance.now(),y=h-m,D={functionName:p,duration:y,startTime:m,endTime:h,...f&&{metadata:{...f,error:!0}}};throw s(p,D),g}},o=p=>{if(p)return t.metrics.get(p)||[];let d=[];for(let f of t.metrics.values())d.push(...f);return d},a=p=>{let d=o(p);return d.length===0?0:d.reduce((m,g)=>m+g.duration,0)/d.length};return{state:t,startTimer:n,timeAsync:r,timeSync:i,getMetrics:o,getAverageDuration:a,getSlowestExecution:p=>{let d=o(p);return d.length===0?null:d.reduce((f,m)=>m.duration>f.duration?m:f)},clearMetrics:p=>{p?t.metrics.delete(p):t.metrics.clear()},getMetricsSummary:()=>{let p={};for(let[d,f]of t.metrics.entries()){let m=f.length,g=a(d),h=Math.max(...f.map(y=>y.duration));p[d]={count:m,avgDuration:g,maxDuration:h}}return p}}};Wi.createPerformanceMonitor=yE});var Gg=E(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.stroggerWithFileTransport=qs.createFileTransportExample=void 0;var ji=Zt(),DE=(e={})=>{let t=e.level??ji.LogLevel.INFO,s=e.maxFileSize??10*1024*1024,n=e.rotationInterval??24*60*60*1e3,r=0,i=Date.now(),o=()=>r>=s||Date.now()-i>=n,a=async()=>{r=0,i=Date.now(),console.log("[MOCK FILE] Rotated log file")},c=async u=>{o()&&await a(),r+=u.length,console.log(`[MOCK FILE] Writing: ${u}`)};return{log:async u=>{if(u.level<t)return;let l=JSON.stringify(u);await c(l)},setLevel:u=>{t=u},getLevel:()=>t}};qs.createFileTransportExample=DE;var bE=(0,ji.getEnvironment)(),vE=(0,ji.createJsonFormatter)(),SE=(0,qs.createFileTransportExample)({maxFileSize:1024,rotationInterval:1e4});qs.stroggerWithFileTransport=(0,ji.createLogger)({config:{serviceName:"file-rotation-example"},transports:[SE],formatter:vE,env:bE})});var zg=E(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.loggerWithCloudWatchTransport=Hs.createCloudWatchTransportExample=void 0;var $i=Zt(),CE=(e={})=>{let t=e.level??$i.LogLevel.INFO,s=e.maxStreamSize??45*1024*1024,n=e.maxStreamAge??23*60*60*1e3,r=0,i=Date.now(),o=()=>r>=s||Date.now()-i>=n,a=async()=>{r=0,i=Date.now(),console.log("[MOCK CW] Rotated log stream")},c=async u=>{o()&&await a(),r+=u.length,console.log(`[MOCK CW] Sending: ${u}`)};return{log:async u=>{if(u.level<t)return;let l=JSON.stringify(u);await c(l)},setLevel:u=>{t=u},getLevel:()=>t}};Hs.createCloudWatchTransportExample=CE;var xE=(0,$i.getEnvironment)(),AE=(0,$i.createJsonFormatter)(),FE=(0,Hs.createCloudWatchTransportExample)({maxStreamSize:1024,maxStreamAge:1e4});Hs.loggerWithCloudWatchTransport=(0,$i.createLogger)({config:{serviceName:"cloudwatch-rotation-example"},transports:[FE],formatter:AE,env:xE})});var Qg=E((Ue,Jg)=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.demonstrateEnvironmentSpecificFileTransport=Ue.demonstrateCustomFileTransport=Ue.demonstrateMultipleFileTransports=Ue.demonstrateFileTransportWithSymlink=Ue.demonstrateCompressedFileTransport=Ue.demonstrateBasicFileTransport=Ue.runFileTransportExamples=void 0;var me=Zt(),qg=()=>{console.log(`=== Basic File Transport ===
|
|
12
|
+
`);let e=(0,me.getEnvironment)(),t=(0,me.createJsonFormatter)(),s=(0,me.createFileTransport)({level:me.LogLevel.INFO,filePath:"./logs/basic-app.log",maxFileSize:5*1024*1024,maxFiles:3}),n=(0,me.createLogger)({config:{serviceName:"basic-file-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Application started with basic file transport"),n.warn("This is a warning message"),n.error("This is an error message",{userId:"user-123"}),n};Ue.demonstrateBasicFileTransport=qg;var Hg=()=>{console.log(`
|
|
13
13
|
=== File Transport with Compression ===
|
|
14
|
-
`);let e=(0,
|
|
14
|
+
`);let e=(0,me.getEnvironment)(),t=(0,me.createJsonFormatter)(),s=(0,me.createFileTransport)({level:me.LogLevel.DEBUG,filePath:"./logs/compressed-app.log",maxFileSize:10*1024*1024,maxFiles:5,compressOldFiles:!0,rotationInterval:12*60*60*1e3}),n=(0,me.createLogger)({config:{serviceName:"compressed-file-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Application started with compressed file transport"),n.debug("Debug message with compression enabled"),n.warn("Warning message",{component:"file-transport"}),n};Ue.demonstrateCompressedFileTransport=Hg;var Vg=()=>{console.log(`
|
|
15
15
|
=== File Transport with Symlink ===
|
|
16
|
-
`);let e=(0,
|
|
16
|
+
`);let e=(0,me.getEnvironment)(),t=(0,me.createJsonFormatter)(),s=(0,me.createFileTransport)({level:me.LogLevel.INFO,filePath:"./logs/symlink-app.log",maxFileSize:8*1024*1024,maxFiles:4,createSymlink:!0,symlinkName:"current.log"}),n=(0,me.createLogger)({config:{serviceName:"symlink-file-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Application started with symlink file transport"),n.info("Current log file is always accessible via ./logs/current.log"),n};Ue.demonstrateFileTransportWithSymlink=Vg;var Kg=()=>{console.log(`
|
|
17
17
|
=== Multiple File Transports ===
|
|
18
|
-
`);let e=(0,
|
|
18
|
+
`);let e=(0,me.getEnvironment)(),t=(0,me.createJsonFormatter)(),s=(0,me.createFileTransport)({level:me.LogLevel.ERROR,filePath:"./logs/errors.log",maxFileSize:2*1024*1024,maxFiles:10,compressOldFiles:!0}),n=(0,me.createFileTransport)({level:me.LogLevel.DEBUG,filePath:"./logs/debug.log",maxFileSize:20*1024*1024,maxFiles:2,rotationInterval:6*60*60*1e3}),r=(0,me.createLogger)({config:{serviceName:"multi-file-example",stage:e.stage},transports:[s,n],formatter:t,env:e});return r.debug("Debug message - goes to debug.log"),r.info("Info message - goes to both files"),r.warn("Warning message - goes to both files"),r.error("Error message - goes to both files, but errors.log keeps more history"),r};Ue.demonstrateMultipleFileTransports=Kg;var Zg=()=>{console.log(`
|
|
19
19
|
=== Custom File Transport Configuration ===
|
|
20
|
-
`);let e=(0,
|
|
20
|
+
`);let e=(0,me.getEnvironment)(),t=(0,me.createJsonFormatter)(),s=(0,me.createFileTransport)({level:me.LogLevel.INFO,filePath:"./logs/custom-app.log",maxFileSize:15*1024*1024,maxFiles:7,compressOldFiles:!0,rotationInterval:24*60*60*1e3,dateFormat:"YYYY-MM-DD",encoding:"utf8",createSymlink:!0,symlinkName:"latest.log"}),n=(0,me.createLogger)({config:{serviceName:"custom-file-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Application started with custom file transport configuration"),n.info("This transport uses custom settings for rotation and compression"),console.log("Current file:",s.getCurrentFile()),console.log("Current size:",s.getCurrentSize()),console.log("Transport config:",s.getConfig()),console.log("Transport stats:",s.getStats()),n};Ue.demonstrateCustomFileTransport=Zg;var Yg=()=>{console.log(`
|
|
21
21
|
=== Environment-Specific File Transport ===
|
|
22
|
-
`);let e=(0,
|
|
23
|
-
`);try{
|
|
22
|
+
`);let e=(0,me.getEnvironment)(),t=(0,me.createJsonFormatter)(),s=e.isProduction?{level:me.LogLevel.INFO,filePath:"/var/log/production-app.log",maxFileSize:50*1024*1024,maxFiles:10,compressOldFiles:!0,createSymlink:!0,symlinkName:"production-current.log"}:{level:me.LogLevel.DEBUG,filePath:"./logs/dev-app.log",maxFileSize:5*1024*1024,maxFiles:3,compressOldFiles:!1},n=(0,me.createFileTransport)(s),r=(0,me.createLogger)({config:{serviceName:"env-specific-file-example",stage:e.stage},transports:[n],formatter:t,env:e});return r.info(`Application started in ${e.stage} environment`),r.info(`Using ${e.isProduction?"production":"development"} file transport configuration`),r};Ue.demonstrateEnvironmentSpecificFileTransport=Yg;var EE=async()=>{console.log(`\u{1F680} Running File Transport Examples
|
|
23
|
+
`);try{qg(),Hg(),Vg(),Kg(),Zg(),Yg(),console.log(`
|
|
24
24
|
\u2705 All file transport examples completed!`),console.log(`
|
|
25
|
-
\u{1F4C1} Check the ./logs directory for generated log files`)}catch(e){console.error("\u274C Error running examples:",e)}};
|
|
26
|
-
`);let e=(0,
|
|
25
|
+
\u{1F4C1} Check the ./logs directory for generated log files`)}catch(e){console.error("\u274C Error running examples:",e)}};Ue.runFileTransportExamples=EE;require.main===Jg&&(0,Ue.runFileTransportExamples)().catch(console.error)});var ah=E((Oe,oh)=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.demonstrateManualStreamRotation=Oe.demonstrateEnvironmentSpecificCloudWatchTransport=Oe.demonstrateCustomCloudWatchTransport=Oe.demonstrateMultipleCloudWatchTransports=Oe.demonstrateLambdaCloudWatchTransport=Oe.demonstrateCloudWatchWithRotation=Oe.demonstrateBasicCloudWatchTransport=Oe.runCloudWatchTransportExamples=void 0;var ce=Zt(),Xg=()=>{console.log(`=== Basic CloudWatch Transport ===
|
|
26
|
+
`);let e=(0,ce.getEnvironment)(),t=(0,ce.createJsonFormatter)(),s=(0,ce.createCloudWatchTransport)({level:ce.LogLevel.INFO,logGroupName:"/aws/lambda/basic-example",region:"us-east-1",batchSize:5,flushInterval:3e3}),n=(0,ce.createLogger)({config:{serviceName:"basic-cloudwatch-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Application started with basic CloudWatch transport"),n.warn("This is a warning message"),n.error("This is an error message",{userId:"user-123"}),n};Oe.demonstrateBasicCloudWatchTransport=Xg;var eh=()=>{console.log(`
|
|
27
27
|
=== CloudWatch Transport with Stream Rotation ===
|
|
28
|
-
`);let e=(0,
|
|
28
|
+
`);let e=(0,ce.getEnvironment)(),t=(0,ce.createJsonFormatter)(),s=(0,ce.createCloudWatchTransport)({level:ce.LogLevel.DEBUG,logGroupName:"/aws/lambda/rotation-example",logStreamName:"rotation-stream",region:"us-east-1",maxStreamSize:40*1024*1024,maxStreamAge:20*60*60*1e3,batchSize:10,flushInterval:5e3}),n=(0,ce.createLogger)({config:{serviceName:"rotation-cloudwatch-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Application started with CloudWatch stream rotation"),n.debug("Debug message with rotation enabled"),n.warn("Warning message",{component:"cloudwatch-transport"}),n};Oe.demonstrateCloudWatchWithRotation=eh;var th=()=>{console.log(`
|
|
29
29
|
=== Lambda-Specific CloudWatch Transport ===
|
|
30
|
-
`);let e=(0,
|
|
30
|
+
`);let e=(0,ce.getEnvironment)(),t=(0,ce.createJsonFormatter)(),s=(0,ce.createCloudWatchTransport)({level:ce.LogLevel.INFO,logGroupName:"/aws/lambda/my-lambda-function",logStreamName:`my-lambda-function-${Date.now()}`,region:"us-east-1",maxStreamSize:40*1024*1024,maxStreamAge:20*60*60*1e3,batchSize:5,flushInterval:2e3,timeout:15e3}),n=(0,ce.createLogger)({config:{serviceName:"lambda-cloudwatch-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Lambda function started with CloudWatch transport"),n.info("This configuration is optimized for AWS Lambda environments"),n};Oe.demonstrateLambdaCloudWatchTransport=th;var sh=()=>{console.log(`
|
|
31
31
|
=== Multiple CloudWatch Transports ===
|
|
32
|
-
`);let e=(0,
|
|
32
|
+
`);let e=(0,ce.getEnvironment)(),t=(0,ce.createJsonFormatter)(),s=(0,ce.createCloudWatchTransport)({level:ce.LogLevel.ERROR,logGroupName:"/aws/lambda/errors",logStreamName:"error-stream",region:"us-east-1",maxStreamSize:10*1024*1024,batchSize:3}),n=(0,ce.createCloudWatchTransport)({level:ce.LogLevel.DEBUG,logGroupName:"/aws/lambda/debug",logStreamName:"debug-stream",region:"us-east-1",maxStreamSize:50*1024*1024,batchSize:15}),r=(0,ce.createLogger)({config:{serviceName:"multi-cloudwatch-example",stage:e.stage},transports:[s,n],formatter:t,env:e});return r.debug("Debug message - goes to debug log group"),r.info("Info message - goes to both log groups"),r.warn("Warning message - goes to both log groups"),r.error("Error message - goes to both log groups, but errors log group is optimized for errors"),r};Oe.demonstrateMultipleCloudWatchTransports=sh;var nh=()=>{console.log(`
|
|
33
33
|
=== Custom CloudWatch Transport Configuration ===
|
|
34
|
-
`);let e=(0,
|
|
34
|
+
`);let e=(0,ce.getEnvironment)(),t=(0,ce.createJsonFormatter)(),s=(0,ce.createCloudWatchTransport)({level:ce.LogLevel.INFO,logGroupName:"/aws/lambda/custom-example",logStreamName:"custom-stream",region:"us-west-2",maxStreamSize:45*1024*1024,maxStreamAge:23*60*60*1e3,batchSize:20,flushInterval:1e4,timeout:3e4}),n=(0,ce.createLogger)({config:{serviceName:"custom-cloudwatch-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Application started with custom CloudWatch transport configuration"),n.info("This transport uses custom settings for batching and timeouts"),console.log("Current stream:",s.getCurrentStream()),console.log("Current stream size:",s.getCurrentStreamSize()),console.log("Transport config:",s.getConfig()),console.log("Transport stats:",s.getStats()),n};Oe.demonstrateCustomCloudWatchTransport=nh;var rh=()=>{console.log(`
|
|
35
35
|
=== Environment-Specific CloudWatch Transport ===
|
|
36
|
-
`);let e=(0,
|
|
36
|
+
`);let e=(0,ce.getEnvironment)(),t=(0,ce.createJsonFormatter)(),s=e.isProduction?{level:ce.LogLevel.INFO,logGroupName:"/aws/lambda/production-app",logStreamName:"production-stream",region:"us-east-1",maxStreamSize:45*1024*1024,maxStreamAge:23*60*60*1e3,batchSize:15,flushInterval:5e3}:{level:ce.LogLevel.DEBUG,logGroupName:"/aws/lambda/dev-app",logStreamName:"dev-stream",region:"us-east-1",maxStreamSize:20*1024*1024,maxStreamAge:12*60*60*1e3,batchSize:5,flushInterval:2e3},n=(0,ce.createCloudWatchTransport)(s),r=(0,ce.createLogger)({config:{serviceName:"env-specific-cloudwatch-example",stage:e.stage},transports:[n],formatter:t,env:e});return r.info(`Application started in ${e.stage} environment`),r.info(`Using ${e.isProduction?"production":"development"} CloudWatch configuration`),r};Oe.demonstrateEnvironmentSpecificCloudWatchTransport=rh;var ih=()=>{console.log(`
|
|
37
37
|
=== CloudWatch Transport with Manual Stream Rotation ===
|
|
38
|
-
`);let e=(0,
|
|
39
|
-
`);try{
|
|
38
|
+
`);let e=(0,ce.getEnvironment)(),t=(0,ce.createJsonFormatter)(),s=(0,ce.createCloudWatchTransport)({level:ce.LogLevel.INFO,logGroupName:"/aws/lambda/manual-rotation-example",logStreamName:"manual-rotation-stream",region:"us-east-1",batchSize:5,flushInterval:3e3}),n=(0,ce.createLogger)({config:{serviceName:"manual-rotation-example",stage:e.stage},transports:[s],formatter:t,env:e});return n.info("Application started with manual stream rotation capability"),n.info("You can call cloudWatchTransport.rotateStream() to manually rotate the stream"),setTimeout(async()=>{console.log("Manually rotating CloudWatch stream..."),await s.rotateStream(),n.info("Stream rotated manually")},2e3),n};Oe.demonstrateManualStreamRotation=ih;var RE=async()=>{console.log(`\u{1F680} Running CloudWatch Transport Examples
|
|
39
|
+
`);try{Xg(),eh(),th(),sh(),nh(),rh(),ih(),console.log(`
|
|
40
40
|
\u2705 All CloudWatch transport examples completed!`),console.log(`
|
|
41
|
-
\u2601\uFE0F Check your CloudWatch console for log groups and streams`)}catch(e){console.error("\u274C Error running examples:",e)}};
|
|
42
|
-
`);let e=(0,
|
|
41
|
+
\u2601\uFE0F Check your CloudWatch console for log groups and streams`)}catch(e){console.error("\u274C Error running examples:",e)}};Oe.runCloudWatchTransportExamples=RE;require.main===oh&&(0,Oe.runCloudWatchTransportExamples)().catch(console.error)});var ch=E(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.demonstrateManualGeneration=ht.demonstrateInstanceIdInContexts=ht.demonstrateMultipleInstances=ht.demonstrateCustomInstanceId=ht.demonstrateAutomaticInstanceId=void 0;var he=Zt(),wE=()=>{console.log(`=== Automatic Instance ID Generation ===
|
|
42
|
+
`);let e=(0,he.getEnvironment)(),t=(0,he.createJsonFormatter)(),s=(0,he.createConsoleTransport)({formatter:t,level:he.LogLevel.DEBUG}),n=(0,he.createLogger)({config:{serviceName:"auto-id-example",stage:"dev"},transports:[s],formatter:t,env:e});return console.log("Generated Instance ID:",n.getInstanceId()),n.info("First log message",{requestId:"req-123"}),n.debug("Debug message",{userId:"user-456"}),n.error("Error message",{operation:"test"},new Error("Test error")),n};ht.demonstrateAutomaticInstanceId=wE;var IE=()=>{console.log(`
|
|
43
43
|
=== Custom Instance ID ===
|
|
44
|
-
`);let e=(0,
|
|
44
|
+
`);let e=(0,he.getEnvironment)(),t=(0,he.createJsonFormatter)(),s=(0,he.createConsoleTransport)({formatter:t,level:he.LogLevel.DEBUG}),r=(0,he.createLogger)({config:{serviceName:"custom-id-example",stage:"dev",instanceId:"my-custom-logger-123"},transports:[s],formatter:t,env:e});return console.log("Custom Instance ID:",r.getInstanceId()),r.info("Log with custom instance ID",{requestId:"req-456"}),r.warn("Warning with custom instance ID",{severity:"medium"}),r};ht.demonstrateCustomInstanceId=IE;var TE=()=>{console.log(`
|
|
45
45
|
=== Multiple Strogger Instances ===
|
|
46
|
-
`);let e=(0,
|
|
46
|
+
`);let e=(0,he.getEnvironment)(),t=(0,he.createJsonFormatter)(),s=(0,he.createConsoleTransport)({formatter:t,level:he.LogLevel.DEBUG}),n=(0,he.createLogger)({config:{serviceName:"multi-instance-1",stage:"dev"},transports:[s],formatter:t,env:e}),r=(0,he.createLogger)({config:{serviceName:"multi-instance-2",stage:"dev"},transports:[s],formatter:t,env:e}),i=(0,he.createLogger)({config:{serviceName:"multi-instance-3",stage:"dev",instanceId:"user-provided-id"},transports:[s],formatter:t,env:e});return console.log("Strogger 1 Instance ID:",n.getInstanceId()),console.log("Strogger 2 Instance ID:",r.getInstanceId()),console.log("Strogger 3 Instance ID:",i.getInstanceId()),n.info("Message from strogger 1",{source:"strogger1"}),r.info("Message from strogger 2",{source:"strogger2"}),i.info("Message from strogger 3",{source:"strogger3"}),{strogger1:n,strogger2:r,strogger3:i}};ht.demonstrateMultipleInstances=TE;var kE=()=>{console.log(`
|
|
47
47
|
=== Instance ID in Different Contexts ===
|
|
48
|
-
`);let e=(0,
|
|
48
|
+
`);let e=(0,he.getEnvironment)(),t=(0,he.createJsonFormatter)(),s=(0,he.createConsoleTransport)({formatter:t,level:he.LogLevel.DEBUG}),n=(0,he.createLogger)({config:{serviceName:"context-example",stage:"dev"},transports:[s],formatter:t,env:e});return console.log("Strogger Instance ID:",n.getInstanceId()),n.logFunctionStart("processOrder",{orderId:"order-123"}),n.logDatabaseOperation("SELECT","users",{table:"users"}),n.logApiRequest("POST","/api/orders",201,{endpoint:"/api/orders"}),n.logFunctionEnd("processOrder",150,{orderId:"order-123"}),n};ht.demonstrateInstanceIdInContexts=kE;var _E=()=>{console.log(`
|
|
49
49
|
=== Manual Instance ID Generation ===
|
|
50
|
-
`);let e=(0,
|
|
51
|
-
`),
|
|
50
|
+
`);let e=(0,he.generateLoggerInstanceId)(),t=(0,he.generateLoggerInstanceId)();console.log("Manually generated ID 1:",e),console.log("Manually generated ID 2:",t);let s=(0,he.getEnvironment)(),n=(0,he.createJsonFormatter)(),r=(0,he.createConsoleTransport)({formatter:n,level:he.LogLevel.DEBUG}),i=(0,he.createLogger)({config:{serviceName:"manual-id-1",stage:"dev",instanceId:e},transports:[r],formatter:n,env:s}),o=(0,he.createLogger)({config:{serviceName:"manual-id-2",stage:"dev",instanceId:t},transports:[r],formatter:n,env:s});return i.info("Using manually generated ID 1"),o.info("Using manually generated ID 2"),{strogger1:i,strogger2:o}};ht.demonstrateManualGeneration=_E});var Dh=E((Ge,yh)=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.demonstrateSchemaConsistency=Ge.demonstrateErrorStructuredLogging=Ge.demonstratePerformanceStructuredLogging=Ge.demonstrateBusinessEventStructuredLogging=Ge.demonstrateCorrelatedStructuredLogging=Ge.demonstrateBasicStructuredLogging=Ge.runStructuredLoggingDemo=void 0;var br=Zt(),uh=(0,br.getEnvironment)(),lh=(0,br.createJsonFormatter)(),We=(0,br.createLogger)({config:{serviceName:"structured-logging-demo",stage:uh.stage,enableStructuredLogging:!0},transports:[(0,br.createConsoleTransport)({formatter:lh,level:br.LogLevel.DEBUG})],formatter:lh,env:uh}),ph=()=>{console.log(`=== Basic Structured Logging ===
|
|
51
|
+
`),We.info("User login successful",{userId:"user-123",email:"user@example.com",loginMethod:"password",ipAddress:"192.168.1.100"}),We.debug("Processing request",{requestId:"req-456",endpoint:"/api/users",method:"GET",userAgent:"Mozilla/5.0..."}),We.warn("High memory usage detected",{memoryUsage:"85%",threshold:"80%",serverId:"server-001",timestamp:new Date().toISOString()}),We.error("Database connection failed",{database:"primary",retryAttempts:3,errorCode:"ECONNREFUSED"},new Error("Connection timeout after 30 seconds"))};Ge.demonstrateBasicStructuredLogging=ph;var dh=()=>{console.log(`
|
|
52
52
|
=== Structured Logging with Correlation ===
|
|
53
|
-
`);let e="corr-789",t="trace-abc123";
|
|
53
|
+
`);let e="corr-789",t="trace-abc123";We.info("Request started",{correlationId:e,traceId:t,requestId:"req-789",userId:"user-456",endpoint:"/api/orders",method:"POST"}),We.debug("Validating order data",{correlationId:e,traceId:t,orderId:"order-123",items:3,totalAmount:150}),We.info("Order created successfully",{correlationId:e,traceId:t,orderId:"order-123",status:"confirmed",processingTime:150})};Ge.demonstrateCorrelatedStructuredLogging=dh;var mh=()=>{console.log(`
|
|
54
54
|
=== Business Event Structured Logging ===
|
|
55
|
-
`),
|
|
55
|
+
`),We.info("Payment processing started",{paymentId:"pay-001",amount:99.99,currency:"USD",paymentMethod:"credit_card",customerId:"cust-123",orderId:"order-456"}),We.info("Payment authorized",{paymentId:"pay-001",transactionId:"txn-789",authorizationCode:"AUTH123",processingTime:250}),We.info("User action performed",{userId:"user-789",action:"product_view",productId:"prod-123",category:"electronics",sessionId:"sess-abc",timestamp:new Date().toISOString()})};Ge.demonstrateBusinessEventStructuredLogging=mh;var fh=()=>{console.log(`
|
|
56
56
|
=== Performance Monitoring Structured Logging ===
|
|
57
|
-
`);let e=Date.now();
|
|
57
|
+
`);let e=Date.now();We.logFunctionStart("processOrder",{orderId:"order-999",items:5,customerTier:"premium"}),setTimeout(()=>{let t=Date.now()-e;We.logFunctionEnd("processOrder",t,{orderId:"order-999",success:!0,itemsProcessed:5}),We.info("Performance metric recorded",{metricName:"order_processing_time",value:t,unit:"ms",threshold:1e3,status:t<1e3?"good":"slow"})},150)};Ge.demonstratePerformanceStructuredLogging=fh;var gh=()=>{console.log(`
|
|
58
58
|
=== Error Analysis Structured Logging ===
|
|
59
|
-
`);try{throw new Error("Database query timeout")}catch(e){
|
|
59
|
+
`);try{throw new Error("Database query timeout")}catch(e){We.error("Database operation failed",{operation:"SELECT",table:"users",query:"SELECT * FROM users WHERE email = ?",parameters:["user@example.com"],timeout:5e3,retryAttempt:2,database:"primary",connectionPool:"pool-1"},e),We.debug("Error context",{stackTrace:e.stack,errorCode:"DB_TIMEOUT",severity:"high",impact:"user_login_blocked"})}};Ge.demonstrateErrorStructuredLogging=gh;var hh=()=>{console.log(`
|
|
60
60
|
=== Schema Consistency in Structured Logging ===
|
|
61
|
-
`);let e=[{level:"INFO",message:"API request processed",context:{requestId:"req-001",endpoint:"/api/users",method:"GET",statusCode:200,responseTime:45}},{level:"ERROR",message:"Authentication failed",context:{requestId:"req-002",endpoint:"/api/login",method:"POST",statusCode:401,reason:"invalid_credentials"}},{level:"DEBUG",message:"Cache hit",context:{requestId:"req-003",cacheKey:"user:123:profile",cacheHit:!0,responseTime:2}}];for(let t of e){let s=t.level.toLowerCase();s==="info"?
|
|
61
|
+
`);let e=[{level:"INFO",message:"API request processed",context:{requestId:"req-001",endpoint:"/api/users",method:"GET",statusCode:200,responseTime:45}},{level:"ERROR",message:"Authentication failed",context:{requestId:"req-002",endpoint:"/api/login",method:"POST",statusCode:401,reason:"invalid_credentials"}},{level:"DEBUG",message:"Cache hit",context:{requestId:"req-003",cacheKey:"user:123:profile",cacheHit:!0,responseTime:2}}];for(let t of e){let s=t.level.toLowerCase();s==="info"?We.info(t.message,t.context):s==="error"?We.error(t.message,t.context):s==="debug"&&We.debug(t.message,t.context)}};Ge.demonstrateSchemaConsistency=hh;var LE=()=>{console.log(`\u{1F3AF} Structured Logging Demo - Core Focus
|
|
62
62
|
`),console.log(`This demo shows why structured JSON logging is the core focus of this library.
|
|
63
|
-
`),
|
|
63
|
+
`),ph(),dh(),mh(),fh(),gh(),hh(),console.log(`
|
|
64
64
|
\u2705 Structured logging demo completed!`),console.log(`
|
|
65
|
-
\u{1F4CA} Key Benefits of Structured Logging:`),console.log(" \u2022 Consistent JSON schema across all logs"),console.log(" \u2022 Machine-readable format for automation"),console.log(" \u2022 Easy correlation and tracing"),console.log(" \u2022 Powerful search and filtering capabilities"),console.log(" \u2022 Scalable for high-volume logging systems")};
|
|
66
|
-
`),r.info("Application started with branded API"),r.debug("Debug message using branded functions"),r.warn("Warning message with brand consistency"),r.error("Error message",{userId:"user-123"}),r};
|
|
65
|
+
\u{1F4CA} Key Benefits of Structured Logging:`),console.log(" \u2022 Consistent JSON schema across all logs"),console.log(" \u2022 Machine-readable format for automation"),console.log(" \u2022 Easy correlation and tracing"),console.log(" \u2022 Powerful search and filtering capabilities"),console.log(" \u2022 Scalable for high-volume logging systems")};Ge.runStructuredLoggingDemo=LE;require.main===yh&&(0,Ge.runStructuredLoggingDemo)()});var vh=E((et,bh)=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.runBrandedAPIExamples=et.demonstrateMixedUsage=et.demonstrateAPIComparison=et.demonstrateBrandedAPI=void 0;var at=Zt(),PE=()=>{let e=(0,at.getEnvironment)(),t=(0,at.createJsonFormatter)(),s=(0,at.createStroggerConsoleTransport)({formatter:t,level:at.LogLevel.DEBUG}),n=(0,at.createStroggerDataDogTransport)({level:at.LogLevel.INFO,serviceName:"branded-api-example",tags:["env:dev","team:backend"]}),r=(0,at.createStrogger)({config:{serviceName:"branded-api-demo",stage:e.stage},transports:[s,n],formatter:t,env:e});return console.log(`=== Branded API Usage ===
|
|
66
|
+
`),r.info("Application started with branded API"),r.debug("Debug message using branded functions"),r.warn("Warning message with brand consistency"),r.error("Error message",{userId:"user-123"}),r};et.demonstrateBrandedAPI=PE;var OE=()=>{console.log(`
|
|
67
67
|
=== Branded vs Conventional API ===
|
|
68
|
-
`),console.log("Both approaches work identically:"),console.log("- createLogger() === createStrogger()"),console.log("- createConsoleTransport() === createStroggerConsoleTransport()"),console.log("- createDataDogTransport() === createStroggerDataDogTransport()")};
|
|
68
|
+
`),console.log("Both approaches work identically:"),console.log("- createLogger() === createStrogger()"),console.log("- createConsoleTransport() === createStroggerConsoleTransport()"),console.log("- createDataDogTransport() === createStroggerDataDogTransport()")};et.demonstrateAPIComparison=OE;var BE=()=>{let e=(0,at.getEnvironment)(),t=(0,at.createJsonFormatter)(),s=(0,at.createLogger)({config:{serviceName:"mixed-usage-demo"},transports:[(0,at.createStroggerConsoleTransport)({formatter:t}),(0,at.createStroggerDataDogTransport)({level:at.LogLevel.INFO})],formatter:t,env:e});console.log(`
|
|
69
69
|
=== Mixed Branded and Conventional ===
|
|
70
|
-
`),s.info("Mixed approach - conventional createLogger with branded transports")};
|
|
71
|
-
`);try{(0,
|
|
70
|
+
`),s.info("Mixed approach - conventional createLogger with branded transports")};et.demonstrateMixedUsage=BE;var ME=()=>{console.log(`\u{1F3A8} Running Branded API Examples
|
|
71
|
+
`);try{(0,et.demonstrateBrandedAPI)(),(0,et.demonstrateAPIComparison)(),(0,et.demonstrateMixedUsage)(),console.log(`
|
|
72
72
|
\u2705 All branded API examples completed!`),console.log(`
|
|
73
|
-
\u{1F4A1} Benefits of Branded API:`),console.log(" \u2022 Clear brand ownership"),console.log(" \u2022 Consistent naming convention"),console.log(" \u2022 Easy to identify Strogger functions"),console.log(" \u2022 No breaking changes - conventional API still works")}catch(e){console.error("\u274C Error running branded API examples:",e)}};Ze.runBrandedAPIExamples=YA;require.main===ah&&(0,Ze.runBrandedAPIExamples)()});var Gt=w(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.demonstrateAutomaticInstanceId=R.runCloudWatchTransportExamples=R.runFileTransportExamples=R.createCloudWatchTransportExample=R.createFileTransportExample=R.createBatchedLogger=R.createBatchedTransport=R.generateLoggerInstanceId=R.generateSpanId=R.generateTraceId=R.generateCorrelationId=R.createLoggerInstanceEnricher=R.createUserEnricher=R.createEnvironmentEnricher=R.createSessionEnricher=R.createCorrelationEnricher=R.createEnrichmentMiddleware=R.createDefaultEnrichmentMiddleware=R.createSampler=R.createRateLimiter=R.createLogFilter=R.validateTransportConfig=R.validateEnvironmentVariable=R.handleTransportError=R.createDetailedError=R.ERROR_MESSAGES=R.ValidationError=R.ConfigurationError=R.TransportError=R.LoggerError=R.createPerformanceMonitor=R.getEnvironment=R.createStroggerCloudWatchTransport=R.createStroggerNewRelicTransport=R.createStroggerElasticsearchTransport=R.createStroggerSplunkTransport=R.createStroggerDataDogTransport=R.createStroggerConsoleTransport=R.createCloudWatchTransport=R.createFileTransport=R.createNewRelicTransport=R.createElasticsearchTransport=R.createSplunkTransport=R.createDataDogTransport=R.createConsoleTransport=R.createJsonFormatter=R.LogLevel=R.strogger=R.createStrogger=R.createLogger=void 0;R.printLoggerConfig=R.shouldLog=R.runBrandedAPIExamples=R.runStructuredLoggingDemo=R.demonstrateManualGeneration=R.demonstrateInstanceIdInContexts=R.demonstrateMultipleInstances=R.demonstrateCustomInstanceId=void 0;var Xa=Ha();Object.defineProperty(R,"createLogger",{enumerable:!0,get:function(){return Xa.createLogger}});Object.defineProperty(R,"createStrogger",{enumerable:!0,get:function(){return Xa.createStrogger}});Object.defineProperty(R,"strogger",{enumerable:!0,get:function(){return Xa.strogger}});var QA=bt();Object.defineProperty(R,"LogLevel",{enumerable:!0,get:function(){return QA.LogLevel}});var XA=_a();Object.defineProperty(R,"createJsonFormatter",{enumerable:!0,get:function(){return XA.createJsonFormatter}});var eE=mi();Object.defineProperty(R,"createConsoleTransport",{enumerable:!0,get:function(){return eE.createConsoleTransport}});var tE=Ka();Object.defineProperty(R,"createDataDogTransport",{enumerable:!0,get:function(){return tE.createDataDogTransport}});var sE=Za();Object.defineProperty(R,"createSplunkTransport",{enumerable:!0,get:function(){return sE.createSplunkTransport}});var nE=Ja();Object.defineProperty(R,"createElasticsearchTransport",{enumerable:!0,get:function(){return nE.createElasticsearchTransport}});var rE=Ya();Object.defineProperty(R,"createNewRelicTransport",{enumerable:!0,get:function(){return rE.createNewRelicTransport}});var iE=Tg();Object.defineProperty(R,"createFileTransport",{enumerable:!0,get:function(){return iE.createFileTransport}});var oE=Qa();Object.defineProperty(R,"createCloudWatchTransport",{enumerable:!0,get:function(){return oE.createCloudWatchTransport}});var aE=mi();Object.defineProperty(R,"createStroggerConsoleTransport",{enumerable:!0,get:function(){return aE.createConsoleTransport}});var cE=Ka();Object.defineProperty(R,"createStroggerDataDogTransport",{enumerable:!0,get:function(){return cE.createDataDogTransport}});var uE=Za();Object.defineProperty(R,"createStroggerSplunkTransport",{enumerable:!0,get:function(){return uE.createSplunkTransport}});var lE=Ja();Object.defineProperty(R,"createStroggerElasticsearchTransport",{enumerable:!0,get:function(){return lE.createElasticsearchTransport}});var pE=Ya();Object.defineProperty(R,"createStroggerNewRelicTransport",{enumerable:!0,get:function(){return pE.createNewRelicTransport}});var dE=Qa();Object.defineProperty(R,"createStroggerCloudWatchTransport",{enumerable:!0,get:function(){return dE.createCloudWatchTransport}});var mE=qa();Object.defineProperty(R,"getEnvironment",{enumerable:!0,get:function(){return mE.getEnvironment}});var fE=Ig();Object.defineProperty(R,"createPerformanceMonitor",{enumerable:!0,get:function(){return fE.createPerformanceMonitor}});var qt=ss();Object.defineProperty(R,"LoggerError",{enumerable:!0,get:function(){return qt.LoggerError}});Object.defineProperty(R,"TransportError",{enumerable:!0,get:function(){return qt.TransportError}});Object.defineProperty(R,"ConfigurationError",{enumerable:!0,get:function(){return qt.ConfigurationError}});Object.defineProperty(R,"ValidationError",{enumerable:!0,get:function(){return qt.ValidationError}});Object.defineProperty(R,"ERROR_MESSAGES",{enumerable:!0,get:function(){return qt.ERROR_MESSAGES}});Object.defineProperty(R,"createDetailedError",{enumerable:!0,get:function(){return qt.createDetailedError}});Object.defineProperty(R,"handleTransportError",{enumerable:!0,get:function(){return qt.handleTransportError}});Object.defineProperty(R,"validateEnvironmentVariable",{enumerable:!0,get:function(){return qt.validateEnvironmentVariable}});Object.defineProperty(R,"validateTransportConfig",{enumerable:!0,get:function(){return qt.validateTransportConfig}});var ec=za();Object.defineProperty(R,"createLogFilter",{enumerable:!0,get:function(){return ec.createLogFilter}});Object.defineProperty(R,"createRateLimiter",{enumerable:!0,get:function(){return ec.createRateLimiter}});Object.defineProperty(R,"createSampler",{enumerable:!0,get:function(){return ec.createSampler}});var Ct=Oa();Object.defineProperty(R,"createDefaultEnrichmentMiddleware",{enumerable:!0,get:function(){return Ct.createDefaultEnrichmentMiddleware}});Object.defineProperty(R,"createEnrichmentMiddleware",{enumerable:!0,get:function(){return Ct.createEnrichmentMiddleware}});Object.defineProperty(R,"createCorrelationEnricher",{enumerable:!0,get:function(){return Ct.createCorrelationEnricher}});Object.defineProperty(R,"createSessionEnricher",{enumerable:!0,get:function(){return Ct.createSessionEnricher}});Object.defineProperty(R,"createEnvironmentEnricher",{enumerable:!0,get:function(){return Ct.createEnvironmentEnricher}});Object.defineProperty(R,"createUserEnricher",{enumerable:!0,get:function(){return Ct.createUserEnricher}});Object.defineProperty(R,"createLoggerInstanceEnricher",{enumerable:!0,get:function(){return Ct.createLoggerInstanceEnricher}});Object.defineProperty(R,"generateCorrelationId",{enumerable:!0,get:function(){return Ct.generateCorrelationId}});Object.defineProperty(R,"generateTraceId",{enumerable:!0,get:function(){return Ct.generateTraceId}});Object.defineProperty(R,"generateSpanId",{enumerable:!0,get:function(){return Ct.generateSpanId}});Object.defineProperty(R,"generateLoggerInstanceId",{enumerable:!0,get:function(){return Ct.generateLoggerInstanceId}});var uh=La();Object.defineProperty(R,"createBatchedTransport",{enumerable:!0,get:function(){return uh.createBatchedTransport}});Object.defineProperty(R,"createBatchedLogger",{enumerable:!0,get:function(){return uh.createBatchedLogger}});var gE=kg();Object.defineProperty(R,"createFileTransportExample",{enumerable:!0,get:function(){return gE.createFileTransportExample}});var hE=_g();Object.defineProperty(R,"createCloudWatchTransportExample",{enumerable:!0,get:function(){return hE.createCloudWatchTransportExample}});var yE=jg();Object.defineProperty(R,"runFileTransportExamples",{enumerable:!0,get:function(){return yE.runFileTransportExamples}});var DE=Zg();Object.defineProperty(R,"runCloudWatchTransportExamples",{enumerable:!0,get:function(){return DE.runCloudWatchTransportExamples}});var pr=Jg();Object.defineProperty(R,"demonstrateAutomaticInstanceId",{enumerable:!0,get:function(){return pr.demonstrateAutomaticInstanceId}});Object.defineProperty(R,"demonstrateCustomInstanceId",{enumerable:!0,get:function(){return pr.demonstrateCustomInstanceId}});Object.defineProperty(R,"demonstrateMultipleInstances",{enumerable:!0,get:function(){return pr.demonstrateMultipleInstances}});Object.defineProperty(R,"demonstrateInstanceIdInContexts",{enumerable:!0,get:function(){return pr.demonstrateInstanceIdInContexts}});Object.defineProperty(R,"demonstrateManualGeneration",{enumerable:!0,get:function(){return pr.demonstrateManualGeneration}});var bE=oh();Object.defineProperty(R,"runStructuredLoggingDemo",{enumerable:!0,get:function(){return bE.runStructuredLoggingDemo}});var vE=ch();Object.defineProperty(R,"runBrandedAPIExamples",{enumerable:!0,get:function(){return vE.runBrandedAPIExamples}});var CE=Mt();Object.defineProperty(R,"shouldLog",{enumerable:!0,get:function(){return CE.shouldLog}});var SE=Ha();Object.defineProperty(R,"printLoggerConfig",{enumerable:!0,get:function(){return SE.printLoggerConfig}})});var Gh=w((kM,yw)=>{yw.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var vc=w((_M,zh)=>{"use strict";var Vi=Object.assign({},Gh()),qh=Object.keys(Vi);Object.defineProperty(Vi,"random",{get(){let e=Math.floor(Math.random()*qh.length),t=qh[e];return Vi[t]}});zh.exports=Vi});var Yh=w((qM,Jh)=>{Jh.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var ey=w((uW,Xh)=>{var kc=class{constructor(t,s,n){this.etaBufferLength=t||100,this.valueBuffer=[n],this.timeBuffer=[s],this.eta="0"}update(t,s,n){this.valueBuffer.push(s),this.timeBuffer.push(t),this.calculate(n-s)}getTime(){return this.eta}calculate(t){let s=this.valueBuffer.length,n=Math.min(this.etaBufferLength,s),r=this.valueBuffer[s-1]-this.valueBuffer[s-n],i=this.timeBuffer[s-1]-this.timeBuffer[s-n],o=r/i;this.valueBuffer=this.valueBuffer.slice(-this.etaBufferLength),this.timeBuffer=this.timeBuffer.slice(-this.etaBufferLength);let a=Math.ceil(t/o/1e3);isNaN(a)?this.eta="NULL":isFinite(a)?a>1e7?this.eta="INF":a<0?this.eta=0:this.eta=a:this.eta="INF"}};Xh.exports=kc});var Pc=w((lW,ty)=>{var $s=require("readline"),_c=class{constructor(t){this.stream=t,this.linewrap=!0,this.dy=0}cursorSave(){this.stream.isTTY&&this.stream.write("\x1B7")}cursorRestore(){this.stream.isTTY&&this.stream.write("\x1B8")}cursor(t){this.stream.isTTY&&(t?this.stream.write("\x1B[?25h"):this.stream.write("\x1B[?25l"))}cursorTo(t=null,s=null){this.stream.isTTY&&$s.cursorTo(this.stream,t,s)}cursorRelative(t=null,s=null){this.stream.isTTY&&(this.dy=this.dy+s,$s.moveCursor(this.stream,t,s))}cursorRelativeReset(){this.stream.isTTY&&($s.moveCursor(this.stream,0,-this.dy),$s.cursorTo(this.stream,0,null),this.dy=0)}clearRight(){this.stream.isTTY&&$s.clearLine(this.stream,1)}clearLine(){this.stream.isTTY&&$s.clearLine(this.stream,0)}clearBottom(){this.stream.isTTY&&$s.clearScreenDown(this.stream)}newline(){this.stream.write(`
|
|
74
|
-
`),this.dy++}write(t,s=!1){this.linewrap===!0&&s===!1?this.stream.write(t.substr(0,this.getWidth())):this.stream.write(t)}lineWrapping(t){this.stream.isTTY&&(this.linewrap=t,t?this.stream.write("\x1B[?7h"):this.stream.write("\x1B[?7l"))}isTTY(){return this.stream.isTTY===!0}getWidth(){return this.stream.columns||(this.stream.isTTY?80:200)}};ty.exports=_c});var ny=w((pW,sy)=>{"use strict";sy.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var iy=w((dW,ry)=>{"use strict";var Rw=ny();ry.exports=e=>typeof e=="string"?e.replace(Rw(),""):e});var ay=w((mW,Lc)=>{"use strict";var oy=e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);Lc.exports=oy;Lc.exports.default=oy});var uy=w((fW,cy)=>{"use strict";cy.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var Bc=w((gW,Oc)=>{"use strict";var Tw=iy(),Iw=ay(),kw=uy(),ly=e=>{if(typeof e!="string"||e.length===0||(e=Tw(e),e.length===0))return 0;e=e.replace(kw()," ");let t=0;for(let s=0;s<e.length;s++){let n=e.codePointAt(s);n<=31||n>=127&&n<=159||n>=768&&n<=879||(n>65535&&s++,t+=Iw(n)?2:1)}return t};Oc.exports=ly;Oc.exports.default=ly});var Nc=w((hW,py)=>{py.exports=function(t,s,n){if(s.autopadding!==!0)return t;function r(i,o){return(s.autopaddingChar+i).slice(-o)}switch(n){case"percentage":return r(t,3);default:return t}}});var Mc=w((yW,dy)=>{dy.exports=function(t,s){let n=Math.round(t*s.barsize),r=s.barsize-n;return s.barCompleteString.substr(0,n)+s.barGlue+s.barIncompleteString.substr(0,r)}});var Wc=w((DW,my)=>{my.exports=function(t,s,n){function r(o){return n?n*Math.round(o/n):o}function i(o){return(s.autopaddingChar+o).slice(-2)}return t>3600?i(Math.floor(t/3600))+"h"+i(r(t%3600/60))+"m":t>60?i(Math.floor(t/60))+"m"+i(r(t%60))+"s":t>10?i(r(t))+"s":i(t)+"s"}});var jc=w((bW,fy)=>{var _w=Bc(),Pw=Nc(),Lw=Mc(),Ow=Wc();fy.exports=function(t,s,n){let r=t.format,i=t.formatTime||Ow,o=t.formatValue||Pw,a=t.formatBar||Lw,c=Math.floor(s.progress*100)+"",u=s.stopTime||Date.now(),l=Math.round((u-s.startTime)/1e3),p=Object.assign({},n,{bar:a(s.progress,t),percentage:o(c,t,"percentage"),total:o(s.total,t,"total"),value:o(s.value,t,"value"),eta:o(s.eta,t,"eta"),eta_formatted:i(s.eta,t,5),duration:o(l,t,"duration"),duration_formatted:i(l,t,1)});r=r.replace(/\{(\w+)\}/g,function(f,g){return typeof p[g]<"u"?p[g]:f});let m=Math.max(0,s.maxWidth-_w(r)-2),d=Math.floor(m/2);switch(t.align){case"right":r=m>0?" ".repeat(m)+r:r;break;case"center":r=d>0?" ".repeat(d)+r:r;break;case"left":default:break}return r}});var Ji=w((vW,gy)=>{function he(e,t){return typeof e>"u"||e===null?t:e}gy.exports={parse:function(t,s){let n={},r=Object.assign({},s,t);return n.throttleTime=1e3/he(r.fps,10),n.stream=he(r.stream,process.stderr),n.terminal=he(r.terminal,null),n.clearOnComplete=he(r.clearOnComplete,!1),n.stopOnComplete=he(r.stopOnComplete,!1),n.barsize=he(r.barsize,40),n.align=he(r.align,"left"),n.hideCursor=he(r.hideCursor,!1),n.linewrap=he(r.linewrap,!1),n.barGlue=he(r.barGlue,""),n.barCompleteChar=he(r.barCompleteChar,"="),n.barIncompleteChar=he(r.barIncompleteChar,"-"),n.format=he(r.format,"progress [{bar}] {percentage}% | ETA: {eta}s | {value}/{total}"),n.formatTime=he(r.formatTime,null),n.formatValue=he(r.formatValue,null),n.formatBar=he(r.formatBar,null),n.etaBufferLength=he(r.etaBuffer,10),n.etaAsynchronousUpdate=he(r.etaAsynchronousUpdate,!1),n.progressCalculationRelative=he(r.progressCalculationRelative,!1),n.synchronousUpdate=he(r.synchronousUpdate,!0),n.noTTYOutput=he(r.noTTYOutput,!1),n.notTTYSchedule=he(r.notTTYSchedule,2e3),n.emptyOnZero=he(r.emptyOnZero,!1),n.forceRedraw=he(r.forceRedraw,!1),n.autopadding=he(r.autopadding,!1),n.gracefulExit=he(r.gracefulExit,!1),n},assignDerivedOptions:function(t){return t.barCompleteString=t.barCompleteChar.repeat(t.barsize+1),t.barIncompleteString=t.barIncompleteChar.repeat(t.barsize+1),t.autopaddingChar=t.autopadding?he(t.autopaddingChar," "):"",t}}});var $c=w((SW,yy)=>{var hy=ey(),Bw=Pc(),Nw=jc(),Mw=Ji(),Ww=require("events");yy.exports=class extends Ww{constructor(t){super(),this.options=Mw.assignDerivedOptions(t),this.terminal=this.options.terminal?this.options.terminal:new Bw(this.options.stream),this.value=0,this.startValue=0,this.total=100,this.lastDrawnString=null,this.startTime=null,this.stopTime=null,this.lastRedraw=Date.now(),this.eta=new hy(this.options.etaBufferLength,0,0),this.payload={},this.isActive=!1,this.formatter=typeof this.options.format=="function"?this.options.format:Nw}render(t=!1){let s={progress:this.getProgress(),eta:this.eta.getTime(),startTime:this.startTime,stopTime:this.stopTime,total:this.total,value:this.value,maxWidth:this.terminal.getWidth()};this.options.etaAsynchronousUpdate&&this.updateETA();let n=this.formatter(this.options,s,this.payload);(t||this.options.forceRedraw||this.options.noTTYOutput&&!this.terminal.isTTY()||this.lastDrawnString!=n)&&(this.emit("redraw-pre"),this.terminal.cursorTo(0,null),this.terminal.write(n),this.terminal.clearRight(),this.lastDrawnString=n,this.lastRedraw=Date.now(),this.emit("redraw-post"))}start(t,s,n){this.value=s||0,this.total=typeof t<"u"&&t>=0?t:100,this.startValue=s||0,this.payload=n||{},this.startTime=Date.now(),this.stopTime=null,this.lastDrawnString="",this.eta=new hy(this.options.etaBufferLength,this.startTime,this.value),this.isActive=!0,this.emit("start",t,s)}stop(){this.isActive=!1,this.stopTime=Date.now(),this.emit("stop",this.total,this.value)}update(t,s={}){typeof t=="number"&&(this.value=t,this.eta.update(Date.now(),t,this.total));let n=(typeof t=="object"?t:s)||{};this.emit("update",this.total,this.value);for(let r in n)this.payload[r]=n[r];this.value>=this.getTotal()&&this.options.stopOnComplete&&this.stop()}getProgress(){let t=this.value/this.total;return this.options.progressCalculationRelative&&(t=(this.value-this.startValue)/(this.total-this.startValue)),isNaN(t)&&(t=this.options&&this.options.emptyOnZero?0:1),t=Math.min(Math.max(t,0),1),t}increment(t=1,s={}){typeof t=="object"?this.update(this.value+1,t):this.update(this.value+t,s)}getTotal(){return this.total}setTotal(t){typeof t<"u"&&t>=0&&(this.total=t)}updateETA(){this.eta.update(Date.now(),this.value,this.total)}}});var by=w((FW,Dy)=>{var jw=$c(),$w=Ji();Dy.exports=class extends jw{constructor(t,s){super($w.parse(t,s)),this.timer=null,this.options.noTTYOutput&&this.terminal.isTTY()===!1&&(this.options.synchronousUpdate=!1),this.schedulingRate=this.terminal.isTTY()?this.options.throttleTime:this.options.notTTYSchedule,this.sigintCallback=null}render(){this.timer&&(clearTimeout(this.timer),this.timer=null),super.render(),this.options.noTTYOutput&&this.terminal.isTTY()===!1&&this.terminal.newline(),this.timer=setTimeout(this.render.bind(this),this.schedulingRate)}update(t,s){this.timer&&(super.update(t,s),this.options.synchronousUpdate&&this.lastRedraw+this.options.throttleTime*2<Date.now()&&this.render())}start(t,s,n){this.options.noTTYOutput===!1&&this.terminal.isTTY()===!1||(this.sigintCallback===null&&this.options.gracefulExit&&(this.sigintCallback=this.stop.bind(this),process.once("SIGINT",this.sigintCallback),process.once("SIGTERM",this.sigintCallback)),this.terminal.cursorSave(),this.options.hideCursor===!0&&this.terminal.cursor(!1),this.options.linewrap===!1&&this.terminal.lineWrapping(!1),super.start(t,s,n),this.render())}stop(){this.timer&&(this.sigintCallback&&(process.removeListener("SIGINT",this.sigintCallback),process.removeListener("SIGTERM",this.sigintCallback),this.sigintCallback=null),this.render(),super.stop(),clearTimeout(this.timer),this.timer=null,this.options.hideCursor===!0&&this.terminal.cursor(!0),this.options.linewrap===!1&&this.terminal.lineWrapping(!0),this.terminal.cursorRestore(),this.options.clearOnComplete?(this.terminal.cursorTo(0,null),this.terminal.clearLine()):this.terminal.newline())}}});var Cy=w((EW,vy)=>{var Uw=Pc(),Gw=$c(),qw=Ji(),zw=require("events");vy.exports=class extends zw{constructor(t,s){super(),this.bars=[],this.options=qw.parse(t,s),this.options.synchronousUpdate=!1,this.terminal=this.options.terminal?this.options.terminal:new Uw(this.options.stream),this.timer=null,this.isActive=!1,this.schedulingRate=this.terminal.isTTY()?this.options.throttleTime:this.options.notTTYSchedule,this.loggingBuffer=[],this.sigintCallback=null}create(t,s,n,r={}){let i=new Gw(Object.assign({},this.options,{terminal:this.terminal},r));return this.bars.push(i),this.options.noTTYOutput===!1&&this.terminal.isTTY()===!1||(this.sigintCallback===null&&this.options.gracefulExit&&(this.sigintCallback=this.stop.bind(this),process.once("SIGINT",this.sigintCallback),process.once("SIGTERM",this.sigintCallback)),this.isActive||(this.options.hideCursor===!0&&this.terminal.cursor(!1),this.options.linewrap===!1&&this.terminal.lineWrapping(!1),this.timer=setTimeout(this.update.bind(this),this.schedulingRate)),this.isActive=!0,i.start(t,s,n),this.emit("start")),i}remove(t){let s=this.bars.indexOf(t);return s<0?!1:(this.bars.splice(s,1),this.update(),this.terminal.newline(),this.terminal.clearBottom(),!0)}update(){if(this.timer&&(clearTimeout(this.timer),this.timer=null),this.emit("update-pre"),this.terminal.cursorRelativeReset(),this.emit("redraw-pre"),this.loggingBuffer.length>0)for(this.terminal.clearLine();this.loggingBuffer.length>0;)this.terminal.write(this.loggingBuffer.shift(),!0);for(let t=0;t<this.bars.length;t++)t>0&&this.terminal.newline(),this.bars[t].render();this.emit("redraw-post"),this.options.noTTYOutput&&this.terminal.isTTY()===!1&&(this.terminal.newline(),this.terminal.newline()),this.timer=setTimeout(this.update.bind(this),this.schedulingRate),this.emit("update-post"),this.options.stopOnComplete&&!this.bars.find(t=>t.isActive)&&this.stop()}stop(){if(clearTimeout(this.timer),this.timer=null,this.sigintCallback&&(process.removeListener("SIGINT",this.sigintCallback),process.removeListener("SIGTERM",this.sigintCallback),this.sigintCallback=null),this.isActive=!1,this.options.hideCursor===!0&&this.terminal.cursor(!0),this.options.linewrap===!1&&this.terminal.lineWrapping(!0),this.terminal.cursorRelativeReset(),this.emit("stop-pre-clear"),this.options.clearOnComplete)this.terminal.clearBottom();else{for(let t=0;t<this.bars.length;t++)t>0&&this.terminal.newline(),this.bars[t].render(),this.bars[t].stop();this.terminal.newline()}this.emit("stop")}log(t){this.loggingBuffer.push(t)}}});var xy=w((wW,Sy)=>{Sy.exports={format:"progress [{bar}] {percentage}% | ETA: {eta}s | {value}/{total}",barCompleteChar:"=",barIncompleteChar:"-"}});var Ay=w((RW,Fy)=>{Fy.exports={format:" {bar} {percentage}% | ETA: {eta}s | {value}/{total}",barCompleteChar:"\u2588",barIncompleteChar:"\u2591"}});var wy=w((TW,Ey)=>{Ey.exports={format:" \x1B[90m{bar}\x1B[0m {percentage}% | ETA: {eta}s | {value}/{total}",barCompleteChar:"\u2588",barIncompleteChar:"\u2591"}});var Ty=w((IW,Ry)=>{Ry.exports={format:" {bar}\u25A0 {percentage}% | ETA: {eta}s | {value}/{total}",barCompleteChar:"\u25A0",barIncompleteChar:" "}});var ky=w((kW,Iy)=>{var Hw=xy(),Vw=Ay(),Kw=wy(),Zw=Ty();Iy.exports={legacy:Hw,shades_classic:Vw,shades_grey:Kw,rect:Zw}});var Ly=w((_W,Py)=>{var _y=by(),Jw=Cy(),Yw=ky(),Qw=jc(),Xw=Nc(),eR=Mc(),tR=Wc();Py.exports={Bar:_y,SingleBar:_y,MultiBar:Jw,Presets:Yw,Format:{Formatter:Qw,BarFormat:eR,ValueFormat:Xw,TimeFormat:tR}}});var to=w((vj,rD)=>{var Qc=[],nD=0,We=(e,t)=>{nD>=t&&Qc.push(e)};We.WARN=1;We.INFO=2;We.DEBUG=3;We.reset=()=>{Qc=[]};We.setDebugLevel=e=>{nD=e};We.warn=e=>We(e,We.WARN);We.info=e=>We(e,We.INFO);We.debug=e=>We(e,We.DEBUG);We.debugMessages=()=>Qc;rD.exports=We});var Xc=w((Cj,cD)=>{var iD=Bc();function so(e){return e?/\u001b\[((?:\d*;){0,5}\d*)m/g:/\u001b\[(?:\d*;){0,5}\d*m/g}function Pt(e){let t=so();return(""+e).replace(t,"").split(`
|
|
75
|
-
`).reduce(function(r,i){return
|
|
76
|
-
`);let r=s?
|
|
77
|
-
`)!=-1,n=this._styles,r=n.length;r--;){var i=
|
|
78
|
-
`))}wrapLines(t){let s=
|
|
73
|
+
\u{1F4A1} Benefits of Branded API:`),console.log(" \u2022 Clear brand ownership"),console.log(" \u2022 Consistent naming convention"),console.log(" \u2022 Easy to identify Strogger functions"),console.log(" \u2022 No breaking changes - conventional API still works")}catch(e){console.error("\u274C Error running branded API examples:",e)}};et.runBrandedAPIExamples=ME;require.main===bh&&(0,et.runBrandedAPIExamples)()});var Zt=E(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.demonstrateAutomaticInstanceId=w.runCloudWatchTransportExamples=w.runFileTransportExamples=w.createCloudWatchTransportExample=w.createFileTransportExample=w.createBatchedLogger=w.createBatchedTransport=w.generateLoggerInstanceId=w.generateSpanId=w.generateTraceId=w.generateCorrelationId=w.createLoggerInstanceEnricher=w.createUserEnricher=w.createEnvironmentEnricher=w.createSessionEnricher=w.createCorrelationEnricher=w.createEnrichmentMiddleware=w.createDefaultEnrichmentMiddleware=w.createSampler=w.createRateLimiter=w.createLogFilter=w.validateTransportConfig=w.validateEnvironmentVariable=w.handleTransportError=w.createDetailedError=w.ERROR_MESSAGES=w.ValidationError=w.ConfigurationError=w.TransportError=w.LoggerError=w.createPerformanceMonitor=w.getEnvironment=w.createStroggerCloudWatchTransport=w.createStroggerNewRelicTransport=w.createStroggerElasticsearchTransport=w.createStroggerSplunkTransport=w.createStroggerDataDogTransport=w.createStroggerConsoleTransport=w.createCloudWatchTransport=w.createFileTransport=w.createNewRelicTransport=w.createElasticsearchTransport=w.createSplunkTransport=w.createDataDogTransport=w.createConsoleTransport=w.createJsonFormatter=w.LogLevel=w.strogger=w.createStrogger=w.createLogger=void 0;w.printLoggerConfig=w.shouldLog=w.runBrandedAPIExamples=w.runStructuredLoggingDemo=w.demonstrateManualGeneration=w.demonstrateInstanceIdInContexts=w.demonstrateMultipleInstances=w.demonstrateCustomInstanceId=void 0;var pc=rc();Object.defineProperty(w,"createLogger",{enumerable:!0,get:function(){return pc.createLogger}});Object.defineProperty(w,"createStrogger",{enumerable:!0,get:function(){return pc.createStrogger}});Object.defineProperty(w,"strogger",{enumerable:!0,get:function(){return pc.strogger}});var NE=Ft();Object.defineProperty(w,"LogLevel",{enumerable:!0,get:function(){return NE.LogLevel}});var WE=za();Object.defineProperty(w,"createJsonFormatter",{enumerable:!0,get:function(){return WE.createJsonFormatter}});var jE=Ai();Object.defineProperty(w,"createConsoleTransport",{enumerable:!0,get:function(){return jE.createConsoleTransport}});var $E=oc();Object.defineProperty(w,"createDataDogTransport",{enumerable:!0,get:function(){return $E.createDataDogTransport}});var UE=ac();Object.defineProperty(w,"createSplunkTransport",{enumerable:!0,get:function(){return UE.createSplunkTransport}});var GE=cc();Object.defineProperty(w,"createElasticsearchTransport",{enumerable:!0,get:function(){return GE.createElasticsearchTransport}});var zE=uc();Object.defineProperty(w,"createNewRelicTransport",{enumerable:!0,get:function(){return zE.createNewRelicTransport}});var qE=$g();Object.defineProperty(w,"createFileTransport",{enumerable:!0,get:function(){return qE.createFileTransport}});var HE=lc();Object.defineProperty(w,"createCloudWatchTransport",{enumerable:!0,get:function(){return HE.createCloudWatchTransport}});var VE=Ai();Object.defineProperty(w,"createStroggerConsoleTransport",{enumerable:!0,get:function(){return VE.createConsoleTransport}});var KE=oc();Object.defineProperty(w,"createStroggerDataDogTransport",{enumerable:!0,get:function(){return KE.createDataDogTransport}});var ZE=ac();Object.defineProperty(w,"createStroggerSplunkTransport",{enumerable:!0,get:function(){return ZE.createSplunkTransport}});var YE=cc();Object.defineProperty(w,"createStroggerElasticsearchTransport",{enumerable:!0,get:function(){return YE.createElasticsearchTransport}});var JE=uc();Object.defineProperty(w,"createStroggerNewRelicTransport",{enumerable:!0,get:function(){return JE.createNewRelicTransport}});var QE=lc();Object.defineProperty(w,"createStroggerCloudWatchTransport",{enumerable:!0,get:function(){return QE.createCloudWatchTransport}});var XE=sc();Object.defineProperty(w,"getEnvironment",{enumerable:!0,get:function(){return XE.getEnvironment}});var eR=Ug();Object.defineProperty(w,"createPerformanceMonitor",{enumerable:!0,get:function(){return eR.createPerformanceMonitor}});var Yt=us();Object.defineProperty(w,"LoggerError",{enumerable:!0,get:function(){return Yt.LoggerError}});Object.defineProperty(w,"TransportError",{enumerable:!0,get:function(){return Yt.TransportError}});Object.defineProperty(w,"ConfigurationError",{enumerable:!0,get:function(){return Yt.ConfigurationError}});Object.defineProperty(w,"ValidationError",{enumerable:!0,get:function(){return Yt.ValidationError}});Object.defineProperty(w,"ERROR_MESSAGES",{enumerable:!0,get:function(){return Yt.ERROR_MESSAGES}});Object.defineProperty(w,"createDetailedError",{enumerable:!0,get:function(){return Yt.createDetailedError}});Object.defineProperty(w,"handleTransportError",{enumerable:!0,get:function(){return Yt.handleTransportError}});Object.defineProperty(w,"validateEnvironmentVariable",{enumerable:!0,get:function(){return Yt.validateEnvironmentVariable}});Object.defineProperty(w,"validateTransportConfig",{enumerable:!0,get:function(){return Yt.validateTransportConfig}});var dc=nc();Object.defineProperty(w,"createLogFilter",{enumerable:!0,get:function(){return dc.createLogFilter}});Object.defineProperty(w,"createRateLimiter",{enumerable:!0,get:function(){return dc.createRateLimiter}});Object.defineProperty(w,"createSampler",{enumerable:!0,get:function(){return dc.createSampler}});var Rt=Va();Object.defineProperty(w,"createDefaultEnrichmentMiddleware",{enumerable:!0,get:function(){return Rt.createDefaultEnrichmentMiddleware}});Object.defineProperty(w,"createEnrichmentMiddleware",{enumerable:!0,get:function(){return Rt.createEnrichmentMiddleware}});Object.defineProperty(w,"createCorrelationEnricher",{enumerable:!0,get:function(){return Rt.createCorrelationEnricher}});Object.defineProperty(w,"createSessionEnricher",{enumerable:!0,get:function(){return Rt.createSessionEnricher}});Object.defineProperty(w,"createEnvironmentEnricher",{enumerable:!0,get:function(){return Rt.createEnvironmentEnricher}});Object.defineProperty(w,"createUserEnricher",{enumerable:!0,get:function(){return Rt.createUserEnricher}});Object.defineProperty(w,"createLoggerInstanceEnricher",{enumerable:!0,get:function(){return Rt.createLoggerInstanceEnricher}});Object.defineProperty(w,"generateCorrelationId",{enumerable:!0,get:function(){return Rt.generateCorrelationId}});Object.defineProperty(w,"generateTraceId",{enumerable:!0,get:function(){return Rt.generateTraceId}});Object.defineProperty(w,"generateSpanId",{enumerable:!0,get:function(){return Rt.generateSpanId}});Object.defineProperty(w,"generateLoggerInstanceId",{enumerable:!0,get:function(){return Rt.generateLoggerInstanceId}});var Sh=Ha();Object.defineProperty(w,"createBatchedTransport",{enumerable:!0,get:function(){return Sh.createBatchedTransport}});Object.defineProperty(w,"createBatchedLogger",{enumerable:!0,get:function(){return Sh.createBatchedLogger}});var tR=Gg();Object.defineProperty(w,"createFileTransportExample",{enumerable:!0,get:function(){return tR.createFileTransportExample}});var sR=zg();Object.defineProperty(w,"createCloudWatchTransportExample",{enumerable:!0,get:function(){return sR.createCloudWatchTransportExample}});var nR=Qg();Object.defineProperty(w,"runFileTransportExamples",{enumerable:!0,get:function(){return nR.runFileTransportExamples}});var rR=ah();Object.defineProperty(w,"runCloudWatchTransportExamples",{enumerable:!0,get:function(){return rR.runCloudWatchTransportExamples}});var vr=ch();Object.defineProperty(w,"demonstrateAutomaticInstanceId",{enumerable:!0,get:function(){return vr.demonstrateAutomaticInstanceId}});Object.defineProperty(w,"demonstrateCustomInstanceId",{enumerable:!0,get:function(){return vr.demonstrateCustomInstanceId}});Object.defineProperty(w,"demonstrateMultipleInstances",{enumerable:!0,get:function(){return vr.demonstrateMultipleInstances}});Object.defineProperty(w,"demonstrateInstanceIdInContexts",{enumerable:!0,get:function(){return vr.demonstrateInstanceIdInContexts}});Object.defineProperty(w,"demonstrateManualGeneration",{enumerable:!0,get:function(){return vr.demonstrateManualGeneration}});var iR=Dh();Object.defineProperty(w,"runStructuredLoggingDemo",{enumerable:!0,get:function(){return iR.runStructuredLoggingDemo}});var oR=vh();Object.defineProperty(w,"runBrandedAPIExamples",{enumerable:!0,get:function(){return oR.runBrandedAPIExamples}});var aR=zt();Object.defineProperty(w,"shouldLog",{enumerable:!0,get:function(){return aR.shouldLog}});var cR=rc();Object.defineProperty(w,"printLoggerConfig",{enumerable:!0,get:function(){return cR.printLoggerConfig}})});var Ey=E((h$,dw)=>{dw.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var Lc=E((y$,wy)=>{"use strict";var io=Object.assign({},Ey()),Ry=Object.keys(io);Object.defineProperty(io,"random",{get(){let e=Math.floor(Math.random()*Ry.length),t=Ry[e];return io[t]}});wy.exports=io});var Py=E((I$,Ly)=>{Ly.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var My=E((K$,By)=>{var zc=class{constructor(t,s,n){this.etaBufferLength=t||100,this.valueBuffer=[n],this.timeBuffer=[s],this.eta="0"}update(t,s,n){this.valueBuffer.push(s),this.timeBuffer.push(t),this.calculate(n-s)}getTime(){return this.eta}calculate(t){let s=this.valueBuffer.length,n=Math.min(this.etaBufferLength,s),r=this.valueBuffer[s-1]-this.valueBuffer[s-n],i=this.timeBuffer[s-1]-this.timeBuffer[s-n],o=r/i;this.valueBuffer=this.valueBuffer.slice(-this.etaBufferLength),this.timeBuffer=this.timeBuffer.slice(-this.etaBufferLength);let a=Math.ceil(t/o/1e3);isNaN(a)?this.eta="NULL":isFinite(a)?a>1e7?this.eta="INF":a<0?this.eta=0:this.eta=a:this.eta="INF"}};By.exports=zc});var Hc=E((Z$,Ny)=>{var Zs=require("readline"),qc=class{constructor(t){this.stream=t,this.linewrap=!0,this.dy=0}cursorSave(){this.stream.isTTY&&this.stream.write("\x1B7")}cursorRestore(){this.stream.isTTY&&this.stream.write("\x1B8")}cursor(t){this.stream.isTTY&&(t?this.stream.write("\x1B[?25h"):this.stream.write("\x1B[?25l"))}cursorTo(t=null,s=null){this.stream.isTTY&&Zs.cursorTo(this.stream,t,s)}cursorRelative(t=null,s=null){this.stream.isTTY&&(this.dy=this.dy+s,Zs.moveCursor(this.stream,t,s))}cursorRelativeReset(){this.stream.isTTY&&(Zs.moveCursor(this.stream,0,-this.dy),Zs.cursorTo(this.stream,0,null),this.dy=0)}clearRight(){this.stream.isTTY&&Zs.clearLine(this.stream,1)}clearLine(){this.stream.isTTY&&Zs.clearLine(this.stream,0)}clearBottom(){this.stream.isTTY&&Zs.clearScreenDown(this.stream)}newline(){this.stream.write(`
|
|
74
|
+
`),this.dy++}write(t,s=!1){this.linewrap===!0&&s===!1?this.stream.write(t.substr(0,this.getWidth())):this.stream.write(t)}lineWrapping(t){this.stream.isTTY&&(this.linewrap=t,t?this.stream.write("\x1B[?7h"):this.stream.write("\x1B[?7l"))}isTTY(){return this.stream.isTTY===!0}getWidth(){return this.stream.columns||(this.stream.isTTY?80:200)}};Ny.exports=qc});var jy=E((Y$,Wy)=>{"use strict";Wy.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var Uy=E((J$,$y)=>{"use strict";var xw=jy();$y.exports=e=>typeof e=="string"?e.replace(xw(),""):e});var zy=E((Q$,Vc)=>{"use strict";var Gy=e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);Vc.exports=Gy;Vc.exports.default=Gy});var Hy=E((X$,qy)=>{"use strict";qy.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var Zc=E((e6,Kc)=>{"use strict";var Aw=Uy(),Fw=zy(),Ew=Hy(),Vy=e=>{if(typeof e!="string"||e.length===0||(e=Aw(e),e.length===0))return 0;e=e.replace(Ew()," ");let t=0;for(let s=0;s<e.length;s++){let n=e.codePointAt(s);n<=31||n>=127&&n<=159||n>=768&&n<=879||(n>65535&&s++,t+=Fw(n)?2:1)}return t};Kc.exports=Vy;Kc.exports.default=Vy});var Yc=E((t6,Ky)=>{Ky.exports=function(t,s,n){if(s.autopadding!==!0)return t;function r(i,o){return(s.autopaddingChar+i).slice(-o)}switch(n){case"percentage":return r(t,3);default:return t}}});var Jc=E((s6,Zy)=>{Zy.exports=function(t,s){let n=Math.round(t*s.barsize),r=s.barsize-n;return s.barCompleteString.substr(0,n)+s.barGlue+s.barIncompleteString.substr(0,r)}});var Qc=E((n6,Yy)=>{Yy.exports=function(t,s,n){function r(o){return n?n*Math.round(o/n):o}function i(o){return(s.autopaddingChar+o).slice(-2)}return t>3600?i(Math.floor(t/3600))+"h"+i(r(t%3600/60))+"m":t>60?i(Math.floor(t/60))+"m"+i(r(t%60))+"s":t>10?i(r(t))+"s":i(t)+"s"}});var Xc=E((r6,Jy)=>{var Rw=Zc(),ww=Yc(),Iw=Jc(),Tw=Qc();Jy.exports=function(t,s,n){let r=t.format,i=t.formatTime||Tw,o=t.formatValue||ww,a=t.formatBar||Iw,c=Math.floor(s.progress*100)+"",u=s.stopTime||Date.now(),l=Math.round((u-s.startTime)/1e3),p=Object.assign({},n,{bar:a(s.progress,t),percentage:o(c,t,"percentage"),total:o(s.total,t,"total"),value:o(s.value,t,"value"),eta:o(s.eta,t,"eta"),eta_formatted:i(s.eta,t,5),duration:o(l,t,"duration"),duration_formatted:i(l,t,1)});r=r.replace(/\{(\w+)\}/g,function(m,g){return typeof p[g]<"u"?p[g]:m});let d=Math.max(0,s.maxWidth-Rw(r)-2),f=Math.floor(d/2);switch(t.align){case"right":r=d>0?" ".repeat(d)+r:r;break;case"center":r=f>0?" ".repeat(f)+r:r;break;case"left":default:break}return r}});var co=E((i6,Qy)=>{function Se(e,t){return typeof e>"u"||e===null?t:e}Qy.exports={parse:function(t,s){let n={},r=Object.assign({},s,t);return n.throttleTime=1e3/Se(r.fps,10),n.stream=Se(r.stream,process.stderr),n.terminal=Se(r.terminal,null),n.clearOnComplete=Se(r.clearOnComplete,!1),n.stopOnComplete=Se(r.stopOnComplete,!1),n.barsize=Se(r.barsize,40),n.align=Se(r.align,"left"),n.hideCursor=Se(r.hideCursor,!1),n.linewrap=Se(r.linewrap,!1),n.barGlue=Se(r.barGlue,""),n.barCompleteChar=Se(r.barCompleteChar,"="),n.barIncompleteChar=Se(r.barIncompleteChar,"-"),n.format=Se(r.format,"progress [{bar}] {percentage}% | ETA: {eta}s | {value}/{total}"),n.formatTime=Se(r.formatTime,null),n.formatValue=Se(r.formatValue,null),n.formatBar=Se(r.formatBar,null),n.etaBufferLength=Se(r.etaBuffer,10),n.etaAsynchronousUpdate=Se(r.etaAsynchronousUpdate,!1),n.progressCalculationRelative=Se(r.progressCalculationRelative,!1),n.synchronousUpdate=Se(r.synchronousUpdate,!0),n.noTTYOutput=Se(r.noTTYOutput,!1),n.notTTYSchedule=Se(r.notTTYSchedule,2e3),n.emptyOnZero=Se(r.emptyOnZero,!1),n.forceRedraw=Se(r.forceRedraw,!1),n.autopadding=Se(r.autopadding,!1),n.gracefulExit=Se(r.gracefulExit,!1),n},assignDerivedOptions:function(t){return t.barCompleteString=t.barCompleteChar.repeat(t.barsize+1),t.barIncompleteString=t.barIncompleteChar.repeat(t.barsize+1),t.autopaddingChar=t.autopadding?Se(t.autopaddingChar," "):"",t}}});var eu=E((a6,eD)=>{var Xy=My(),kw=Hc(),_w=Xc(),Lw=co(),Pw=require("events");eD.exports=class extends Pw{constructor(t){super(),this.options=Lw.assignDerivedOptions(t),this.terminal=this.options.terminal?this.options.terminal:new kw(this.options.stream),this.value=0,this.startValue=0,this.total=100,this.lastDrawnString=null,this.startTime=null,this.stopTime=null,this.lastRedraw=Date.now(),this.eta=new Xy(this.options.etaBufferLength,0,0),this.payload={},this.isActive=!1,this.formatter=typeof this.options.format=="function"?this.options.format:_w}render(t=!1){let s={progress:this.getProgress(),eta:this.eta.getTime(),startTime:this.startTime,stopTime:this.stopTime,total:this.total,value:this.value,maxWidth:this.terminal.getWidth()};this.options.etaAsynchronousUpdate&&this.updateETA();let n=this.formatter(this.options,s,this.payload);(t||this.options.forceRedraw||this.options.noTTYOutput&&!this.terminal.isTTY()||this.lastDrawnString!=n)&&(this.emit("redraw-pre"),this.terminal.cursorTo(0,null),this.terminal.write(n),this.terminal.clearRight(),this.lastDrawnString=n,this.lastRedraw=Date.now(),this.emit("redraw-post"))}start(t,s,n){this.value=s||0,this.total=typeof t<"u"&&t>=0?t:100,this.startValue=s||0,this.payload=n||{},this.startTime=Date.now(),this.stopTime=null,this.lastDrawnString="",this.eta=new Xy(this.options.etaBufferLength,this.startTime,this.value),this.isActive=!0,this.emit("start",t,s)}stop(){this.isActive=!1,this.stopTime=Date.now(),this.emit("stop",this.total,this.value)}update(t,s={}){typeof t=="number"&&(this.value=t,this.eta.update(Date.now(),t,this.total));let n=(typeof t=="object"?t:s)||{};this.emit("update",this.total,this.value);for(let r in n)this.payload[r]=n[r];this.value>=this.getTotal()&&this.options.stopOnComplete&&this.stop()}getProgress(){let t=this.value/this.total;return this.options.progressCalculationRelative&&(t=(this.value-this.startValue)/(this.total-this.startValue)),isNaN(t)&&(t=this.options&&this.options.emptyOnZero?0:1),t=Math.min(Math.max(t,0),1),t}increment(t=1,s={}){typeof t=="object"?this.update(this.value+1,t):this.update(this.value+t,s)}getTotal(){return this.total}setTotal(t){typeof t<"u"&&t>=0&&(this.total=t)}updateETA(){this.eta.update(Date.now(),this.value,this.total)}}});var sD=E((u6,tD)=>{var Ow=eu(),Bw=co();tD.exports=class extends Ow{constructor(t,s){super(Bw.parse(t,s)),this.timer=null,this.options.noTTYOutput&&this.terminal.isTTY()===!1&&(this.options.synchronousUpdate=!1),this.schedulingRate=this.terminal.isTTY()?this.options.throttleTime:this.options.notTTYSchedule,this.sigintCallback=null}render(){this.timer&&(clearTimeout(this.timer),this.timer=null),super.render(),this.options.noTTYOutput&&this.terminal.isTTY()===!1&&this.terminal.newline(),this.timer=setTimeout(this.render.bind(this),this.schedulingRate)}update(t,s){this.timer&&(super.update(t,s),this.options.synchronousUpdate&&this.lastRedraw+this.options.throttleTime*2<Date.now()&&this.render())}start(t,s,n){this.options.noTTYOutput===!1&&this.terminal.isTTY()===!1||(this.sigintCallback===null&&this.options.gracefulExit&&(this.sigintCallback=this.stop.bind(this),process.once("SIGINT",this.sigintCallback),process.once("SIGTERM",this.sigintCallback)),this.terminal.cursorSave(),this.options.hideCursor===!0&&this.terminal.cursor(!1),this.options.linewrap===!1&&this.terminal.lineWrapping(!1),super.start(t,s,n),this.render())}stop(){this.timer&&(this.sigintCallback&&(process.removeListener("SIGINT",this.sigintCallback),process.removeListener("SIGTERM",this.sigintCallback),this.sigintCallback=null),this.render(),super.stop(),clearTimeout(this.timer),this.timer=null,this.options.hideCursor===!0&&this.terminal.cursor(!0),this.options.linewrap===!1&&this.terminal.lineWrapping(!0),this.terminal.cursorRestore(),this.options.clearOnComplete?(this.terminal.cursorTo(0,null),this.terminal.clearLine()):this.terminal.newline())}}});var rD=E((p6,nD)=>{var Mw=Hc(),Nw=eu(),Ww=co(),jw=require("events");nD.exports=class extends jw{constructor(t,s){super(),this.bars=[],this.options=Ww.parse(t,s),this.options.synchronousUpdate=!1,this.terminal=this.options.terminal?this.options.terminal:new Mw(this.options.stream),this.timer=null,this.isActive=!1,this.schedulingRate=this.terminal.isTTY()?this.options.throttleTime:this.options.notTTYSchedule,this.loggingBuffer=[],this.sigintCallback=null}create(t,s,n,r={}){let i=new Nw(Object.assign({},this.options,{terminal:this.terminal},r));return this.bars.push(i),this.options.noTTYOutput===!1&&this.terminal.isTTY()===!1||(this.sigintCallback===null&&this.options.gracefulExit&&(this.sigintCallback=this.stop.bind(this),process.once("SIGINT",this.sigintCallback),process.once("SIGTERM",this.sigintCallback)),this.isActive||(this.options.hideCursor===!0&&this.terminal.cursor(!1),this.options.linewrap===!1&&this.terminal.lineWrapping(!1),this.timer=setTimeout(this.update.bind(this),this.schedulingRate)),this.isActive=!0,i.start(t,s,n),this.emit("start")),i}remove(t){let s=this.bars.indexOf(t);return s<0?!1:(this.bars.splice(s,1),this.update(),this.terminal.newline(),this.terminal.clearBottom(),!0)}update(){if(this.timer&&(clearTimeout(this.timer),this.timer=null),this.emit("update-pre"),this.terminal.cursorRelativeReset(),this.emit("redraw-pre"),this.loggingBuffer.length>0)for(this.terminal.clearLine();this.loggingBuffer.length>0;)this.terminal.write(this.loggingBuffer.shift(),!0);for(let t=0;t<this.bars.length;t++)t>0&&this.terminal.newline(),this.bars[t].render();this.emit("redraw-post"),this.options.noTTYOutput&&this.terminal.isTTY()===!1&&(this.terminal.newline(),this.terminal.newline()),this.timer=setTimeout(this.update.bind(this),this.schedulingRate),this.emit("update-post"),this.options.stopOnComplete&&!this.bars.find(t=>t.isActive)&&this.stop()}stop(){if(clearTimeout(this.timer),this.timer=null,this.sigintCallback&&(process.removeListener("SIGINT",this.sigintCallback),process.removeListener("SIGTERM",this.sigintCallback),this.sigintCallback=null),this.isActive=!1,this.options.hideCursor===!0&&this.terminal.cursor(!0),this.options.linewrap===!1&&this.terminal.lineWrapping(!0),this.terminal.cursorRelativeReset(),this.emit("stop-pre-clear"),this.options.clearOnComplete)this.terminal.clearBottom();else{for(let t=0;t<this.bars.length;t++)t>0&&this.terminal.newline(),this.bars[t].render(),this.bars[t].stop();this.terminal.newline()}this.emit("stop")}log(t){this.loggingBuffer.push(t)}}});var oD=E((d6,iD)=>{iD.exports={format:"progress [{bar}] {percentage}% | ETA: {eta}s | {value}/{total}",barCompleteChar:"=",barIncompleteChar:"-"}});var cD=E((m6,aD)=>{aD.exports={format:" {bar} {percentage}% | ETA: {eta}s | {value}/{total}",barCompleteChar:"\u2588",barIncompleteChar:"\u2591"}});var lD=E((f6,uD)=>{uD.exports={format:" \x1B[90m{bar}\x1B[0m {percentage}% | ETA: {eta}s | {value}/{total}",barCompleteChar:"\u2588",barIncompleteChar:"\u2591"}});var dD=E((g6,pD)=>{pD.exports={format:" {bar}\u25A0 {percentage}% | ETA: {eta}s | {value}/{total}",barCompleteChar:"\u25A0",barIncompleteChar:" "}});var fD=E((h6,mD)=>{var $w=oD(),Uw=cD(),Gw=lD(),zw=dD();mD.exports={legacy:$w,shades_classic:Uw,shades_grey:Gw,rect:zw}});var yD=E((y6,hD)=>{var gD=sD(),qw=rD(),Hw=fD(),Vw=Xc(),Kw=Yc(),Zw=Jc(),Yw=Qc();hD.exports={Bar:gD,SingleBar:gD,MultiBar:qw,Presets:Hw,Format:{Formatter:Vw,BarFormat:Zw,ValueFormat:Kw,TimeFormat:Yw}}});var fo=E((i8,$D)=>{var pu=[],jD=0,qe=(e,t)=>{jD>=t&&pu.push(e)};qe.WARN=1;qe.INFO=2;qe.DEBUG=3;qe.reset=()=>{pu=[]};qe.setDebugLevel=e=>{jD=e};qe.warn=e=>qe(e,qe.WARN);qe.info=e=>qe(e,qe.INFO);qe.debug=e=>qe(e,qe.DEBUG);qe.debugMessages=()=>pu;$D.exports=qe});var du=E((o8,qD)=>{var UD=Zc();function go(e){return e?/\u001b\[((?:\d*;){0,5}\d*)m/g:/\u001b\[(?:\d*;){0,5}\d*m/g}function Wt(e){let t=go();return(""+e).replace(t,"").split(`
|
|
75
|
+
`).reduce(function(r,i){return UD(i)>r?UD(i):r},0)}function Pr(e,t){return Array(t+1).join(e)}function vI(e,t,s,n){let r=Wt(e);if(t+1>=r){let i=t-r;switch(n){case"right":{e=Pr(s,i)+e;break}case"center":{let o=Math.ceil(i/2),a=i-o;e=Pr(s,a)+e+Pr(s,o);break}default:{e=e+Pr(s,i);break}}}return e}var $n={};function Or(e,t,s){t="\x1B["+t+"m",s="\x1B["+s+"m",$n[t]={set:e,to:!0},$n[s]={set:e,to:!1},$n[e]={on:t,off:s}}Or("bold",1,22);Or("italics",3,23);Or("underline",4,24);Or("inverse",7,27);Or("strikethrough",9,29);function GD(e,t){let s=t[1]?parseInt(t[1].split(";")[0]):0;if(s>=30&&s<=39||s>=90&&s<=97){e.lastForegroundAdded=t[0];return}if(s>=40&&s<=49||s>=100&&s<=107){e.lastBackgroundAdded=t[0];return}if(s===0){for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&delete e[r];return}let n=$n[t[0]];n&&(e[n.set]=n.to)}function SI(e){let t=go(!0),s=t.exec(e),n={};for(;s!==null;)GD(n,s),s=t.exec(e);return n}function zD(e,t){let s=e.lastBackgroundAdded,n=e.lastForegroundAdded;return delete e.lastBackgroundAdded,delete e.lastForegroundAdded,Object.keys(e).forEach(function(r){e[r]&&(t+=$n[r].off)}),s&&s!="\x1B[49m"&&(t+="\x1B[49m"),n&&n!="\x1B[39m"&&(t+="\x1B[39m"),t}function CI(e,t){let s=e.lastBackgroundAdded,n=e.lastForegroundAdded;return delete e.lastBackgroundAdded,delete e.lastForegroundAdded,Object.keys(e).forEach(function(r){e[r]&&(t=$n[r].on+t)}),s&&s!="\x1B[49m"&&(t=s+t),n&&n!="\x1B[39m"&&(t=n+t),t}function xI(e,t){if(e.length===Wt(e))return e.substr(0,t);for(;Wt(e)>t;)e=e.slice(0,-1);return e}function AI(e,t){let s=go(!0),n=e.split(go()),r=0,i=0,o="",a,c={};for(;i<t;){a=s.exec(e);let u=n[r];if(r++,i+Wt(u)>t&&(u=xI(u,t-i)),o+=u,i+=Wt(u),i<t){if(!a)break;o+=a[0],GD(c,a)}}return zD(c,o)}function FI(e,t,s){if(s=s||"\u2026",Wt(e)<=t)return e;t-=Wt(s);let r=AI(e,t);r+=s;let i="\x1B]8;;\x07";return e.includes(i)&&!r.includes(i)&&(r+=i),r}function EI(){return{chars:{top:"\u2500","top-mid":"\u252C","top-left":"\u250C","top-right":"\u2510",bottom:"\u2500","bottom-mid":"\u2534","bottom-left":"\u2514","bottom-right":"\u2518",left:"\u2502","left-mid":"\u251C",mid:"\u2500","mid-mid":"\u253C",right:"\u2502","right-mid":"\u2524",middle:"\u2502"},truncate:"\u2026",colWidths:[],rowHeights:[],colAligns:[],rowAligns:[],style:{"padding-left":1,"padding-right":1,head:["red"],border:["grey"],compact:!1},head:[]}}function RI(e,t){e=e||{},t=t||EI();let s=Object.assign({},t,e);return s.chars=Object.assign({},t.chars,e.chars),s.style=Object.assign({},t.style,e.style),s}function wI(e,t){let s=[],n=t.split(/(\s+)/g),r=[],i=0,o;for(let a=0;a<n.length;a+=2){let c=n[a],u=i+Wt(c);i>0&&o&&(u+=o.length),u>e?(i!==0&&s.push(r.join("")),r=[c],i=Wt(c)):(r.push(o||"",c),i=u),o=n[a+1]}return i&&s.push(r.join("")),s}function II(e,t){let s=[],n="";function r(o,a){for(n.length&&a&&(n+=a),n+=o;n.length>e;)s.push(n.slice(0,e)),n=n.slice(e)}let i=t.split(/(\s+)/g);for(let o=0;o<i.length;o+=2)r(i[o],o&&i[o-1]);return n.length&&s.push(n),s}function TI(e,t,s=!0){let n=[];t=t.split(`
|
|
76
|
+
`);let r=s?wI:II;for(let i=0;i<t.length;i++)n.push.apply(n,r(e,t[i]));return n}function kI(e){let t={},s=[];for(let n=0;n<e.length;n++){let r=CI(t,e[n]);t=SI(r);let i=Object.assign({},t);s.push(zD(i,r))}return s}function _I(e,t){let s="\x1B]",n="\x07",r=";";return[s,"8",r,r,e||t,n,t,s,"8",r,r,n].join("")}qD.exports={strlen:Wt,repeat:Pr,pad:vI,truncate:FI,mergeOptions:RI,wordWrap:TI,colorizeLines:kI,hyperlink:_I}});var ZD=E((a8,KD)=>{var VD={};KD.exports=VD;var HD={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(HD).forEach(function(e){var t=HD[e],s=VD[e]=[];s.open="\x1B["+t[0]+"m",s.close="\x1B["+t[1]+"m"})});var JD=E((c8,YD)=>{"use strict";YD.exports=function(e,t){t=t||process.argv;var s=t.indexOf("--"),n=/^-{1,2}/.test(e)?"":"--",r=t.indexOf(n+e);return r!==-1&&(s===-1?!0:r<s)}});var XD=E((u8,QD)=>{"use strict";var LI=require("os"),kt=JD(),Ke=process.env,Un=void 0;kt("no-color")||kt("no-colors")||kt("color=false")?Un=!1:(kt("color")||kt("colors")||kt("color=true")||kt("color=always"))&&(Un=!0);"FORCE_COLOR"in Ke&&(Un=Ke.FORCE_COLOR.length===0||parseInt(Ke.FORCE_COLOR,10)!==0);function PI(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function OI(e){if(Un===!1)return 0;if(kt("color=16m")||kt("color=full")||kt("color=truecolor"))return 3;if(kt("color=256"))return 2;if(e&&!e.isTTY&&Un!==!0)return 0;var t=Un?1:0;if(process.platform==="win32"){var s=LI.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in Ke)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(r){return r in Ke})||Ke.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in Ke)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ke.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in Ke){var n=parseInt((Ke.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ke.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ke.TERM)?2:/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(Ke.TERM)||"COLORTERM"in Ke?1:(Ke.TERM==="dumb",t)}function mu(e){var t=OI(e);return PI(t)}QD.exports={supportsColor:mu,stdout:mu(process.stdout),stderr:mu(process.stderr)}});var tb=E((l8,eb)=>{eb.exports=function(t,s){var n="";t=t||"Run the trap, drop the bass",t=t.split("");var r={a:["@","\u0104","\u023A","\u0245","\u0394","\u039B","\u0414"],b:["\xDF","\u0181","\u0243","\u026E","\u03B2","\u0E3F"],c:["\xA9","\u023B","\u03FE"],d:["\xD0","\u018A","\u0500","\u0501","\u0502","\u0503"],e:["\xCB","\u0115","\u018E","\u0258","\u03A3","\u03BE","\u04BC","\u0A6C"],f:["\u04FA"],g:["\u0262"],h:["\u0126","\u0195","\u04A2","\u04BA","\u04C7","\u050A"],i:["\u0F0F"],j:["\u0134"],k:["\u0138","\u04A0","\u04C3","\u051E"],l:["\u0139"],m:["\u028D","\u04CD","\u04CE","\u0520","\u0521","\u0D69"],n:["\xD1","\u014B","\u019D","\u0376","\u03A0","\u048A"],o:["\xD8","\xF5","\xF8","\u01FE","\u0298","\u047A","\u05DD","\u06DD","\u0E4F"],p:["\u01F7","\u048E"],q:["\u09CD"],r:["\xAE","\u01A6","\u0210","\u024C","\u0280","\u042F"],s:["\xA7","\u03DE","\u03DF","\u03E8"],t:["\u0141","\u0166","\u0373"],u:["\u01B1","\u054D"],v:["\u05D8"],w:["\u0428","\u0460","\u047C","\u0D70"],x:["\u04B2","\u04FE","\u04FC","\u04FD"],y:["\xA5","\u04B0","\u04CB"],z:["\u01B5","\u0240"]};return t.forEach(function(i){i=i.toLowerCase();var o=r[i]||[" "],a=Math.floor(Math.random()*o.length);typeof r[i]<"u"?n+=r[i][a]:n+=i}),n}});var nb=E((p8,sb)=>{sb.exports=function(t,s){t=t||" he is here ";var n={up:["\u030D","\u030E","\u0304","\u0305","\u033F","\u0311","\u0306","\u0310","\u0352","\u0357","\u0351","\u0307","\u0308","\u030A","\u0342","\u0313","\u0308","\u034A","\u034B","\u034C","\u0303","\u0302","\u030C","\u0350","\u0300","\u0301","\u030B","\u030F","\u0312","\u0313","\u0314","\u033D","\u0309","\u0363","\u0364","\u0365","\u0366","\u0367","\u0368","\u0369","\u036A","\u036B","\u036C","\u036D","\u036E","\u036F","\u033E","\u035B","\u0346","\u031A"],down:["\u0316","\u0317","\u0318","\u0319","\u031C","\u031D","\u031E","\u031F","\u0320","\u0324","\u0325","\u0326","\u0329","\u032A","\u032B","\u032C","\u032D","\u032E","\u032F","\u0330","\u0331","\u0332","\u0333","\u0339","\u033A","\u033B","\u033C","\u0345","\u0347","\u0348","\u0349","\u034D","\u034E","\u0353","\u0354","\u0355","\u0356","\u0359","\u035A","\u0323"],mid:["\u0315","\u031B","\u0300","\u0301","\u0358","\u0321","\u0322","\u0327","\u0328","\u0334","\u0335","\u0336","\u035C","\u035D","\u035E","\u035F","\u0360","\u0362","\u0338","\u0337","\u0361"," \u0489"]},r=[].concat(n.up,n.down,n.mid);function i(c){var u=Math.floor(Math.random()*c);return u}function o(c){var u=!1;return r.filter(function(l){u=l===c}),u}function a(c,u){var l="",p,d;u=u||{},u.up=typeof u.up<"u"?u.up:!0,u.mid=typeof u.mid<"u"?u.mid:!0,u.down=typeof u.down<"u"?u.down:!0,u.size=typeof u.size<"u"?u.size:"maxi",c=c.split("");for(d in c)if(!o(d)){switch(l=l+c[d],p={up:0,down:0,mid:0},u.size){case"mini":p.up=i(8),p.mid=i(2),p.down=i(8);break;case"maxi":p.up=i(16)+3,p.mid=i(4)+1,p.down=i(64)+3;break;default:p.up=i(8)+1,p.mid=i(6)/2,p.down=i(8)+1;break}var f=["up","mid","down"];for(var m in f)for(var g=f[m],h=0;h<=p[g];h++)u[g]&&(l=l+n[g][i(n[g].length)])}return l}return a(t,s)}});var ib=E((d8,rb)=>{rb.exports=function(e){return function(t,s,n){if(t===" ")return t;switch(s%3){case 0:return e.red(t);case 1:return e.white(t);case 2:return e.blue(t)}}}});var ab=E((m8,ob)=>{ob.exports=function(e){return function(t,s,n){return s%2===0?t:e.inverse(t)}}});var ub=E((f8,cb)=>{cb.exports=function(e){var t=["red","yellow","green","blue","magenta"];return function(s,n,r){return s===" "?s:e[t[n++%t.length]](s)}}});var pb=E((g8,lb)=>{lb.exports=function(e){var t=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(s,n,r){return s===" "?s:e[t[Math.round(Math.random()*(t.length-2))]](s)}}});var yb=E((y8,hb)=>{var le={};hb.exports=le;le.themes={};var BI=require("util"),Ys=le.styles=ZD(),mb=Object.defineProperties,MI=new RegExp(/[\r\n]+/g);le.supportsColor=XD().supportsColor;typeof le.enabled>"u"&&(le.enabled=le.supportsColor()!==!1);le.enable=function(){le.enabled=!0};le.disable=function(){le.enabled=!1};le.stripColors=le.strip=function(e){return(""+e).replace(/\x1B\[\d+m/g,"")};var h8=le.stylize=function(t,s){if(!le.enabled)return t+"";var n=Ys[s];return!n&&s in le?le[s](t):n.open+t+n.close},NI=/[|\\{}()[\]^$+*?.]/g,WI=function(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(NI,"\\$&")};function fb(e){var t=function s(){return $I.apply(s,arguments)};return t._styles=e,t.__proto__=jI,t}var gb=function(){var e={};return Ys.grey=Ys.gray,Object.keys(Ys).forEach(function(t){Ys[t].closeRe=new RegExp(WI(Ys[t].close),"g"),e[t]={get:function(){return fb(this._styles.concat(t))}}}),e}(),jI=mb(function(){},gb);function $I(){var e=Array.prototype.slice.call(arguments),t=e.map(function(o){return o!=null&&o.constructor===String?o:BI.inspect(o)}).join(" ");if(!le.enabled||!t)return t;for(var s=t.indexOf(`
|
|
77
|
+
`)!=-1,n=this._styles,r=n.length;r--;){var i=Ys[n[r]];t=i.open+t.replace(i.closeRe,i.open)+i.close,s&&(t=t.replace(MI,function(o){return i.close+o+i.open}))}return t}le.setTheme=function(e){if(typeof e=="string"){console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));");return}for(var t in e)(function(s){le[s]=function(n){if(typeof e[s]=="object"){var r=n;for(var i in e[s])r=le[e[s][i]](r);return r}return le[e[s]](n)}})(t)};function UI(){var e={};return Object.keys(gb).forEach(function(t){e[t]={get:function(){return fb([t])}}}),e}var GI=function(t,s){var n=s.split("");return n=n.map(t),n.join("")};le.trap=tb();le.zalgo=nb();le.maps={};le.maps.america=ib()(le);le.maps.zebra=ab()(le);le.maps.rainbow=ub()(le);le.maps.random=pb()(le);for(db in le.maps)(function(e){le[e]=function(t){return GI(le.maps[e],t)}})(db);var db;mb(le,UI())});var bb=E((D8,Db)=>{var zI=yb();Db.exports=zI});var xb=E((b8,ho)=>{var{info:qI,debug:Cb}=fo(),ut=du(),gu=class e{constructor(t){this.setOptions(t),this.x=null,this.y=null}setOptions(t){["boolean","number","bigint","string"].indexOf(typeof t)!==-1&&(t={content:""+t}),t=t||{},this.options=t;let s=t.content;if(["boolean","number","bigint","string"].indexOf(typeof s)!==-1)this.content=String(s);else if(!s)this.content=this.options.href||"";else throw new Error("Content needs to be a primitive, got: "+typeof s);this.colSpan=t.colSpan||1,this.rowSpan=t.rowSpan||1,this.options.href&&Object.defineProperty(this,"href",{get(){return this.options.href}})}mergeTableOptions(t,s){this.cells=s;let n=this.options.chars||{},r=t.chars,i=this.chars={};VI.forEach(function(c){fu(n,r,c,i)}),this.truncate=this.options.truncate||t.truncate;let o=this.options.style=this.options.style||{},a=t.style;fu(o,a,"padding-left",this),fu(o,a,"padding-right",this),this.head=o.head||a.head,this.border=o.border||a.border,this.fixedWidth=t.colWidths[this.x],this.lines=this.computeLines(t),this.desiredWidth=ut.strlen(this.content)+this.paddingLeft+this.paddingRight,this.desiredHeight=this.lines.length}computeLines(t){let s=t.wordWrap||t.textWrap,{wordWrap:n=s}=this.options;if(this.fixedWidth&&n){if(this.fixedWidth-=this.paddingLeft+this.paddingRight,this.colSpan){let o=1;for(;o<this.colSpan;)this.fixedWidth+=t.colWidths[this.x+o],o++}let{wrapOnWordBoundary:r=!0}=t,{wrapOnWordBoundary:i=r}=this.options;return this.wrapLines(ut.wordWrap(this.fixedWidth,this.content,i))}return this.wrapLines(this.content.split(`
|
|
78
|
+
`))}wrapLines(t){let s=ut.colorizeLines(t);return this.href?s.map(n=>ut.hyperlink(this.href,n)):s}init(t){let s=this.x,n=this.y;this.widths=t.colWidths.slice(s,s+this.colSpan),this.heights=t.rowHeights.slice(n,n+this.rowSpan),this.width=this.widths.reduce(Sb,-1),this.height=this.heights.reduce(Sb,-1),this.hAlign=this.options.hAlign||t.colAligns[s],this.vAlign=this.options.vAlign||t.rowAligns[n],this.drawRight=s+this.colSpan==t.colWidths.length}draw(t,s){if(t=="top")return this.drawTop(this.drawRight);if(t=="bottom")return this.drawBottom(this.drawRight);let n=ut.truncate(this.content,10,this.truncate);t||qI(`${this.y}-${this.x}: ${this.rowSpan-t}x${this.colSpan} Cell ${n}`);let r=Math.max(this.height-this.lines.length,0),i;switch(this.vAlign){case"center":i=Math.ceil(r/2);break;case"bottom":i=r;break;default:i=0}if(t<i||t>=i+this.lines.length)return this.drawEmpty(this.drawRight,s);let o=this.lines.length>this.height&&t+1>=this.height;return this.drawLine(t-i,this.drawRight,o,s)}drawTop(t){let s=[];return this.cells?this.widths.forEach(function(n,r){s.push(this._topLeftChar(r)),s.push(ut.repeat(this.chars[this.y==0?"top":"mid"],n))},this):(s.push(this._topLeftChar(0)),s.push(ut.repeat(this.chars[this.y==0?"top":"mid"],this.width))),t&&s.push(this.chars[this.y==0?"topRight":"rightMid"]),this.wrapWithStyleColors("border",s.join(""))}_topLeftChar(t){let s=this.x+t,n;if(this.y==0)n=s==0?"topLeft":t==0?"topMid":"top";else if(s==0)n="leftMid";else if(n=t==0?"midMid":"bottomMid",this.cells&&(this.cells[this.y-1][s]instanceof e.ColSpanCell&&(n=t==0?"topMid":"mid"),t==0)){let i=1;for(;this.cells[this.y][s-i]instanceof e.ColSpanCell;)i++;this.cells[this.y][s-i]instanceof e.RowSpanCell&&(n="leftMid")}return this.chars[n]}wrapWithStyleColors(t,s){if(this[t]&&this[t].length)try{let n=bb();for(let r=this[t].length-1;r>=0;r--)n=n[this[t][r]];return n(s)}catch{return s}else return s}drawLine(t,s,n,r){let i=this.chars[this.x==0?"left":"middle"];if(this.x&&r&&this.cells){let d=this.cells[this.y+r][this.x-1];for(;d instanceof Br;)d=this.cells[d.y][d.x-1];d instanceof Mr||(i=this.chars.rightMid)}let o=ut.repeat(" ",this.paddingLeft),a=s?this.chars.right:"",c=ut.repeat(" ",this.paddingRight),u=this.lines[t],l=this.width-(this.paddingLeft+this.paddingRight);n&&(u+=this.truncate||"\u2026");let p=ut.truncate(u,l,this.truncate);return p=ut.pad(p,l," ",this.hAlign),p=o+p+c,this.stylizeLine(i,p,a)}stylizeLine(t,s,n){return t=this.wrapWithStyleColors("border",t),n=this.wrapWithStyleColors("border",n),this.y===0&&(s=this.wrapWithStyleColors("head",s)),t+s+n}drawBottom(t){let s=this.chars[this.x==0?"bottomLeft":"bottomMid"],n=ut.repeat(this.chars.bottom,this.width),r=t?this.chars.bottomRight:"";return this.wrapWithStyleColors("border",s+n+r)}drawEmpty(t,s){let n=this.chars[this.x==0?"left":"middle"];if(this.x&&s&&this.cells){let o=this.cells[this.y+s][this.x-1];for(;o instanceof Br;)o=this.cells[o.y][o.x-1];o instanceof Mr||(n=this.chars.rightMid)}let r=t?this.chars.right:"",i=ut.repeat(" ",this.width);return this.stylizeLine(n,i,r)}},Br=class{constructor(){}draw(t){return typeof t=="number"&&Cb(`${this.y}-${this.x}: 1x1 ColSpanCell`),""}init(){}mergeTableOptions(){}},Mr=class{constructor(t){this.originalCell=t}init(t){let s=this.y,n=this.originalCell.y;this.cellOffset=s-n,this.offset=HI(t.rowHeights,n,this.cellOffset)}draw(t){return t=="top"?this.originalCell.draw(this.offset,this.cellOffset):t=="bottom"?this.originalCell.draw("bottom"):(Cb(`${this.y}-${this.x}: 1x${this.colSpan} RowSpanCell for ${this.originalCell.content}`),this.originalCell.draw(this.offset+1+t))}mergeTableOptions(){}};function vb(...e){return e.filter(t=>t!=null).shift()}function fu(e,t,s,n){let r=s.split("-");r.length>1?(r[1]=r[1].charAt(0).toUpperCase()+r[1].substr(1),r=r.join(""),n[r]=vb(e[r],e[s],t[r],t[s])):n[s]=vb(e[s],t[s])}function HI(e,t,s){let n=e[t];for(let r=1;r<s;r++)n+=1+e[t+r];return n}function Sb(e,t){return e+t+1}var VI=["top","top-mid","top-left","top-right","bottom","bottom-mid","bottom-left","bottom-right","left","left-mid","mid","mid-mid","right","right-mid","middle"];ho.exports=gu;ho.exports.ColSpanCell=Br;ho.exports.RowSpanCell=Mr});var Eb=E((v8,Fb)=>{var{warn:KI,debug:ZI}=fo(),hu=xb(),{ColSpanCell:YI,RowSpanCell:JI}=hu;(function(){function e(f,m){return f[m]>0?e(f,m+1):m}function t(f){let m={};f.forEach(function(g,h){let y=0;g.forEach(function(D){D.y=h,D.x=h?e(m,y):y;let S=D.rowSpan||1,v=D.colSpan||1;if(S>1)for(let R=0;R<v;R++)m[D.x+R]=S;y=D.x+v}),Object.keys(m).forEach(D=>{m[D]--,m[D]<1&&delete m[D]})})}function s(f){let m=0;return f.forEach(function(g){g.forEach(function(h){m=Math.max(m,h.x+(h.colSpan||1))})}),m}function n(f){return f.length}function r(f,m){let g=f.y,h=f.y-1+(f.rowSpan||1),y=m.y,D=m.y-1+(m.rowSpan||1),S=!(g>D||y>h),v=f.x,R=f.x-1+(f.colSpan||1),k=m.x,_=m.x-1+(m.colSpan||1),x=!(v>_||k>R);return S&&x}function i(f,m,g){let h=Math.min(f.length-1,g),y={x:m,y:g};for(let D=0;D<=h;D++){let S=f[D];for(let v=0;v<S.length;v++)if(r(y,S[v]))return!0}return!1}function o(f,m,g,h){for(let y=g;y<h;y++)if(i(f,y,m))return!1;return!0}function a(f){f.forEach(function(m,g){m.forEach(function(h){for(let y=1;y<h.rowSpan;y++){let D=new JI(h);D.x=h.x,D.y=h.y+y,D.colSpan=h.colSpan,u(D,f[g+y])}})})}function c(f){for(let m=f.length-1;m>=0;m--){let g=f[m];for(let h=0;h<g.length;h++){let y=g[h];for(let D=1;D<y.colSpan;D++){let S=new YI;S.x=y.x+D,S.y=y.y,g.splice(h+1,0,S)}}}}function u(f,m){let g=0;for(;g<m.length&&m[g].x<f.x;)g++;m.splice(g,0,f)}function l(f){let m=n(f),g=s(f);ZI(`Max rows: ${m}; Max cols: ${g}`);for(let h=0;h<m;h++)for(let y=0;y<g;y++)if(!i(f,y,h)){let D={x:y,y:h,colSpan:1,rowSpan:1};for(y++;y<g&&!i(f,y,h);)D.colSpan++,y++;let S=h+1;for(;S<m&&o(f,S,D.x,D.x+D.colSpan);)D.rowSpan++,S++;let v=new hu(D);v.x=D.x,v.y=D.y,KI(`Missing cell at ${v.y}-${v.x}.`),u(v,f[h])}}function p(f){return f.map(function(m){if(!Array.isArray(m)){let g=Object.keys(m)[0];m=m[g],Array.isArray(m)?(m=m.slice(),m.unshift(g)):m=[g,m]}return m.map(function(g){return new hu(g)})})}function d(f){let m=p(f);return t(m),l(m),a(m),c(m),m}Fb.exports={makeTableLayout:d,layoutTable:t,addRowSpanCells:a,maxWidth:s,fillInTable:l,computeWidths:Ab("colSpan","desiredWidth","x",1),computeHeights:Ab("rowSpan","desiredHeight","y",1)}})();function Ab(e,t,s,n){return function(r,i){let o=[],a=[],c={};i.forEach(function(u){u.forEach(function(l){(l[e]||1)>1?a.push(l):o[l[s]]=Math.max(o[l[s]]||0,l[t]||0,n)})}),r.forEach(function(u,l){typeof u=="number"&&(o[l]=u)});for(let u=a.length-1;u>=0;u--){let l=a[u],p=l[e],d=l[s],f=o[d],m=typeof r[d]=="number"?0:1;if(typeof f=="number")for(let g=1;g<p;g++)f+=1+o[d+g],typeof r[d+g]!="number"&&m++;else f=t==="desiredWidth"?l.desiredWidth-1:1,(!c[d]||c[d]<f)&&(c[d]=f);if(l[t]>f){let g=0;for(;m>0&&l[t]>f;){if(typeof r[d+g]!="number"){let h=Math.round((l[t]-f)/m);f+=h,o[d+g]+=h,m--}g++}}}Object.assign(r,o,c);for(let u=0;u<r.length;u++)r[u]=Math.max(n,r[u]||0)}}});var wb=E((S8,Rb)=>{var Qt=fo(),QI=du(),yu=Eb(),yo=class extends Array{constructor(t){super();let s=QI.mergeOptions(t);if(Object.defineProperty(this,"options",{value:s,enumerable:s.debug}),s.debug){switch(typeof s.debug){case"boolean":Qt.setDebugLevel(Qt.WARN);break;case"number":Qt.setDebugLevel(s.debug);break;case"string":Qt.setDebugLevel(parseInt(s.debug,10));break;default:Qt.setDebugLevel(Qt.WARN),Qt.warn(`Debug option is expected to be boolean, number, or string. Received a ${typeof s.debug}`)}Object.defineProperty(this,"messages",{get(){return Qt.debugMessages()}})}}toString(){let t=this,s=this.options.head&&this.options.head.length;s?(t=[this.options.head],this.length&&t.push.apply(t,this)):this.options.style.head=[];let n=yu.makeTableLayout(t);n.forEach(function(i){i.forEach(function(o){o.mergeTableOptions(this.options,n)},this)},this),yu.computeWidths(this.options.colWidths,n),yu.computeHeights(this.options.rowHeights,n),n.forEach(function(i){i.forEach(function(o){o.init(this.options)},this)},this);let r=[];for(let i=0;i<n.length;i++){let o=n[i],a=this.options.rowHeights[i];(i===0||!this.options.style.compact||i==1&&s)&&Du(o,"top",r);for(let c=0;c<a;c++)Du(o,c,r);i+1==n.length&&Du(o,"bottom",r)}return r.join(`
|
|
79
79
|
`)}get width(){return this.toString().split(`
|
|
80
|
-
`)[0].length}};ro.reset=()=>zt.reset();function iu(e,t,s){let n=[];e.forEach(function(i){n.push(i.draw(t))});let r=n.join("");r.length&&s.push(r)}qD.exports=ro});var VD=w((Nj,HD)=>{HD.exports=zD()});var ou=w((Wj,aT)=>{aT.exports={name:"cdk-insights",version:"0.15.13",description:"AWS CDK security and cost analysis tool with AI-powered insights",main:"dist/index.js",types:"dist/index.d.ts",bin:{"cdk-insights":"dist/entry.js"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.js"}},files:["dist/**/*","README.md","LICENSE"],scripts:{test:"vitest --run",lint:"biome lint src/",format:"biome format --write src/",check:"biome check src/",build:"ts-node scripts/build.ts",start:"node dist/index.js",dev:"ts-node src/index.ts",prepare:"husky install && npm run build","start:dev":"CDK_ENV=local ts-node src/index.ts","ai-run":"ts-node src/index.ts",unlink:"npm unlink -g cdk-insights",link:"npm link","prepare:test":"npm run unlink && npm run build && npm run link","deploy:dev":"STAGE=dev cdk deploy","destroy:dev":"STAGE=dev cdk destroy","release:patch":"bumper release patch","release:minor":"bumper release minor","release:major":"bumper release major","release:dry-run":"bumper release patch --dry-run","changelog:preview":"bumper preview","changelog:generate":"bumper generate","validate:commits":"bumper validate","release:check":"npm run validate:commits && npm run test && npm run build","release:full":"npm run release:check && npm run changelog:generate","setup:bumper":"bumper setup","publish:beta":"npm run build && npm publish --tag beta && npm dist-tag add cdk-insights@$npm_package_version latest","publish:alpha":"npm run build && npm publish --tag alpha","publish:canary":"npm run build && npm publish --tag canary","publish:latest":"npm run build && npm publish --tag latest","version:beta":"npm version prerelease --preid=beta","version:alpha":"npm version prerelease --preid=alpha","version:rc":"npm version prerelease --preid=rc","cdk-insights":"node scripts/cdk-insights-wrapper.js",scan:"node scripts/cdk-insights-wrapper.js scan","scan:all":"node scripts/cdk-insights-wrapper.js scan --all","scan:json":"node scripts/cdk-insights-wrapper.js scan --format json","scan:markdown":"node scripts/cdk-insights-wrapper.js scan --format markdown","scan:summary":"node scripts/cdk-insights-wrapper.js scan --format summary","scan:with-issues":"node scripts/cdk-insights-wrapper.js scan --withIssue","cache:clear":"node scripts/cdk-insights-wrapper.js cache clear","cache:status":"node scripts/cdk-insights-wrapper.js cache status","demo:progress":"ts-node src/examples/progress-demo.ts","demo:single-line":"ts-node src/examples/single-line-progress-demo.ts","test:line-clearing":"ts-node src/examples/line-clearing-test.ts"},publishConfig:{access:"public"},keywords:["aws","cdk","cloudformation","analysis","security","cost-optimization","static-analysis","devops","infrastructure","aws-cdk","cloud-security","compliance"],author:"Lee Priest <lee@cdkinsights.dev>",license:"MIT",homepage:"https://github.com/TheLeePriest/cdk-insights",bugs:"https://github.com/TheLeePriest/cdk-insights/issues",repository:{type:"git",url:"git+https://github.com/TheLeePriest/cdk-insights.git"},dependencies:{"@inquirer/prompts":"^7.4.1","@middy/core":"^6.1.6","@types/glob":"^8.1.0",axios:"^1.8.4",chalk:"^5.4.1","cli-progress":"^3.12.0","cli-table3":"^0.6.5",dotenv:"^16.5.0",envolution:"^1.4.1",glob:"^11.0.3",ora:"^8.2.0",strogger:"^2.0.3",yargs:"^17.7.2",zod:"^3.23.8"},devDependencies:{"@aws-sdk/client-dynamodb":"^3.788.0","@biomejs/biome":"^2.0.6","@commitlint/cli":"^19.8.1","@commitlint/config-conventional":"^19.8.1","@types/cli-progress":"^3.11.6","@types/jsonwebtoken":"^9.0.9","@types/node":"^22.14.1","@types/yargs":"^17.0.33","aws-cdk":"^2.1010.0","bumper-cli":"^1.6.0",esbuild:"^0.25.2",husky:"^8.0.3","ts-node":"^10.9.2",typescript:"^5.8.3",vitest:"^3.1.1"},peerDependencies:{"aws-cdk-lib":"^2.190.0","cdk-nag":"^2.35.73",constructs:"^10.4.2"},optionalDependencies:{"@aws-solutions-constructs/aws-apigateway-lambda":"^2.0.0","@aws-solutions-constructs/aws-lambda-stepfunctions":"^2.0.0","@aws-solutions-constructs/aws-s3-lambda":"^2.0.0"}}});var uI={};Ru(uI,{CDK_INSIGHTS_ANNOTATION_PREFIX:()=>vu,CDK_INSIGHTS_METADATA_VERSION:()=>bu,CdkInsightsAspect:()=>fo,ExtremelyHelpfulConsoleLogger:()=>_r,clearCaches:()=>bb,createCdkInsightsAspect:()=>Db,createCdkInsightsLogger:()=>hb,createExtremelyHelpfulConsoleLogger:()=>yb,getCacheStats:()=>vb,isCdkDebugEnabled:()=>Cu,runAnalysis:()=>cI});module.exports=kb(uI);var xb=H(require("node:fs"));function Bn(e,t){return function(){return e.apply(t,arguments)}}var{toString:_b}=Object.prototype,{getPrototypeOf:Do}=Object,{iterator:Br,toStringTag:ku}=Symbol,Nr=(e=>t=>{let s=_b.call(t);return e[s]||(e[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),ht=e=>(e=e.toLowerCase(),t=>Nr(t)===e),Mr=e=>t=>typeof t===e,{isArray:Hs}=Array,zs=Mr("undefined");function Nn(e){return e!==null&&!zs(e)&&e.constructor!==null&&!zs(e.constructor)&&qe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var _u=ht("ArrayBuffer");function Pb(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&_u(e.buffer),t}var Lb=Mr("string"),qe=Mr("function"),Pu=Mr("number"),Mn=e=>e!==null&&typeof e=="object",Ob=e=>e===!0||e===!1,Or=e=>{if(Nr(e)!=="object")return!1;let t=Do(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ku in e)&&!(Br in e)},Bb=e=>{if(!Mn(e)||Nn(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Nb=ht("Date"),Mb=ht("File"),Wb=ht("Blob"),jb=ht("FileList"),$b=e=>Mn(e)&&qe(e.pipe),Ub=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||qe(e.append)&&((t=Nr(e))==="formdata"||t==="object"&&qe(e.toString)&&e.toString()==="[object FormData]"))},Gb=ht("URLSearchParams"),[qb,zb,Hb,Vb]=["ReadableStream","Request","Response","Headers"].map(ht),Kb=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Wn(e,t,{allOwnKeys:s=!1}={}){if(e===null||typeof e>"u")return;let n,r;if(typeof e!="object"&&(e=[e]),Hs(e))for(n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else{if(Nn(e))return;let i=s?Object.getOwnPropertyNames(e):Object.keys(e),o=i.length,a;for(n=0;n<o;n++)a=i[n],t.call(null,e[a],a,e)}}function Lu(e,t){if(Nn(e))return null;t=t.toLowerCase();let s=Object.keys(e),n=s.length,r;for(;n-- >0;)if(r=s[n],t===r.toLowerCase())return r;return null}var as=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ou=e=>!zs(e)&&e!==as;function yo(){let{caseless:e,skipUndefined:t}=Ou(this)&&this||{},s={},n=(r,i)=>{let o=e&&Lu(s,i)||i;Or(s[o])&&Or(r)?s[o]=yo(s[o],r):Or(r)?s[o]=yo({},r):Hs(r)?s[o]=r.slice():(!t||!zs(r))&&(s[o]=r)};for(let r=0,i=arguments.length;r<i;r++)arguments[r]&&Wn(arguments[r],n);return s}var Zb=(e,t,s,{allOwnKeys:n}={})=>(Wn(t,(r,i)=>{s&&qe(r)?e[i]=Bn(r,s):e[i]=r},{allOwnKeys:n}),e),Jb=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Yb=(e,t,s,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),s&&Object.assign(e.prototype,s)},Qb=(e,t,s,n)=>{let r,i,o,a={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)o=r[i],(!n||n(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=s!==!1&&Do(e)}while(e&&(!s||s(e,t))&&e!==Object.prototype);return t},Xb=(e,t,s)=>{e=String(e),(s===void 0||s>e.length)&&(s=e.length),s-=t.length;let n=e.indexOf(t,s);return n!==-1&&n===s},ev=e=>{if(!e)return null;if(Hs(e))return e;let t=e.length;if(!Pu(t))return null;let s=new Array(t);for(;t-- >0;)s[t]=e[t];return s},tv=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Do(Uint8Array)),sv=(e,t)=>{let n=(e&&e[Br]).call(e),r;for(;(r=n.next())&&!r.done;){let i=r.value;t.call(e,i[0],i[1])}},nv=(e,t)=>{let s,n=[];for(;(s=e.exec(t))!==null;)n.push(s);return n},rv=ht("HTMLFormElement"),iv=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(s,n,r){return n.toUpperCase()+r}),Iu=(({hasOwnProperty:e})=>(t,s)=>e.call(t,s))(Object.prototype),ov=ht("RegExp"),Bu=(e,t)=>{let s=Object.getOwnPropertyDescriptors(e),n={};Wn(s,(r,i)=>{let o;(o=t(r,i,e))!==!1&&(n[i]=o||r)}),Object.defineProperties(e,n)},av=e=>{Bu(e,(t,s)=>{if(qe(e)&&["arguments","caller","callee"].indexOf(s)!==-1)return!1;let n=e[s];if(qe(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},cv=(e,t)=>{let s={},n=r=>{r.forEach(i=>{s[i]=!0})};return Hs(e)?n(e):n(String(e).split(t)),s},uv=()=>{},lv=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function pv(e){return!!(e&&qe(e.append)&&e[ku]==="FormData"&&e[Br])}var dv=e=>{let t=new Array(10),s=(n,r)=>{if(Mn(n)){if(t.indexOf(n)>=0)return;if(Nn(n))return n;if(!("toJSON"in n)){t[r]=n;let i=Hs(n)?[]:{};return Wn(n,(o,a)=>{let c=s(o,r+1);!zs(c)&&(i[a]=c)}),t[r]=void 0,i}}return n};return s(e,0)},mv=ht("AsyncFunction"),fv=e=>e&&(Mn(e)||qe(e))&&qe(e.then)&&qe(e.catch),Nu=((e,t)=>e?setImmediate:t?((s,n)=>(as.addEventListener("message",({source:r,data:i})=>{r===as&&i===s&&n.length&&n.shift()()},!1),r=>{n.push(r),as.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",qe(as.postMessage)),gv=typeof queueMicrotask<"u"?queueMicrotask.bind(as):typeof process<"u"&&process.nextTick||Nu,hv=e=>e!=null&&qe(e[Br]),D={isArray:Hs,isArrayBuffer:_u,isBuffer:Nn,isFormData:Ub,isArrayBufferView:Pb,isString:Lb,isNumber:Pu,isBoolean:Ob,isObject:Mn,isPlainObject:Or,isEmptyObject:Bb,isReadableStream:qb,isRequest:zb,isResponse:Hb,isHeaders:Vb,isUndefined:zs,isDate:Nb,isFile:Mb,isBlob:Wb,isRegExp:ov,isFunction:qe,isStream:$b,isURLSearchParams:Gb,isTypedArray:tv,isFileList:jb,forEach:Wn,merge:yo,extend:Zb,trim:Kb,stripBOM:Jb,inherits:Yb,toFlatObject:Qb,kindOf:Nr,kindOfTest:ht,endsWith:Xb,toArray:ev,forEachEntry:sv,matchAll:nv,isHTMLForm:rv,hasOwnProperty:Iu,hasOwnProp:Iu,reduceDescriptors:Bu,freezeMethods:av,toObjectSet:cv,toCamelCase:iv,noop:uv,toFiniteNumber:lv,findKey:Lu,global:as,isContextDefined:Ou,isSpecCompliantForm:pv,toJSONObject:dv,isAsyncFn:mv,isThenable:fv,setImmediate:Nu,asap:gv,isIterable:hv};function Vs(e,t,s,n,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),s&&(this.config=s),n&&(this.request=n),r&&(this.response=r,this.status=r.status?r.status:null)}D.inherits(Vs,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:D.toJSONObject(this.config),code:this.code,status:this.status}}});var Mu=Vs.prototype,Wu={};["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(e=>{Wu[e]={value:e}});Object.defineProperties(Vs,Wu);Object.defineProperty(Mu,"isAxiosError",{value:!0});Vs.from=(e,t,s,n,r,i)=>{let o=Object.create(Mu);D.toFlatObject(e,o,function(l){return l!==Error.prototype},u=>u!=="isAxiosError");let a=e&&e.message?e.message:"Error",c=t==null&&e?e.code:t;return Vs.call(o,a,c,s,n,r),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};var N=Vs;var Gp=H(Up(),1),Zr=Gp.default;function Mo(e){return D.isPlainObject(e)||D.isArray(e)}function zp(e){return D.endsWith(e,"[]")?e.slice(0,-2):e}function qp(e,t,s){return e?e.concat(t).map(function(r,i){return r=zp(r),!s&&i?"["+r+"]":r}).join(s?".":""):t}function tS(e){return D.isArray(e)&&!e.some(Mo)}var sS=D.toFlatObject(D,{},null,function(t){return/^is[A-Z]/.test(t)});function nS(e,t,s){if(!D.isObject(e))throw new TypeError("target must be an object");t=t||new(Zr||FormData),s=D.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,h){return!D.isUndefined(h[g])});let n=s.metaTokens,r=s.visitor||l,i=s.dots,o=s.indexes,c=(s.Blob||typeof Blob<"u"&&Blob)&&D.isSpecCompliantForm(t);if(!D.isFunction(r))throw new TypeError("visitor must be a function");function u(f){if(f===null)return"";if(D.isDate(f))return f.toISOString();if(D.isBoolean(f))return f.toString();if(!c&&D.isBlob(f))throw new N("Blob is not supported. Use a Buffer instead.");return D.isArrayBuffer(f)||D.isTypedArray(f)?c&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,g,h){let b=f;if(f&&!h&&typeof f=="object"){if(D.endsWith(g,"{}"))g=n?g:g.slice(0,-2),f=JSON.stringify(f);else if(D.isArray(f)&&tS(f)||(D.isFileList(f)||D.endsWith(g,"[]"))&&(b=D.toArray(f)))return g=zp(g),b.forEach(function(F,v){!(D.isUndefined(F)||F===null)&&t.append(o===!0?qp([g],v,i):o===null?g:g+"[]",u(F))}),!1}return Mo(f)?!0:(t.append(qp(h,g,i),u(f)),!1)}let p=[],m=Object.assign(sS,{defaultVisitor:l,convertValue:u,isVisitable:Mo});function d(f,g){if(!D.isUndefined(f)){if(p.indexOf(f)!==-1)throw Error("Circular reference detected in "+g.join("."));p.push(f),D.forEach(f,function(b,y){(!(D.isUndefined(b)||b===null)&&r.call(t,b,D.isString(y)?y.trim():y,g,m))===!0&&d(b,g?g.concat(y):[y])}),p.pop()}}if(!D.isObject(e))throw new TypeError("data must be an object");return d(e),t}var Kt=nS;function Hp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Vp(e,t){this._pairs=[],e&&Kt(e,this,t)}var Kp=Vp.prototype;Kp.append=function(t,s){this._pairs.push([t,s])};Kp.toString=function(t){let s=t?function(n){return t.call(this,n,Hp)}:Hp;return this._pairs.map(function(r){return s(r[0])+"="+s(r[1])},"").join("&")};var Zp=Vp;function rS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function us(e,t,s){if(!t)return e;let n=s&&s.encode||rS;D.isFunction(s)&&(s={serialize:s});let r=s&&s.serialize,i;if(r?i=r(t,s):i=D.isURLSearchParams(t)?t.toString():new Zp(t,s).toString(n),i){let o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}var Wo=class{constructor(){this.handlers=[]}use(t,s,n){return this.handlers.push({fulfilled:t,rejected:s,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){D.forEach(this.handlers,function(n){n!==null&&t(n)})}},jo=Wo;var Qs={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Xp=H(require("crypto"),1);var Jp=H(require("url"),1),Yp=Jp.default.URLSearchParams;var $o="abcdefghijklmnopqrstuvwxyz",Qp="0123456789",ed={DIGIT:Qp,ALPHA:$o,ALPHA_DIGIT:$o+$o.toUpperCase()+Qp},iS=(e=16,t=ed.ALPHA_DIGIT)=>{let s="",{length:n}=t,r=new Uint32Array(e);Xp.default.randomFillSync(r);for(let i=0;i<e;i++)s+=t[r[i]%n];return s},td={isNode:!0,classes:{URLSearchParams:Yp,FormData:Zr,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:ed,generateString:iS,protocols:["http","https","file","data"]};var qo={};Ru(qo,{hasBrowserEnv:()=>Go,hasStandardBrowserEnv:()=>oS,hasStandardBrowserWebWorkerEnv:()=>aS,navigator:()=>Uo,origin:()=>cS});var Go=typeof window<"u"&&typeof document<"u",Uo=typeof navigator=="object"&&navigator||void 0,oS=Go&&(!Uo||["ReactNative","NativeScript","NS"].indexOf(Uo.product)<0),aS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",cS=Go&&window.location.href||"http://localhost";var ce={...qo,...td};function zo(e,t){return Kt(e,new ce.classes.URLSearchParams,{visitor:function(s,n,r,i){return ce.isNode&&D.isBuffer(s)?(this.append(n,s.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function uS(e){return D.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function lS(e){let t={},s=Object.keys(e),n,r=s.length,i;for(n=0;n<r;n++)i=s[n],t[i]=e[i];return t}function pS(e){function t(s,n,r,i){let o=s[i++];if(o==="__proto__")return!0;let a=Number.isFinite(+o),c=i>=s.length;return o=!o&&D.isArray(r)?r.length:o,c?(D.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):((!r[o]||!D.isObject(r[o]))&&(r[o]=[]),t(s,n,r[o],i)&&D.isArray(r[o])&&(r[o]=lS(r[o])),!a)}if(D.isFormData(e)&&D.isFunction(e.entries)){let s={};return D.forEachEntry(e,(n,r)=>{t(uS(n),r,s,0)}),s}return null}var Jr=pS;function dS(e,t,s){if(D.isString(e))try{return(t||JSON.parse)(e),D.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(s||JSON.stringify)(e)}var Ho={transitional:Qs,adapter:["xhr","http","fetch"],transformRequest:[function(t,s){let n=s.getContentType()||"",r=n.indexOf("application/json")>-1,i=D.isObject(t);if(i&&D.isHTMLForm(t)&&(t=new FormData(t)),D.isFormData(t))return r?JSON.stringify(Jr(t)):t;if(D.isArrayBuffer(t)||D.isBuffer(t)||D.isStream(t)||D.isFile(t)||D.isBlob(t)||D.isReadableStream(t))return t;if(D.isArrayBufferView(t))return t.buffer;if(D.isURLSearchParams(t))return s.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return zo(t,this.formSerializer).toString();if((a=D.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return Kt(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return i||r?(s.setContentType("application/json",!1),dS(t)):t}],transformResponse:[function(t){let s=this.transitional||Ho.transitional,n=s&&s.forcedJSONParsing,r=this.responseType==="json";if(D.isResponse(t)||D.isReadableStream(t))return t;if(t&&D.isString(t)&&(n&&!this.responseType||r)){let o=!(s&&s.silentJSONParsing)&&r;try{return JSON.parse(t,this.parseReviver)}catch(a){if(o)throw a.name==="SyntaxError"?N.from(a,N.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ce.classes.FormData,Blob:ce.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};D.forEach(["delete","get","head","post","put","patch"],e=>{Ho.headers[e]={}});var Xs=Ho;var mS=D.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"]),sd=e=>{let t={},s,n,r;return e&&e.split(`
|
|
81
|
-
`).forEach(function(o){r=o.indexOf(":"),s=o.substring(0,r).trim().toLowerCase(),n=o.substring(r+1).trim(),!(!s||t[s]&&
|
|
82
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...s){let n=new this(t);return s.forEach(r=>n.set(r)),n}static accessor(t){let n=(this[
|
|
83
|
-
`,ix=Qn.encode(gs),ox=2,ha=class{constructor(t,s){let{escapeName:n}=this.constructor,r=D.isString(s),i=`Content-Disposition: form-data; name="${n(t)}"${!r&&s.name?`; filename="${n(s.name)}"`:""}${gs}`;r?s=Qn.encode(String(s).replace(/\r?\n|\r\n?/g,gs)):i+=`Content-Type: ${s.type||"application/octet-stream"}${gs}`,this.headers=Qn.encode(i+gs),this.contentLength=r?s.byteLength:s.size,this.size=this.headers.byteLength+this.contentLength+ox,this.name=t,this.value=s}async*encode(){yield this.headers;let{value:t}=this;D.isTypedArray(t)?yield t:yield*si(t),yield ix}static escapeName(t){return String(t).replace(/[\r\n"]/g,s=>({"\r":"%0D","\n":"%0A",'"':"%22"})[s])}},ax=(e,t,s)=>{let{tag:n="form-data-boundary",size:r=25,boundary:i=n+"-"+ce.generateString(r,rx)}=s||{};if(!D.isFormData(e))throw TypeError("FormData instance required");if(i.length<1||i.length>70)throw Error("boundary must be 10-70 characters long");let o=Qn.encode("--"+i+gs),a=Qn.encode("--"+i+"--"+gs),c=a.byteLength,u=Array.from(e.entries()).map(([p,m])=>{let d=new ha(p,m);return c+=d.size,d});c+=o.byteLength*u.length,c=D.toFiniteNumber(c);let l={"Content-Type":`multipart/form-data; boundary=${i}`};return Number.isFinite(c)&&(l["Content-Length"]=c),t&&t(l),Td.Readable.from(async function*(){for(let p of u)yield o,yield*p.encode();yield a}())},Id=ax;var kd=H(require("stream"),1),ya=class extends kd.default.Transform{__transform(t,s,n){this.push(t),n()}_transform(t,s,n){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let r=Buffer.alloc(2);r[0]=120,r[1]=156,this.push(r,s)}this.__transform(t,s,n)}},_d=ya;var cx=(e,t)=>D.isAsyncFn(e)?function(...s){let n=s.pop();e.apply(this,s).then(r=>{try{t?n(null,...t(r)):n(null,r)}catch(i){n(i)}},n)}:e,Pd=cx;function ux(e,t){e=e||10;let s=new Array(e),n=new Array(e),r=0,i=0,o;return t=t!==void 0?t:1e3,function(c){let u=Date.now(),l=n[i];o||(o=u),s[r]=c,n[r]=u;let p=i,m=0;for(;p!==r;)m+=s[p++],p=p%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),u-o<t)return;let d=l&&u-l;return d?Math.round(m*1e3/d):void 0}}var Ld=ux;function lx(e,t){let s=0,n=1e3/t,r,i,o=(u,l=Date.now())=>{s=l,r=null,i&&(clearTimeout(i),i=null),e(...u)};return[(...u)=>{let l=Date.now(),p=l-s;p>=n?o(u,l):(r=u,i||(i=setTimeout(()=>{i=null,o(r)},n-p)))},()=>r&&o(r)]}var Od=lx;var Lt=(e,t,s=3)=>{let n=0,r=Ld(50,250);return Od(i=>{let o=i.loaded,a=i.lengthComputable?i.total:void 0,c=o-n,u=r(c),l=o<=a;n=o;let p={loaded:o,total:a,progress:a?o/a:void 0,bytes:c,rate:u||void 0,estimated:u&&a&&l?(a-o)/u:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(p)},s)},on=(e,t)=>{let s=e!=null;return[n=>t[0]({lengthComputable:s,total:e,loaded:n}),t[1]]},an=e=>(...t)=>D.asap(()=>e(...t));function Da(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;let t=e.indexOf(",");if(t<0)return 0;let s=e.slice(5,t),n=e.slice(t+1);if(/;base64/i.test(s)){let i=n.length,o=n.length;for(let m=0;m<o;m++)if(n.charCodeAt(m)===37&&m+2<o){let d=n.charCodeAt(m+1),f=n.charCodeAt(m+2);(d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102)&&(f>=48&&f<=57||f>=65&&f<=70||f>=97&&f<=102)&&(i-=2,m+=2)}let a=0,c=o-1,u=m=>m>=2&&n.charCodeAt(m-2)===37&&n.charCodeAt(m-1)===51&&(n.charCodeAt(m)===68||n.charCodeAt(m)===100);c>=0&&(n.charCodeAt(c)===61?(a++,c--):u(c)&&(a++,c-=3)),a===1&&c>=0&&(n.charCodeAt(c)===61||u(c))&&a++;let p=Math.floor(i/4)*3-(a||0);return p>0?p:0}return Buffer.byteLength(n,"utf8")}var Bd={flush:Bt.default.constants.Z_SYNC_FLUSH,finishFlush:Bt.default.constants.Z_SYNC_FLUSH},px={flush:Bt.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Bt.default.constants.BROTLI_OPERATION_FLUSH},Nd=D.isFunction(Bt.default.createBrotliDecompress),{http:dx,https:mx}=qd.default,fx=/https:?/,Md=ce.protocols.map(e=>e+":"),Wd=(e,[t,s])=>(e.on("end",s).on("error",s),t),ba=class{constructor(){this.sessions=Object.create(null)}getSession(t,s){s=Object.assign({sessionTimeout:1e3},s);let n=this.sessions[t];if(n){let l=n.length;for(let p=0;p<l;p++){let[m,d]=n[p];if(!m.destroyed&&!m.closed&&Ca.default.isDeepStrictEqual(d,s))return m}}let r=va.default.connect(t,s),i,o=()=>{if(i)return;i=!0;let l=n,p=l.length,m=p;for(;m--;)if(l[m][0]===r){p===1?delete this.sessions[t]:l.splice(m,1);return}},a=r.request,{sessionTimeout:c}=s;if(c!=null){let l,p=0;r.request=function(){let m=a.apply(this,arguments);return p++,l&&(clearTimeout(l),l=null),m.once("close",()=>{--p||(l=setTimeout(()=>{l=null,o()},c))}),m}}r.once("close",o);let u=[r,s];return n?n.push(u):n=this.sessions[t]=[u],r}},gx=new ba;function hx(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function Hd(e,t,s){let n=t;if(!n&&n!==!1){let r=$d.default.getProxyForUrl(s);r&&(n=new URL(r))}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 i=Buffer.from(n.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+i}e.headers.host=e.hostname+(e.port?":"+e.port:"");let r=n.hostname||n.host;e.hostname=r,e.host=r,e.port=n.port,e.path=s,n.protocol&&(e.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}e.beforeRedirects.proxy=function(i){Hd(i,t,i.href)}}var yx=typeof process<"u"&&D.kindOf(process)==="process",Dx=e=>new Promise((t,s)=>{let n,r,i=(c,u)=>{r||(r=!0,n&&n(c,u))},o=c=>{i(c),t(c)},a=c=>{i(c,!0),s(c)};e(o,a,c=>n=c).catch(a)}),bx=({address:e,family:t})=>{if(!D.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},jd=(e,t)=>bx(D.isObject(e)?e:{address:e,family:t}),vx={request(e,t){let s=e.protocol+"//"+e.hostname+":"+(e.port||80),{http2Options:n,headers:r}=e,i=gx.getSession(s,n),{HTTP2_HEADER_SCHEME:o,HTTP2_HEADER_METHOD:a,HTTP2_HEADER_PATH:c,HTTP2_HEADER_STATUS:u}=va.default.constants,l={[o]:e.protocol.replace(":",""),[a]:e.method,[c]:e.path};D.forEach(r,(m,d)=>{d.charAt(0)!==":"&&(l[d]=m)});let p=i.request(l);return p.once("response",m=>{let d=p;m=Object.assign({},m);let f=m[u];delete m[u],d.headers=m,d.statusCode=+f,t(d)}),p}},Vd=yx&&function(t){return Dx(async function(n,r,i){let{data:o,lookup:a,family:c,httpVersion:u=1,http2Options:l}=t,{responseType:p,responseEncoding:m}=t,d=t.method.toUpperCase(),f,g=!1,h;if(u=+u,Number.isNaN(u))throw TypeError(`Invalid protocol version: '${t.httpVersion}' is not a number`);if(u!==1&&u!==2)throw TypeError(`Unsupported protocol version '${u}'`);let b=u===2;if(a){let j=Pd(a,P=>D.isArray(P)?P:[P]);a=(P,V,le)=>{j(P,V,(pe,Le,Ge)=>{if(pe)return le(pe);let we=D.isArray(Le)?Le.map(Gs=>jd(Gs)):[jd(Le,Ge)];V.all?le(pe,we):le(pe,we[0].address,we[0].family)})}}let y=new zd.EventEmitter;function F(j){try{y.emit("abort",!j||j.type?new Ye(null,t,h):j)}catch(P){console.warn("emit error",P)}}y.once("abort",r);let v=()=>{t.cancelToken&&t.cancelToken.unsubscribe(F),t.signal&&t.signal.removeEventListener("abort",F),y.removeAllListeners()};(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(F),t.signal&&(t.signal.aborted?F():t.signal.addEventListener("abort",F))),i((j,P)=>{if(f=!0,P){g=!0,v();return}let{data:V}=j;if(V instanceof Ot.default.Readable||V instanceof Ot.default.Duplex){let le=Ot.default.finished(V,()=>{le(),v()})}else v()});let A=ls(t.baseURL,t.url,t.allowAbsoluteUrls),T=new URL(A,ce.hasBrowserEnv?ce.origin:void 0),_=T.protocol||Md[0];if(_==="data:"){if(t.maxContentLength>-1){let P=String(t.url||A||"");if(Da(P)>t.maxContentLength)return r(new N("maxContentLength size of "+t.maxContentLength+" exceeded",N.ERR_BAD_RESPONSE,t))}let j;if(d!=="GET")return wt(n,r,{status:405,statusText:"method not allowed",headers:{},config:t});try{j=da(t.url,p==="blob",{Blob:t.env&&t.env.Blob})}catch(P){throw N.from(P,N.ERR_BAD_REQUEST,t)}return p==="text"?(j=j.toString(m),(!m||m==="utf8")&&(j=D.stripBOM(j))):p==="stream"&&(j=Ot.default.Readable.from(j)),wt(n,r,{data:j,status:200,statusText:"OK",headers:new be,config:t})}if(Md.indexOf(_)===-1)return r(new N("Unsupported protocol "+_,N.ERR_BAD_REQUEST,t));let E=be.from(t.headers).normalize();E.set("User-Agent","axios/"+fs,!1);let{onUploadProgress:z,onDownloadProgress:J}=t,Y=t.maxRate,Q,q;if(D.isSpecCompliantForm(o)){let j=E.getContentType(/boundary=([-_\w\d]{10,70})/i);o=Id(o,P=>{E.set(P)},{tag:`axios-${fs}-boundary`,boundary:j&&j[1]||void 0})}else if(D.isFormData(o)&&D.isFunction(o.getHeaders)){if(E.set(o.getHeaders()),!E.hasContentLength())try{let j=await Ca.default.promisify(o.getLength).call(o);Number.isFinite(j)&&j>=0&&E.setContentLength(j)}catch{}}else if(D.isBlob(o)||D.isFile(o))o.size&&E.setContentType(o.type||"application/octet-stream"),E.setContentLength(o.size||0),o=Ot.default.Readable.from(si(o));else if(o&&!D.isStream(o)){if(!Buffer.isBuffer(o))if(D.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else if(D.isString(o))o=Buffer.from(o,"utf-8");else return r(new N("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",N.ERR_BAD_REQUEST,t));if(E.setContentLength(o.length,!1),t.maxBodyLength>-1&&o.length>t.maxBodyLength)return r(new N("Request body larger than maxBodyLength limit",N.ERR_BAD_REQUEST,t))}let B=D.toFiniteNumber(E.getContentLength());D.isArray(Y)?(Q=Y[0],q=Y[1]):Q=q=Y,o&&(z||Q)&&(D.isStream(o)||(o=Ot.default.Readable.from(o,{objectMode:!1})),o=Ot.default.pipeline([o,new ga({maxRate:D.toFiniteNumber(Q)})],D.noop),z&&o.on("progress",Wd(o,on(B,Lt(an(z),!1,3)))));let I;if(t.auth){let j=t.auth.username||"",P=t.auth.password||"";I=j+":"+P}if(!I&&T.username){let j=T.username,P=T.password;I=j+":"+P}I&&E.delete("authorization");let k;try{k=us(T.pathname+T.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(j){let P=new Error(j.message);return P.config=t,P.url=t.url,P.exists=!0,r(P)}E.set("Accept-Encoding","gzip, compress, deflate"+(Nd?", br":""),!1);let W={path:k,method:d,headers:E.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:I,protocol:_,family:c,beforeRedirect:hx,beforeRedirects:{},http2Options:l};!D.isUndefined(a)&&(W.lookup=a),t.socketPath?W.socketPath=t.socketPath:(W.hostname=T.hostname.startsWith("[")?T.hostname.slice(1,-1):T.hostname,W.port=T.port,Hd(W,t.proxy,_+"//"+T.hostname+(T.port?":"+T.port:"")+W.path));let G,ne=fx.test(W.protocol);if(W.agent=ne?t.httpsAgent:t.httpAgent,b?G=vx:t.transport?G=t.transport:t.maxRedirects===0?G=ne?Gd.default:Ud.default:(t.maxRedirects&&(W.maxRedirects=t.maxRedirects),t.beforeRedirect&&(W.beforeRedirects.config=t.beforeRedirect),G=ne?mx:dx),t.maxBodyLength>-1?W.maxBodyLength=t.maxBodyLength:W.maxBodyLength=1/0,t.insecureHTTPParser&&(W.insecureHTTPParser=t.insecureHTTPParser),h=G.request(W,function(P){if(h.destroyed)return;let V=[P],le=D.toFiniteNumber(P.headers["content-length"]);if(J||q){let we=new ga({maxRate:D.toFiniteNumber(q)});J&&we.on("progress",Wd(we,on(le,Lt(an(J),!0,3)))),V.push(we)}let pe=P,Le=P.req||h;if(t.decompress!==!1&&P.headers["content-encoding"])switch((d==="HEAD"||P.statusCode===204)&&delete P.headers["content-encoding"],(P.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":V.push(Bt.default.createUnzip(Bd)),delete P.headers["content-encoding"];break;case"deflate":V.push(new _d),V.push(Bt.default.createUnzip(Bd)),delete P.headers["content-encoding"];break;case"br":Nd&&(V.push(Bt.default.createBrotliDecompress(px)),delete P.headers["content-encoding"])}pe=V.length>1?Ot.default.pipeline(V,D.noop):V[0];let Ge={status:P.statusCode,statusText:P.statusMessage,headers:new be(P.headers),config:t,request:Le};if(p==="stream")Ge.data=pe,wt(n,r,Ge);else{let we=[],Gs=0;pe.on("data",function(Oe){we.push(Oe),Gs+=Oe.length,t.maxContentLength>-1&&Gs>t.maxContentLength&&(g=!0,pe.destroy(),F(new N("maxContentLength size of "+t.maxContentLength+" exceeded",N.ERR_BAD_RESPONSE,t,Le)))}),pe.on("aborted",function(){if(g)return;let Oe=new N("stream has been aborted",N.ERR_BAD_RESPONSE,t,Le);pe.destroy(Oe),r(Oe)}),pe.on("error",function(Oe){h.destroyed||r(N.from(Oe,null,t,Le))}),pe.on("end",function(){try{let Oe=we.length===1?we[0]:Buffer.concat(we);p!=="arraybuffer"&&(Oe=Oe.toString(m),(!m||m==="utf8")&&(Oe=D.stripBOM(Oe))),Ge.data=Oe}catch(Oe){return r(N.from(Oe,null,t,Ge.request,Ge))}wt(n,r,Ge)})}y.once("abort",we=>{pe.destroyed||(pe.emit("error",we),pe.destroy())})}),y.once("abort",j=>{h.close?h.close():h.destroy(j)}),h.on("error",function(P){r(N.from(P,null,t,h))}),h.on("socket",function(P){P.setKeepAlive(!0,1e3*60)}),t.timeout){let j=parseInt(t.timeout,10);if(Number.isNaN(j)){F(new N("error trying to parse `config.timeout` to int",N.ERR_BAD_OPTION_VALUE,t,h));return}h.setTimeout(j,function(){if(f)return;let V=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",le=t.transitional||Qs;t.timeoutErrorMessage&&(V=t.timeoutErrorMessage),F(new N(V,le.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,t,h))})}else h.setTimeout(0);if(D.isStream(o)){let j=!1,P=!1;o.on("end",()=>{j=!0}),o.once("error",V=>{P=!0,h.destroy(V)}),o.on("close",()=>{!j&&!P&&F(new Ye("Request stream has been aborted",t,h))}),o.pipe(h)}else o&&h.write(o),h.end()})};var Kd=ce.hasStandardBrowserEnv?((e,t)=>s=>(s=new URL(s,ce.origin),e.protocol===s.protocol&&e.host===s.host&&(t||e.port===s.port)))(new URL(ce.origin),ce.navigator&&/(msie|trident)/i.test(ce.navigator.userAgent)):()=>!0;var Zd=ce.hasStandardBrowserEnv?{write(e,t,s,n,r,i,o){if(typeof document>"u")return;let a=[`${e}=${encodeURIComponent(t)}`];D.isNumber(s)&&a.push(`expires=${new Date(s).toUTCString()}`),D.isString(n)&&a.push(`path=${n}`),D.isString(r)&&a.push(`domain=${r}`),i===!0&&a.push("secure"),D.isString(o)&&a.push(`SameSite=${o}`),document.cookie=a.join("; ")},read(e){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};var Jd=e=>e instanceof be?{...e}:e;function Dt(e,t){t=t||{};let s={};function n(u,l,p,m){return D.isPlainObject(u)&&D.isPlainObject(l)?D.merge.call({caseless:m},u,l):D.isPlainObject(l)?D.merge({},l):D.isArray(l)?l.slice():l}function r(u,l,p,m){if(D.isUndefined(l)){if(!D.isUndefined(u))return n(void 0,u,p,m)}else return n(u,l,p,m)}function i(u,l){if(!D.isUndefined(l))return n(void 0,l)}function o(u,l){if(D.isUndefined(l)){if(!D.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function a(u,l,p){if(p in t)return n(u,l);if(p in e)return n(void 0,u)}let c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,l,p)=>r(Jd(u),Jd(l),p,!0)};return D.forEach(Object.keys({...e,...t}),function(l){let p=c[l]||r,m=p(e[l],t[l],l);D.isUndefined(m)&&p!==a||(s[l]=m)}),s}var ni=e=>{let t=Dt({},e),{data:s,withXSRFToken:n,xsrfHeaderName:r,xsrfCookieName:i,headers:o,auth:a}=t;if(t.headers=o=be.from(o),t.url=us(ls(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&o.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),D.isFormData(s)){if(ce.hasStandardBrowserEnv||ce.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(D.isFunction(s.getHeaders)){let c=s.getHeaders(),u=["content-type","content-length"];Object.entries(c).forEach(([l,p])=>{u.includes(l.toLowerCase())&&o.set(l,p)})}}if(ce.hasStandardBrowserEnv&&(n&&D.isFunction(n)&&(n=n(t)),n||n!==!1&&Kd(t.url))){let c=r&&i&&Zd.read(i);c&&o.set(r,c)}return t};var Cx=typeof XMLHttpRequest<"u",Yd=Cx&&function(e){return new Promise(function(s,n){let r=ni(e),i=r.data,o=be.from(r.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:u}=r,l,p,m,d,f;function g(){d&&d(),f&&f(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener("abort",l)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function b(){if(!h)return;let F=be.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),A={data:!a||a==="text"||a==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:F,config:e,request:h};wt(function(_){s(_),g()},function(_){n(_),g()},A),h=null}"onloadend"in h?h.onloadend=b:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(b)},h.onabort=function(){h&&(n(new N("Request aborted",N.ECONNABORTED,e,h)),h=null)},h.onerror=function(v){let A=v&&v.message?v.message:"Network Error",T=new N(A,N.ERR_NETWORK,e,h);T.event=v||null,n(T),h=null},h.ontimeout=function(){let v=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded",A=r.transitional||Qs;r.timeoutErrorMessage&&(v=r.timeoutErrorMessage),n(new N(v,A.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,e,h)),h=null},i===void 0&&o.setContentType(null),"setRequestHeader"in h&&D.forEach(o.toJSON(),function(v,A){h.setRequestHeader(A,v)}),D.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),a&&a!=="json"&&(h.responseType=r.responseType),u&&([m,f]=Lt(u,!0),h.addEventListener("progress",m)),c&&h.upload&&([p,d]=Lt(c),h.upload.addEventListener("progress",p),h.upload.addEventListener("loadend",d)),(r.cancelToken||r.signal)&&(l=F=>{h&&(n(!F||F.type?new Ye(null,e,h):F),h.abort(),h=null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener("abort",l)));let y=Yn(r.url);if(y&&ce.protocols.indexOf(y)===-1){n(new N("Unsupported protocol "+y+":",N.ERR_BAD_REQUEST,e));return}h.send(i||null)})};var Sx=(e,t)=>{let{length:s}=e=e?e.filter(Boolean):[];if(t||s){let n=new AbortController,r,i=function(u){if(!r){r=!0,a();let l=u instanceof Error?u:this.reason;n.abort(l instanceof N?l:new Ye(l instanceof Error?l.message:l))}},o=t&&setTimeout(()=>{o=null,i(new N(`timeout ${t} of ms exceeded`,N.ETIMEDOUT))},t),a=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),e=null)};e.forEach(u=>u.addEventListener("abort",i));let{signal:c}=n;return c.unsubscribe=()=>D.asap(a),c}},Qd=Sx;var xx=function*(e,t){let s=e.byteLength;if(!t||s<t){yield e;return}let n=0,r;for(;n<s;)r=n+t,yield e.slice(n,r),n=r},Fx=async function*(e,t){for await(let s of Ax(e))yield*xx(s,t)},Ax=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:s,value:n}=await t.read();if(s)break;yield n}}finally{await t.cancel()}},Sa=(e,t,s,n)=>{let r=Fx(e,t),i=0,o,a=c=>{o||(o=!0,n&&n(c))};return new ReadableStream({async pull(c){try{let{done:u,value:l}=await r.next();if(u){a(),c.close();return}let p=l.byteLength;if(s){let m=i+=p;s(m)}c.enqueue(new Uint8Array(l))}catch(u){throw a(u),u}},cancel(c){return a(c),r.return()}},{highWaterMark:2})};var Xd=64*1024,{isFunction:ri}=D,Ex=(({Request:e,Response:t})=>({Request:e,Response:t}))(D.global),{ReadableStream:em,TextEncoder:tm}=D.global,sm=(e,...t)=>{try{return!!e(...t)}catch{return!1}},wx=e=>{e=D.merge.call({skipUndefined:!0},Ex,e);let{fetch:t,Request:s,Response:n}=e,r=t?ri(t):typeof fetch=="function",i=ri(s),o=ri(n);if(!r)return!1;let a=r&&ri(em),c=r&&(typeof tm=="function"?(f=>g=>f.encode(g))(new tm):async f=>new Uint8Array(await new s(f).arrayBuffer())),u=i&&a&&sm(()=>{let f=!1,g=new s(ce.origin,{body:new em,method:"POST",get duplex(){return f=!0,"half"}}).headers.has("Content-Type");return f&&!g}),l=o&&a&&sm(()=>D.isReadableStream(new n("").body)),p={stream:l&&(f=>f.body)};r&&["text","arrayBuffer","blob","formData","stream"].forEach(f=>{!p[f]&&(p[f]=(g,h)=>{let b=g&&g[f];if(b)return b.call(g);throw new N(`Response type '${f}' is not supported`,N.ERR_NOT_SUPPORT,h)})});let m=async f=>{if(f==null)return 0;if(D.isBlob(f))return f.size;if(D.isSpecCompliantForm(f))return(await new s(ce.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(D.isArrayBufferView(f)||D.isArrayBuffer(f))return f.byteLength;if(D.isURLSearchParams(f)&&(f=f+""),D.isString(f))return(await c(f)).byteLength},d=async(f,g)=>{let h=D.toFiniteNumber(f.getContentLength());return h??m(g)};return async f=>{let{url:g,method:h,data:b,signal:y,cancelToken:F,timeout:v,onDownloadProgress:A,onUploadProgress:T,responseType:_,headers:E,withCredentials:z="same-origin",fetchOptions:J}=ni(f),Y=t||fetch;_=_?(_+"").toLowerCase():"text";let Q=Qd([y,F&&F.toAbortSignal()],v),q=null,B=Q&&Q.unsubscribe&&(()=>{Q.unsubscribe()}),I;try{if(T&&u&&h!=="get"&&h!=="head"&&(I=await d(E,b))!==0){let P=new s(g,{method:"POST",body:b,duplex:"half"}),V;if(D.isFormData(b)&&(V=P.headers.get("content-type"))&&E.setContentType(V),P.body){let[le,pe]=on(I,Lt(an(T)));b=Sa(P.body,Xd,le,pe)}}D.isString(z)||(z=z?"include":"omit");let k=i&&"credentials"in s.prototype,W={...J,signal:Q,method:h.toUpperCase(),headers:E.normalize().toJSON(),body:b,duplex:"half",credentials:k?z:void 0};q=i&&new s(g,W);let G=await(i?Y(q,J):Y(g,W)),ne=l&&(_==="stream"||_==="response");if(l&&(A||ne&&B)){let P={};["status","statusText","headers"].forEach(Le=>{P[Le]=G[Le]});let V=D.toFiniteNumber(G.headers.get("content-length")),[le,pe]=A&&on(V,Lt(an(A),!0))||[];G=new n(Sa(G.body,Xd,le,()=>{pe&&pe(),B&&B()}),P)}_=_||"text";let j=await p[D.findKey(p,_)||"text"](G,f);return!ne&&B&&B(),await new Promise((P,V)=>{wt(P,V,{data:j,headers:be.from(G.headers),status:G.status,statusText:G.statusText,config:f,request:q})})}catch(k){throw B&&B(),k&&k.name==="TypeError"&&/Load failed|fetch/i.test(k.message)?Object.assign(new N("Network Error",N.ERR_NETWORK,f,q),{cause:k.cause||k}):N.from(k,k&&k.code,f,q)}}},Rx=new Map,xa=e=>{let t=e&&e.env||{},{fetch:s,Request:n,Response:r}=t,i=[n,r,s],o=i.length,a=o,c,u,l=Rx;for(;a--;)c=i[a],u=l.get(c),u===void 0&&l.set(c,u=a?new Map:wx(t)),l=u;return u},Q2=xa();var Fa={http:Vd,xhr:Yd,fetch:{get:xa}};D.forEach(Fa,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var nm=e=>`- ${e}`,Ix=e=>D.isFunction(e)||e===null||e===!1;function kx(e,t){e=D.isArray(e)?e:[e];let{length:s}=e,n,r,i={};for(let o=0;o<s;o++){n=e[o];let a;if(r=n,!Ix(n)&&(r=Fa[(a=String(n)).toLowerCase()],r===void 0))throw new N(`Unknown adapter '${a}'`);if(r&&(D.isFunction(r)||(r=r.get(t))))break;i[a||"#"+o]=r}if(!r){let o=Object.entries(i).map(([c,u])=>`adapter ${c} `+(u===!1?"is not supported by the environment":"is not available in the build")),a=s?o.length>1?`since :
|
|
84
|
-
`+o.map(
|
|
85
|
-
`):" "+
|
|
86
|
-
`+i):n.stack=i}catch{}}throw n}}_request(t,s){typeof t=="string"?(s=s||{},s.url=t):s=t||{},s=Dt(this.defaults,s);let{transitional:n,paramsSerializer:r,headers:i}=s;n!==void 0&&Xn.assertOptions(n,{silentJSONParsing:Rt.transitional(Rt.boolean),forcedJSONParsing:Rt.transitional(Rt.boolean),clarifyTimeoutError:Rt.transitional(Rt.boolean)},!1),r!=null&&(D.isFunction(r)?s.paramsSerializer={serialize:r}:Xn.assertOptions(r,{encode:Rt.function,serialize:Rt.function},!0)),s.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?s.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:s.allowAbsoluteUrls=!0),Xn.assertOptions(s,{baseUrl:Rt.spelling("baseURL"),withXsrfToken:Rt.spelling("withXSRFToken")},!0),s.method=(s.method||this.defaults.method||"get").toLowerCase();let o=i&&D.merge(i.common,i[s.method]);i&&D.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f]}),s.headers=be.concat(o,i);let a=[],c=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(s)===!1||(c=c&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});let u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let l,p=0,m;if(!c){let f=[oi.bind(this),void 0];for(f.unshift(...a),f.push(...u),m=f.length,l=Promise.resolve(s);p<m;)l=l.then(f[p++],f[p++]);return l}m=a.length;let d=s;for(;p<m;){let f=a[p++],g=a[p++];try{d=f(d)}catch(h){g.call(this,h);break}}try{l=oi.call(this,d)}catch(f){return Promise.reject(f)}for(p=0,m=u.length;p<m;)l=l.then(u[p++],u[p++]);return l}getUri(t){t=Dt(this.defaults,t);let s=ls(t.baseURL,t.url,t.allowAbsoluteUrls);return us(s,t.params,t.paramsSerializer)}};D.forEach(["delete","get","head","options"],function(t){cn.prototype[t]=function(s,n){return this.request(Dt(n||{},{method:t,url:s,data:(n||{}).data}))}});D.forEach(["post","put","patch"],function(t){function s(n){return function(i,o,a){return this.request(Dt(a||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}cn.prototype[t]=s(),cn.prototype[t+"Form"]=s(!0)});var er=cn;var Ea=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let s;this.promise=new Promise(function(i){s=i});let n=this;this.promise.then(r=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](r);n._listeners=null}),this.promise.then=r=>{let i,o=new Promise(a=>{n.subscribe(a),i=a}).then(r);return o.cancel=function(){n.unsubscribe(i)},o},t(function(i,o,a){n.reason||(n.reason=new Ye(i,o,a),s(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let s=this._listeners.indexOf(t);s!==-1&&this._listeners.splice(s,1)}toAbortSignal(){let t=new AbortController,s=n=>{t.abort(n)};return this.subscribe(s),t.signal.unsubscribe=()=>this.unsubscribe(s),t.signal}static source(){let t;return{token:new e(function(r){t=r}),cancel:t}}},im=Ea;function wa(e){return function(s){return e.apply(null,s)}}function Ra(e){return D.isObject(e)&&e.isAxiosError===!0}var Ta={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ta).forEach(([e,t])=>{Ta[t]=e});var om=Ta;function am(e){let t=new er(e),s=Bn(er.prototype.request,t);return D.extend(s,er.prototype,t,{allOwnKeys:!0}),D.extend(s,t,null,{allOwnKeys:!0}),s.create=function(r){return am(Dt(e,r))},s}var Fe=am(Xs);Fe.Axios=er;Fe.CanceledError=Ye;Fe.CancelToken=im;Fe.isCancel=Hn;Fe.VERSION=fs;Fe.toFormData=Kt;Fe.AxiosError=N;Fe.Cancel=Fe.CanceledError;Fe.all=function(t){return Promise.all(t)};Fe.spread=wa;Fe.isAxiosError=Ra;Fe.mergeConfig=Dt;Fe.AxiosHeaders=be;Fe.formToJSON=e=>Jr(D.isHTMLForm(e)?new FormData(e):e);Fe.getAdapter=ii.getAdapter;Fe.HttpStatusCode=om;Fe.default=Fe;var Nt=Fe;var{Axios:KP,AxiosError:ZP,CanceledError:JP,isCancel:YP,CancelToken:QP,VERSION:XP,all:eL,Cancel:tL,isAxiosError:sL,spread:nL,toFormData:rL,AxiosHeaders:iL,HttpStatusCode:oL,formToJSON:aL,getAdapter:cL,mergeConfig:uL}=Nt;var ci=require("node:fs"),tr=require("node:path");function cm(){let e=require.resolve("@aws-solutions-constructs/core/package.json"),t=(0,tr.dirname)((0,tr.dirname)(e));return(0,ci.readdirSync)(t).filter(s=>s!=="core"&&s.startsWith("aws-")&&(0,ci.statSync)((0,tr.join)(t,s)).isDirectory())}var um={"aws-apigateway-dynamodb":{className:"ApiGatewayToDynamoDB",packageName:"aws-apigateway-dynamodb",friendlyName:"Api Gateway To Dynamo DB",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-dynamodb/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-dynamodb",requiredResourceTypes:["AWS::DynamoDB::Table","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::IAM::Role","AWS::ApiGateway::Account","AWS::IAM::Policy"]},"aws-apigateway-kinesisstreams":{className:"ApiGatewayToKinesisStreams",packageName:"aws-apigateway-kinesisstreams",friendlyName:"Api Gateway To Kinesis Streams",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-kinesisstreams/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-kinesisstreams",requiredResourceTypes:["AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::ApiGateway::RequestValidator","AWS::ApiGateway::Model","AWS::IAM::Role","AWS::ApiGateway::Account","AWS::IAM::Policy","AWS::CloudWatch::Alarm","AWS::Kinesis::Stream"]},"aws-apigateway-lambda":{className:"ApiGatewayToLambda",packageName:"aws-apigateway-lambda",friendlyName:"Api Gateway To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::Lambda::Permission","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::ApiGateway::Account"]},"aws-apigateway-sqs":{className:"ApiGatewayToSqs",packageName:"aws-apigateway-sqs",friendlyName:"Api Gateway To Sqs",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-sqs",requiredResourceTypes:["AWS::SQS::Queue","AWS::SQS::QueuePolicy","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::IAM::Role","AWS::ApiGateway::Account","AWS::IAM::Policy"]},"aws-apigatewayv2websocket-sqs":{className:"ApiGatewayV2WebSocketToSqs",packageName:"aws-apigatewayv2websocket-sqs",friendlyName:"Api Gateway V2 Web Socket To Sqs",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigatewayv2websocket-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigatewayv2websocket-sqs",requiredResourceTypes:["AWS::SQS::Queue","AWS::SQS::QueuePolicy","AWS::IAM::Role","AWS::IAM::Policy","AWS::ApiGatewayV2::Api","AWS::ApiGatewayV2::Integration","AWS::ApiGatewayV2::Route","AWS::ApiGatewayV2::Stage","AWS::Logs::LogGroup"]},"aws-cloudfront-apigateway-lambda":{className:"CloudFrontToApiGatewayToLambda",packageName:"aws-cloudfront-apigateway-lambda",friendlyName:"Cloud Front To Api Gateway To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-apigateway-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-apigateway-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::Lambda::Permission","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::ApiGateway::Account","AWS::CloudFront::Function","AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::CloudFront::Distribution"]},"aws-cloudfront-mediastore":{className:"CloudFrontToMediaStore",packageName:"aws-cloudfront-mediastore",friendlyName:"Cloud Front To Media Store",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-mediastore/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-mediastore",requiredResourceTypes:["AWS::CloudFront::CloudFrontOriginAccessIdentity","AWS::MediaStore::Container","AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::CloudFront::OriginRequestPolicy","AWS::CloudFront::Function","AWS::CloudFront::Distribution"]},"aws-cloudfront-oai-s3":{className:"CloudFrontToOaiToS3",packageName:"aws-cloudfront-oai-s3",friendlyName:"Cloud Front To Oai To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-oai-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-oai-s3",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::CloudFront::Function","AWS::CloudFront::CloudFrontOriginAccessIdentity","AWS::CloudFront::Distribution"]},"aws-cloudfront-s3":{className:"CloudFrontToS3",packageName:"aws-cloudfront-s3",friendlyName:"Cloud Front To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-s3",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::CloudFront::Function","AWS::CloudFront::OriginAccessControl","AWS::CloudFront::Distribution"]},"aws-cognito-apigateway-lambda":{className:"CognitoToApiGatewayToLambda",packageName:"aws-cognito-apigateway-lambda",friendlyName:"Cognito To Api Gateway To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cognito-apigateway-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cognito-apigateway-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::Lambda::Permission","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::ApiGateway::Account","AWS::Cognito::UserPool","AWS::Cognito::UserPoolClient","AWS::ApiGateway::Authorizer"]},"aws-dynamodbstreams-lambda":{className:"DynamoDBStreamsToLambda",packageName:"aws-dynamodbstreams-lambda",friendlyName:"Dynamo DBStreams To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-dynamodbstreams-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-dynamodbstreams-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Lambda::EventSourceMapping","AWS::DynamoDB::Table","AWS::SQS::Queue","AWS::SQS::QueuePolicy"]},"aws-kinesisfirehose-s3":{className:"KinesisFirehoseToS3",packageName:"aws-kinesisfirehose-s3",friendlyName:"Kinesis Firehose To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-kinesisfirehose-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-kinesisfirehose-s3",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::Logs::LogGroup","AWS::Logs::LogStream","AWS::IAM::Role","AWS::IAM::Policy","AWS::KinesisFirehose::DeliveryStream"]},"aws-kinesisstreams-kinesisfirehose-s3":{className:"KinesisStreamsToKinesisFirehoseToS3",packageName:"aws-kinesisstreams-kinesisfirehose-s3",friendlyName:"Kinesis Streams To Kinesis Firehose To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-kinesisstreams-kinesisfirehose-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-kinesisstreams-kinesisfirehose-s3",requiredResourceTypes:["AWS::Kinesis::Stream","AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::Logs::LogGroup","AWS::Logs::LogStream","AWS::IAM::Role","AWS::IAM::Policy","AWS::KinesisFirehose::DeliveryStream","AWS::CloudWatch::Alarm"]},"aws-s3-lambda":{className:"S3ToLambda",packageName:"aws-s3-lambda",friendlyName:"S3 To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-s3-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-s3-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::S3::Bucket","AWS::S3::BucketPolicy","Custom::S3BucketNotifications","AWS::Lambda::Permission"]},"aws-s3-sns":{className:"S3ToSns",packageName:"aws-s3-sns",friendlyName:"S3 To Sns",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-s3-sns/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-s3-sns",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","Custom::S3BucketNotifications","AWS::KMS::Key","AWS::SNS::Topic","AWS::SNS::TopicPolicy","AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function"]},"aws-s3-sqs":{className:"S3ToSqs",packageName:"aws-s3-sqs",friendlyName:"S3 To Sqs",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-s3-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-s3-sqs",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","Custom::S3BucketNotifications","AWS::SQS::Queue","AWS::SQS::QueuePolicy","AWS::KMS::Key","AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function"]},"aws-sns-lambda":{className:"SnsToLambda",packageName:"aws-sns-lambda",friendlyName:"Sns To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-sns-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-sns-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Lambda::Permission","AWS::SNS::Subscription","AWS::SNS::Topic","AWS::SNS::TopicPolicy"]},"aws-sns-sqs":{className:"SnsToSqs",packageName:"aws-sns-sqs",friendlyName:"Sns To Sqs",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-sns-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-sns-sqs",requiredResourceTypes:["AWS::SNS::Topic","AWS::SNS::TopicPolicy","AWS::SQS::Queue","AWS::SQS::QueuePolicy","AWS::SNS::Subscription","AWS::KMS::Key"]},"aws-eventbridge-kinesisstreams":{className:"EventbridgeToKinesisStreams",packageName:"aws-eventbridge-kinesisstreams",friendlyName:"EventBridge To Kinesis Streams",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-kinesisstreams/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-kinesisstreams",requiredResourceTypes:["AWS::Events::Rule","AWS::Kinesis::Stream"]},"aws-eventbridge-sns":{className:"EventbridgeToSns",packageName:"aws-eventbridge-sns",friendlyName:"EventBridge To SNS",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-sns/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-sns",requiredResourceTypes:["AWS::Events::Rule","AWS::SNS::Topic"]},"aws-eventbridge-sqs":{className:"EventbridgeToSqs",packageName:"aws-eventbridge-sqs",friendlyName:"EventBridge To SQS",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-sqs",requiredResourceTypes:["AWS::Events::Rule","AWS::SQS::Queue"]},"aws-eventbridge-stepfunctions":{className:"EventbridgeToStepfunctions",packageName:"aws-eventbridge-stepfunctions",friendlyName:"EventBridge To StepFunctions",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-stepfunctions/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-stepfunctions",requiredResourceTypes:["AWS::Events::Rule","AWS::StepFunctions::StateMachine"]},"aws-alb-fargate":{className:"AlbToFargate",packageName:"aws-alb-fargate",friendlyName:"ALB To Fargate",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-alb-fargate/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-alb-fargate",requiredResourceTypes:["AWS::ElasticLoadBalancingV2::LoadBalancer","AWS::ElasticLoadBalancingV2::Listener","AWS::ECS::Cluster","AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::IAM::Role","AWS::Logs::LogGroup"]},"aws-alb-lambda":{className:"AlbToLambda",packageName:"aws-alb-lambda",friendlyName:"ALB To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-alb-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-alb-lambda",requiredResourceTypes:["AWS::ElasticLoadBalancingV2::LoadBalancer","AWS::ElasticLoadBalancingV2::Listener","AWS::Lambda::Function","AWS::IAM::Role","AWS::Logs::LogGroup"]},"aws-apigateway-iot":{className:"ApiGatewayToIot",packageName:"aws-apigateway-iot",friendlyName:"API Gateway To IoT",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-iot/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-iot",requiredResourceTypes:["AWS::ApiGateway::RestApi","AWS::ApiGateway::Resource","AWS::ApiGateway::Method","AWS::IoT::TopicRule"]},"aws-apigateway-sagemakerendpoint":{className:"ApiGatewayToSagemakerendpoint",packageName:"aws-apigateway-sagemakerendpoint",friendlyName:"API Gateway To SageMaker Endpoint",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-sagemakerendpoint/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-sagemakerendpoint",requiredResourceTypes:["AWS::ApiGateway::RestApi","AWS::ApiGateway::Integration","AWS::SageMaker::Endpoint"]},"aws-cloudfront-apigateway":{className:"CloudFrontToApiGateway",packageName:"aws-cloudfront-apigateway",friendlyName:"CloudFront To API Gateway",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-apigateway/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-apigateway",requiredResourceTypes:["AWS::CloudFront::Distribution","AWS::ApiGateway::RestApi","AWS::ApiGateway::Method"]},"aws-dynamodbstreams-lambda-elasticsearch-kibana":{className:"DynamoDBStreamsToLambdaElasticsearchKibana",packageName:"aws-dynamodbstreams-lambda-elasticsearch-kibana",friendlyName:"DynamoDB Streams To Lambda Elasticsearch Kibana",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-dynamodbstreams-lambda-elasticsearch-kibana/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-dynamodbstreams-lambda-elasticsearch-kibana",requiredResourceTypes:["AWS::DynamoDB::Stream","AWS::Lambda::Function","AWS::Elasticsearch::Domain","AWS::IAM::Role","AWS::Logs::LogGroup"]},"aws-dynamodbstreams-pipes-stepfunctions":{className:"DynamoDBStreamsToPipesStepfunctions",packageName:"aws-dynamodbstreams-pipes-stepfunctions",friendlyName:"DynamoDB Streams To Pipes StepFunctions",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-dynamodbstreams-pipes-stepfunctions/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-dynamodbstreams-pipes-stepfunctions",requiredResourceTypes:["AWS::DynamoDB::Stream","AWS::StepFunctions::StateMachine"]},"aws-eventbridge-kinesisfirehose-s3":{className:"EventbridgeToKinesisfirehoseToS3",packageName:"aws-eventbridge-kinesisfirehose-s3",friendlyName:"EventBridge To Kinesis Firehose To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-kinesisfirehose-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-kinesisfirehose-s3",requiredResourceTypes:["AWS::Events::Rule","AWS::KinesisFirehose::DeliveryStream","AWS::S3::Bucket"]},"aws-eventbridge-lambda":{className:"EventbridgeToLambda",packageName:"aws-eventbridge-lambda",friendlyName:"EventBridge To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-lambda",requiredResourceTypes:["AWS::Events::Rule","AWS::Lambda::Function","AWS::IAM::Role"]},"aws-fargate-dynamodb":{className:"FargateToDynamodb",packageName:"aws-fargate-dynamodb",friendlyName:"Fargate To DynamoDB",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-dynamodb/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-dynamodb",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::DynamoDB::Table"]},"aws-fargate-eventbridge":{className:"FargateToEventbridge",packageName:"aws-fargate-eventbridge",friendlyName:"Fargate To EventBridge",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-eventbridge/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-eventbridge",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::Events::Rule"]},"aws-fargate-kinesisfirehose":{className:"FargateToKinesisfirehose",packageName:"aws-fargate-kinesisfirehose",friendlyName:"Fargate To Kinesis Firehose",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-kinesisfirehose/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-kinesisfirehose",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::KinesisFirehose::DeliveryStream"]},"aws-fargate-kinesisstreams":{className:"FargateToKinesisstreams",packageName:"aws-fargate-kinesisstreams",friendlyName:"Fargate To Kinesis Streams",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-kinesisstreams/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-kinesisstreams",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::Kinesis::Stream"]},"aws-fargate-opensearch":{className:"FargateToOpensearch",packageName:"aws-fargate-opensearch",friendlyName:"Fargate To OpenSearch",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-opensearch/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-opensearch",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::OpenSearch::Domain"]},"aws-fargate-s3":{className:"FargateToS3",packageName:"aws-fargate-s3",friendlyName:"Fargate To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-s3",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::S3::Bucket"]},"aws-fargate-secretsmanager":{className:"FargateToSecretsmanager",packageName:"aws-fargate-secretsmanager",friendlyName:"Fargate To SecretsManager",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-secretsmanager/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-secretsmanager",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::SecretsManager::Secret"]},"aws-fargate-sns":{className:"FargateToSns",packageName:"aws-fargate-sns",friendlyName:"Fargate To SNS",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-sns/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-sns",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::SNS::Topic"]},"aws-fargate-sqs":{className:"FargateToSqs",packageName:"aws-fargate-sqs",friendlyName:"Fargate To SQS",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-sqs",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::SQS::Queue"]},"aws-fargate-ssmstringparameter":{className:"FargateToSsmstringparameter",packageName:"aws-fargate-ssmstringparameter",friendlyName:"Fargate To SSM String Parameter",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-ssmstringparameter/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-ssmstringparameter",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::SSM::StringParameter"]},"aws-fargate-stepfunctions":{className:"FargateToStepfunctions",packageName:"aws-fargate-stepfunctions",friendlyName:"Fargate To StepFunctions",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-stepfunctions/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-stepfunctions",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::StepFunctions::StateMachine"]},"aws-iot-kinesisfirehose-s3":{className:"IotToKinesisfirehoseToS3",packageName:"aws-iot-kinesisfirehose-s3",friendlyName:"IoT To Kinesis Firehose To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-iot-kinesisfirehose-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-iot-kinesisfirehose-s3",requiredResourceTypes:["AWS::IoT::TopicRule","AWS::KinesisFirehose::DeliveryStream","AWS::S3::Bucket"]},"aws-iot-kinesisstreams":{className:"IotToKinesisstreams",packageName:"aws-iot-kinesisstreams",friendlyName:"IoT To Kinesis Streams",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-iot-kinesisstreams/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-iot-kinesisstreams",requiredResourceTypes:["AWS::IoT::TopicRule","AWS::Kinesis::Stream"]},"aws-iot-lambda":{className:"IotToLambda",packageName:"aws-iot-lambda",friendlyName:"IoT To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-iot-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-iot-lambda",requiredResourceTypes:["AWS::IoT::TopicRule","AWS::Lambda::Function","AWS::IAM::Role"]}};var lm=async e=>{let t={};for(let s of e)try{let n=await import(`@aws-solutions-constructs/${s}`),r=Object.keys(n).find(u=>/^[A-Z][a-zA-Z0-9]*To[A-Z][a-zA-Z0-9]*$/.test(u));if(!r)continue;let i=`https://docs.aws.amazon.com/solutions/latest/${s}/`,o=`https://github.com/awslabs/aws-solutions-constructs/tree/main/${s}`,c=um[s]?.requiredResourceTypes||[];t[s]={className:r,packageName:s,friendlyName:r.replace(/([a-z0-9])([A-Z])/g,"$1 $2").trim(),documentationUrl:i,githubUrl:o,requiredResourceTypes:c}}catch{}return t};var x=(e,t)=>e.Metadata?.["aws:cdk:path"]??t;var pm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::ApiGateway::RestApi"&&!r.Properties?.EndpointConfiguration?.Types?.includes("PRIVATE")&&(s[n]={issues:[t(n,"API Gateway is publicly accessible.","Use PRIVATE endpoints to restrict access.","HIGH","Security",x(r,n),"cdkInsights")]}),s),{});var dm=(e,t)=>Object.entries(e.Resources||{}).some(([,n])=>n.Type==="AWS::CloudTrail::Trail")?{}:{Global:{issues:[t("Global","CloudTrail is not enabled for logging.","Enable AWS CloudTrail to capture API activity and improve security monitoring.","HIGH","Security","Global","cdkInsights")]}};var un=(e,t)=>{let s=[];if(e==null)return s;if(typeof e=="string"){let n=e.matchAll(/\$\{([^.}]+)(?:\.[^}]+)?\}/g);for(let r of n){let i=r[1];t.has(i)&&s.push(i)}return s}if(Array.isArray(e)){for(let n of e)s.push(...un(n,t));return s}if(typeof e=="object"){let n=e;if("Ref"in n&&typeof n.Ref=="string"&&t.has(n.Ref)&&s.push(n.Ref),"Fn::GetAtt"in n){let r=n["Fn::GetAtt"];if(Array.isArray(r)&&typeof r[0]=="string")t.has(r[0])&&s.push(r[0]);else if(typeof r=="string"){let i=r.split(".")[0];t.has(i)&&s.push(i)}}if("Fn::Sub"in n){let r=n["Fn::Sub"];Array.isArray(r)?(s.push(...un(r[0],t)),r[1]&&typeof r[1]=="object"&&s.push(...un(r[1],t))):s.push(...un(r,t))}for(let[r,i]of Object.entries(n))["Ref","Fn::GetAtt","Fn::Sub"].includes(r)||s.push(...un(i,t))}return s},Px=e=>e.DependsOn?Array.isArray(e.DependsOn)?e.DependsOn:[e.DependsOn]:[],Lx=(e,t)=>{if(t.length===0)return;let s=new Set(t.map(i=>i.type.split("::")[2]||i.type)),n=Array.from(s).slice(0,3),r=e.split("::")[2]||e;if(e.includes("SecurityGroup"))return`Security group attached to: ${n.join(", ")}`;if(e.includes("IAM::Role"))return`IAM role assumed by: ${n.join(", ")}`;if(e.includes("VPC")||e.includes("Subnet"))return`Network hosting: ${n.join(", ")}`;if(e.includes("KMS::Key"))return`Encryption key used by: ${n.join(", ")}`;if(e.includes("S3::Bucket")){if(n.some(i=>i.includes("Lambda")))return"S3 bucket accessed by Lambda functions";if(n.some(i=>i.includes("CloudFront")))return"S3 bucket serving as CloudFront origin"}if(e.includes("DynamoDB::Table")&&n.some(i=>i.includes("Lambda")))return"DynamoDB table accessed by Lambda functions";if(t.length>0)return`Referenced by ${t.length} resource${t.length>1?"s":""}: ${n.join(", ")}`},hs=e=>{let t=new Set(Object.keys(e)),s={};for(let n of t)s[n]={dependencies:[],dependents:[]};for(let[n,r]of Object.entries(e)){let i=Px(r),o=un(r.Properties,t),a=[...new Set([...i,...o])];s[n].dependencies=a;for(let c of a)s[c]&&s[c].dependents.push(n)}for(let[n,r]of Object.entries(e)){let i=s[n],o=i.dependents.map(a=>({id:a,type:e[a]?.Type||"Unknown"}));i.usageDescription=Lx(r.Type,o)}return s},Ia=(e,t,s)=>{let n=t[e];if(!n)return{dependencies:[],dependents:[]};let r=n.dependencies.map(o=>{let a=s[o]?.Type?.split("::")[2]||o;return`${o} (${a})`}),i=n.dependents.map(o=>{let a=s[o]?.Type?.split("::")[2]||o;return`${o} (${a})`});return{dependencies:r,dependents:i,usageDescription:n.usageDescription}};var Ox=(e,t,s)=>{let n={};for(let[r,i]of Object.entries(e)){if(i.Type!=="AWS::Lambda::Function")continue;let o=i.Properties||{};if(!!(o.DeadLetterConfig?.TargetArn||o.DeadLetterConfig?.TargetArn))continue;let c=t[r];if(!c)continue;c.dependencies.some(l=>{let p=e[l];return p?.Type==="AWS::DynamoDB::Table"||p?.Type==="AWS::DynamoDB::GlobalTable"})&&(n[r]||(n[r]={issues:[]}),n[r].issues.push(s(r,"Lambda function interacting with DynamoDB has no Dead Letter Queue configured","Configure a Dead Letter Queue (DLQ) using SQS or SNS to capture failed invocations. This ensures no data is lost when the function fails to process DynamoDB events or write operations.","MEDIUM","Reliability",i.Metadata?.["aws:cdk:path"]||r,"cdkInsights")))}return n},Bx=(e,t,s)=>{let n={},r=new Set(["AWS::RDS::DBInstance","AWS::RDS::DBCluster","AWS::ElastiCache::CacheCluster","AWS::ElastiCache::ReplicationGroup","AWS::Redshift::Cluster","AWS::OpenSearchService::Domain","AWS::Elasticsearch::Domain","AWS::ECS::Service"]),i=new Set(Object.entries(e).filter(([,o])=>r.has(o.Type)).map(([o])=>o));for(let[o,a]of Object.entries(e)){if(a.Type!=="AWS::Lambda::Function")continue;let c=a.Properties||{},u=!!(c.VpcConfig&&(c.VpcConfig.SubnetIds||c.VpcConfig.SecurityGroupIds)),l=t[o];if(!l)continue;if(l.dependencies.some(m=>i.has(m))&&!u){n[o]||(n[o]={issues:[]});let m=l.dependencies.filter(d=>i.has(d));n[o].issues.push(s(o,`Lambda function references VPC resources (${m.join(", ")}) but is not VPC-enabled`,"Configure VpcConfig with appropriate SubnetIds and SecurityGroupIds to allow the Lambda function to connect to VPC resources. Without VPC configuration, the function cannot reach private resources like RDS databases.","HIGH","Reliability",a.Metadata?.["aws:cdk:path"]||o,"cdkInsights"))}}return n},Nx=(e,t)=>{let s={},n=new Map;for(let[r,i]of Object.entries(e)){if(i.Type!=="AWS::S3::Bucket")continue;let o=i.Properties||{},a=!!(o.BucketEncryption||o.ServerSideEncryptionConfiguration);n.set(r,a)}for(let[r,i]of Object.entries(e)){if(i.Type!=="AWS::S3::Bucket")continue;let a=(i.Properties||{}).ReplicationConfiguration;if(!a)continue;let c=n.get(r),u=a.Rules;if(!(!u||!Array.isArray(u)))for(let l of u){if(l.Status!=="Enabled")continue;let p=l.Destination;if(!p||!p.Bucket)continue;let d=p.EncryptionConfiguration;c&&!d&&(s[r]||(s[r]={issues:[]}),s[r].issues.push(t(r,"S3 replication configured without encryption configuration for replicated objects","Specify EncryptionConfiguration in the replication rule to ensure replicated objects maintain encryption. Use ReplicaKmsKeyID to specify the KMS key for encrypting replicated objects in the destination bucket.","MEDIUM","Security",i.Metadata?.["aws:cdk:path"]||r,"cdkInsights")))}}return s},Mx=(e,t,s)=>{let n={},r=new Set([80,443,8080,8443]);for(let[i,o]of Object.entries(e)){if(o.Type!=="AWS::EC2::SecurityGroup")continue;let c=(o.Properties||{}).SecurityGroupIngress||[],u=t[i];if(!(u&&u.dependents.length>0))continue;let p=[];for(let m of c){let d=m.CidrIp,f=m.CidrIpv6,g=m.FromPort,h=m.ToPort;if(!(d==="0.0.0.0/0"||f==="::/0")||g===void 0)continue;let y=h!==void 0&&h!==g,F=!r.has(g);(y||F)&&p.push(g)}if(p.length>0){n[i]||(n[i]={issues:[]});let m=u.dependents.map(d=>e[d]?.Type?.split("::")[2]||"Unknown").join(", ");n[i].issues.push(s(i,`Security group used by ${m} has public access on non-standard ports: ${p.join(", ")}`,"Restrict ingress rules to specific CIDR blocks or reference other security groups instead of allowing 0.0.0.0/0 on non-standard ports. Consider using a bastion host or VPN for administrative access.","HIGH","Security",o.Metadata?.["aws:cdk:path"]||i,"cdkInsights"))}}return n},mm=(e,t)=>{let s=e.Resources||{},n=hs(s),r={},i=[Ox(s,n,t),Bx(s,n,t),Nx(s,t),Mx(s,n,t)];for(let o of i)for(let[a,c]of Object.entries(o))r[a]||(r[a]={issues:[]}),r[a].issues.push(...c.issues);return r};var Wx=e=>{let t=[],s=Object.values(e).map(E=>E.Type),n={};for(let E of s)n[E]=(n[E]||0)+1;let r=s.some(E=>E==="AWS::Lambda::Function"),i=s.some(E=>E==="AWS::ApiGateway::RestApi"||E==="AWS::ApiGatewayV2::Api"),o=s.some(E=>E==="AWS::DynamoDB::Table"),a=s.some(E=>E==="AWS::S3::Bucket");r&&(o||a)&&!s.some(E=>E.includes("ECS")||E.includes("EC2::Instance"))&&t.push("serverless");let c=s.some(E=>E==="AWS::ECS::Service"||E==="AWS::ECS::TaskDefinition"||E==="AWS::ECS::Cluster"),u=s.some(E=>E.startsWith("AWS::EKS::"));(c||u)&&t.push("container-based");let l=s.some(E=>E.startsWith("AWS::Events::")),p=s.some(E=>E==="AWS::SNS::Topic"),m=s.some(E=>E==="AWS::SQS::Queue"),d=s.some(E=>E.startsWith("AWS::Kinesis::")),f=s.some(E=>E.startsWith("AWS::StepFunctions::"));(l||p||m||d||f)&&r&&t.push("event-driven"),i&&t.push("api-gateway");let g=s.some(E=>E.startsWith("AWS::Glue::")),h=s.some(E=>E.startsWith("AWS::Athena::")),b=s.some(E=>E.startsWith("AWS::EMR::"));(d||g||h||b)&&t.push("data-processing");let y=s.some(E=>E==="AWS::CloudFront::Distribution");a&&y&&!r&&!c&&t.push("static-website");let F=n["AWS::Lambda::Function"]||0,v=n["AWS::ECS::Service"]||0;(F>=3||v>=2)&&t.push("microservices");let A=s.some(E=>E==="AWS::EC2::Instance"),T=s.some(E=>E==="AWS::RDS::DBInstance"||E==="AWS::RDS::DBCluster"),_=s.some(E=>E==="AWS::ElasticLoadBalancingV2::LoadBalancer");return A&&(T||_)&&t.push("traditional"),t},jx=(e,t)=>{let s={},n=Object.values(e).map(l=>l.Type),r=n.some(l=>l==="AWS::CloudWatch::Alarm"),i=n.some(l=>l==="AWS::Lambda::Function"),o=n.some(l=>l==="AWS::ECS::Service"),a=n.some(l=>l==="AWS::RDS::DBInstance"||l==="AWS::RDS::DBCluster");(i||o||a)&&!r&&(s.__STACK_ARCHITECTURE__={issues:[t("__STACK_ARCHITECTURE__","No CloudWatch Alarms defined for critical resources","Add CloudWatch Alarms to monitor key metrics like Lambda errors, ECS task failures, or RDS connections. Consider using CDK's built-in alarm methods or aws-cdk-lib/aws-cloudwatch.","MEDIUM","Operational Excellence","Stack Architecture","cdkInsights")]});let c=n.some(l=>l==="AWS::XRay::Group"||l==="AWS::XRay::SamplingRule");return n.filter(l=>l==="AWS::Lambda::Function").length>=3&&!c&&(s.__STACK_ARCHITECTURE__||(s.__STACK_ARCHITECTURE__={issues:[]}),s.__STACK_ARCHITECTURE__.issues.push(t("__STACK_ARCHITECTURE__","Multiple Lambda functions without X-Ray tracing configuration","Enable X-Ray tracing for your Lambda functions to gain visibility into distributed request flows and identify performance bottlenecks. Set tracing: lambda.Tracing.ACTIVE on your functions.","LOW","Operational Excellence","Stack Architecture","cdkInsights"))),s},$x=(e,t)=>{let s={},n=Object.values(e).map(m=>m.Type),r=n.some(m=>m==="AWS::ApiGateway::RestApi"||m==="AWS::ApiGatewayV2::Api"),i=n.some(m=>m==="AWS::ElasticLoadBalancingV2::LoadBalancer"),o=n.some(m=>m==="AWS::CloudFront::Distribution"),a=n.some(m=>m==="AWS::WAFv2::WebACL"||m==="AWS::WAF::WebACL");(r||i||o)&&!a&&(s.__STACK_ARCHITECTURE__||(s.__STACK_ARCHITECTURE__={issues:[]}),s.__STACK_ARCHITECTURE__.issues.push(t("__STACK_ARCHITECTURE__","Public-facing resources without WAF protection","Consider adding AWS WAF to protect your API Gateway, ALB, or CloudFront distribution from common web exploits. WAF can help prevent SQL injection, XSS, and rate-limit malicious traffic.","MEDIUM","Security","Stack Architecture","cdkInsights")));let c=n.some(m=>m==="AWS::SecretsManager::Secret"),u=n.some(m=>m==="AWS::SSM::Parameter"),l=n.some(m=>m==="AWS::RDS::DBInstance"||m==="AWS::RDS::DBCluster"),p=!1;for(let[m,d]of Object.entries(e))if(d.Type==="AWS::Lambda::Function"){let f=d.Properties?.Environment?.Variables;if(f){let g=["PASSWORD","SECRET","API_KEY","TOKEN","CREDENTIAL"];for(let h of Object.keys(f))if(g.some(b=>h.toUpperCase().includes(b))){let b=f[h];if(typeof b=="string"&&!b.startsWith("{{")){p=!0;break}}}}return l&&!c&&!u&&(s.__STACK_ARCHITECTURE__||(s.__STACK_ARCHITECTURE__={issues:[]}),s.__STACK_ARCHITECTURE__.issues.push(t("__STACK_ARCHITECTURE__","RDS database without Secrets Manager for credential rotation","Use AWS Secrets Manager to store and automatically rotate database credentials. This improves security by eliminating hardcoded passwords and enabling automatic credential rotation.","HIGH","Security","Stack Architecture","cdkInsights"))),s},Ux=(e,t)=>{let s={},n=Object.values(e).filter(u=>u.Type==="AWS::EC2::NatGateway").length;n>=3&&(s.__STACK_ARCHITECTURE__||(s.__STACK_ARCHITECTURE__={issues:[]}),s.__STACK_ARCHITECTURE__.issues.push(t("__STACK_ARCHITECTURE__",`${n} NAT Gateways detected - potential cost optimization`,"Multiple NAT Gateways can be expensive ($32/month each + data processing). Consider if all are necessary, or explore alternatives like NAT instances for dev environments, or VPC endpoints for AWS services.","MEDIUM","Cost Optimization","Stack Architecture","cdkInsights")));let r=n>0,i=Object.values(e).some(u=>u.Type==="AWS::EC2::VPCEndpoint"),o=Object.values(e).some(u=>{if(u.Type!=="AWS::Lambda::Function")return!1;let l=u.Properties?.VpcConfig;return l?.SubnetIds||l?.SecurityGroupIds}),a=Object.values(e).some(u=>u.Type==="AWS::S3::Bucket"),c=Object.values(e).some(u=>u.Type==="AWS::DynamoDB::Table");return o&&r&&!i&&(a||c)&&(s.__STACK_ARCHITECTURE__||(s.__STACK_ARCHITECTURE__={issues:[]}),s.__STACK_ARCHITECTURE__.issues.push(t("__STACK_ARCHITECTURE__","VPC Lambda functions accessing AWS services through NAT Gateway","Consider using VPC Endpoints (Gateway endpoints for S3/DynamoDB are free) instead of routing AWS service traffic through NAT Gateway. This reduces costs and improves latency.","LOW","Cost Optimization","Stack Architecture","cdkInsights"))),s},Gx=(e,t,s)=>{let n={};for(let[r,i]of Object.entries(t)){let o=e[r];if(!o)continue;let a=i.dependents.length;if(a>=5){let c=o.Type.split("::")[2]||o.Type;n.__STACK_ARCHITECTURE__||(n.__STACK_ARCHITECTURE__={issues:[]}),n.__STACK_ARCHITECTURE__.issues.push(s("__STACK_ARCHITECTURE__",`${c} (${r}) is a potential single point of failure with ${a} dependent resources`,"Consider adding redundancy or failover mechanisms for this critical resource. For databases, consider Multi-AZ. For queues, consider dead-letter queues. For Lambda, ensure proper error handling.","MEDIUM","Reliability","Stack Architecture","cdkInsights"))}}for(let[r,i]of Object.entries(e)){if(i.Type!=="AWS::DynamoDB::Table")continue;if(i.Properties?.PointInTimeRecoverySpecification?.PointInTimeRecoveryEnabled!==!0){let a=t[r];a&&a.dependents.length>=3&&(n.__STACK_ARCHITECTURE__||(n.__STACK_ARCHITECTURE__={issues:[]}),n.__STACK_ARCHITECTURE__.issues.push(s("__STACK_ARCHITECTURE__",`Critical DynamoDB table ${r} has ${a.dependents.length} dependents but no point-in-time recovery`,"Enable Point-in-Time Recovery (PITR) for critical DynamoDB tables used by multiple resources. This provides continuous backups with 35-day retention.","HIGH","Reliability","Stack Architecture","cdkInsights")))}}return n},fm=(e,t)=>{let s=e.Resources||{};if(Object.keys(s).length<3)return{};let r=hs(s),i=Wx(s),o={},a=[jx(s,t),$x(s,t),Ux(s,t),Gx(s,r,t)];for(let c of a)for(let[u,l]of Object.entries(c))o[u]||(o[u]={issues:[]}),o[u].issues.push(...l.issues);return o};var gm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudFront::Distribution")return s;let i=x(r,n);return r.Properties?.DistributionConfig?.DefaultCacheBehavior?.ViewerProtocolPolicy==="allow-all"&&(s[n]={issues:[t(n,"CloudFront distribution allows HTTP traffic (ViewerProtocolPolicy is allow-all).",'Set ViewerProtocolPolicy to "https-only" or "redirect-to-https" to enforce HTTPS and protect data in transit.',"HIGH","Security",i,"cdkInsights")]}),s},{});var hm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudFront::Distribution")return s;let i=x(r,n);return r.Properties?.DistributionConfig?.WebACLId||(s[n]={issues:[t(n,"CloudFront distribution has no WAF WebACL associated.","Associate a WAF WebACL to protect against common web exploits, SQL injection, XSS, and DDoS attacks.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var ym=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudFront::Distribution")return s;let i=x(r,n);return r.Properties?.DistributionConfig?.Logging?.Bucket||(s[n]={issues:[t(n,"CloudFront distribution does not have access logging enabled.","Enable access logging to an S3 bucket to track viewer requests for security analysis, auditing, and troubleshooting.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var qx=["SSLv3","TLSv1","TLSv1_2016","TLSv1.1_2016"],Dm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudFront::Distribution")return s;let i=x(r,n),a=r.Properties?.DistributionConfig?.ViewerCertificate,c=a?.MinimumProtocolVersion;return a?.CloudFrontDefaultCertificate||c&&qx.includes(c)&&(s[n]={issues:[t(n,`CloudFront distribution uses outdated TLS version (${c}).`,"Use TLSv1.2_2021 or later for improved security. Older TLS versions have known vulnerabilities.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var bm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Cognito::UserPool")return s;let i=[],o=x(r,n),a=r.Properties?.PasswordPolicy;if(!a)i.push(t(n,"Cognito User Pool has no password policy configured.","Configure a strong password policy with minimum length, uppercase, lowercase, numbers, and symbols requirements.","HIGH","Security",o,"cdkInsights"));else{let c=a.MinimumLength||8;c<12&&i.push(t(n,`Cognito password policy has minimum length of ${c} characters.`,"Set MinimumLength to at least 12 characters for stronger security against brute-force attacks.","MEDIUM","Security",o,"cdkInsights")),a.RequireSymbols===!1&&i.push(t(n,"Cognito password policy does not require symbols.","Enable RequireSymbols for stronger password complexity requirements.","LOW","Security",o,"cdkInsights"))}return i.length>0&&(s[n]={issues:i}),s},{});var vm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Cognito::UserPool")return s;let i=x(r,n),o=r.Properties?.MfaConfiguration;return(!o||o==="OFF")&&(s[n]={issues:[t(n,"Cognito User Pool has MFA disabled.","Enable MFA (OPTIONAL or ON) to add an extra layer of security for user authentication.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var Cm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Cognito::UserPool")return s;let i=x(r,n),o=r.Properties?.UserPoolAddOns?.AdvancedSecurityMode;return(!o||o==="OFF")&&(s[n]={issues:[t(n,"Cognito User Pool does not have advanced security features enabled.","Enable UserPoolAddOns with AdvancedSecurityMode set to AUDIT or ENFORCED to detect compromised credentials and block suspicious sign-ins.","LOW","Security",i,"cdkInsights")]}),s},{});var Sm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::DynamoDB::Table")return s;let i=r.Properties?.BillingMode,o=x(r,n);return(!i||i==="PROVISIONED")&&(s[n]={issues:[t(n,"DynamoDB table uses provisioned capacity without on-demand billing.","Consider using BillingMode: PAY_PER_REQUEST for automatic scaling and cost optimization, especially for unpredictable workloads. For predictable workloads, configure Application Auto Scaling.","MEDIUM","Cost Optimization",o,"cdkInsights")]}),s},{});var xm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::DynamoDB::Table"&&!r.Properties?.StreamSpecification&&(s[n]={issues:[t(n,"DynamoDB table does not have streams enabled.","Consider enabling DynamoDB Streams to capture item-level changes for analytics, auditing, event-driven architectures, and cross-region replication.","LOW","Operational Excellence",x(r,n),"cdkInsights")]}),s),{});var Fm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EC2::Volume")return s;let i=[],o=x(r,n),a=r.Properties??{};return a.Encrypted!==!0&&i.push(t(n,"EBS Volume is not encrypted.","Enable encryption on EBS volumes to protect data at rest. Use the Encrypted property and optionally specify a KmsKeyId.","HIGH","Security",o,"cdkInsights")),a.VolumeType==="gp2"&&i.push(t(n,"EBS Volume uses gp2 storage type.","Consider migrating to gp3 for up to 20% cost savings with better baseline performance (3,000 IOPS and 125 MB/s throughput).","MEDIUM","Cost Optimization",o,"cdkInsights")),i.length>0&&(s[n]={issues:i}),s},{});var Am=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::EC2::Instance"&&r.Properties?.InstanceType?.toString().startsWith("t2")&&(s[n]={issues:[t(n,"EC2 instance is using an older t2 instance. Consider upgrading to t3 for better performance and cost savings.","Upgrade to a t3 instance for improved performance, lower latency, and better cost efficiency.","MEDIUM","Cost Optimization",x(r,n),"cdkInsights")]}),s),{});var Em=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::EC2::NatGateway"&&(s[n]={issues:[t(n,"NAT Gateway detected. NAT Gateways incur hourly charges (~$0.045/hr) plus data processing fees (~$0.045/GB).","Consider alternatives like NAT instances for lower traffic, VPC endpoints for AWS services, or IPv6 egress-only internet gateways to reduce costs.","LOW","Cost Optimization",x(r,n),"cdkInsights")]}),s),{});var zx=[22,3389,3306,5432,1433,27017,6379],Hx=e=>e.CidrIp==="0.0.0.0/0"||e.CidrIpv6==="::/0",Vx=(e,t,s)=>t===void 0||s===void 0?!1:e>=t&&e<=s,wm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EC2::SecurityGroup")return s;let i=[],o=x(r,n),a=r.Properties?.SecurityGroupIngress||[],c=r.Properties?.SecurityGroupEgress||[],u=a.some(m=>m.CidrIp==="0.0.0.0/0"),l=a.some(m=>m.CidrIpv6==="::/0");u&&i.push(t(n,"Security Group allows unrestricted IPv4 ingress (0.0.0.0/0).","Restrict security group rules to specific IPs and ports.","HIGH","Security",o,"cdkInsights")),l&&i.push(t(n,"Security Group allows unrestricted IPv6 ingress (::/0).","Restrict security group rules to specific IPs and ports.","HIGH","Security",o,"cdkInsights"));for(let m of a)if(Hx(m)){for(let d of zx)if(Vx(d,m.FromPort,m.ToPort)){i.push(t(n,`Security Group exposes port ${d} to the internet.`,"Restrict access to management and database ports. Use bastion hosts, VPN, or AWS Systems Manager Session Manager instead.","CRITICAL","Security",o,"cdkInsights"));break}}return c.some(m=>m.CidrIp==="0.0.0.0/0")&&i.push(t(n,"Security Group allows unrestricted egress to 0.0.0.0/0.","Consider restricting egress rules to specific destinations for defense in depth.","LOW","Security",o,"cdkInsights")),a.length===0&&c.length===0&&i.push(t(n,"Security Group has no ingress or egress rules defined.","Review if this security group is in use. Empty security groups may indicate orphaned resources or misconfiguration.","LOW","Operational Excellence",o,"cdkInsights")),i.length>0&&(s[n]={issues:i}),s},{});var Kx=/(^|_)(secret|password|passwd|pwd|credential|private_key|api_key|api_secret|auth_token|access_key|access_secret|bearer_token|jwt_secret|encryption_key|signing_key)(_|$)/i,Rm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECS::TaskDefinition")return s;let i=[],o=x(r,n),a=r.Properties?.ContainerDefinitions||[];for(let c of a){let u=c.Environment||[];for(let l of u)Kx.test(l.Name||"")&&i.push(t(n,`ECS task definition has sensitive environment variable "${l.Name}" in plaintext.`,'Use AWS Secrets Manager or SSM Parameter Store with the "secrets" property instead of plaintext environment variables.',"HIGH","Security",o,"cdkInsights"))}return i.length>0&&(s[n]={issues:i}),s},{});var Tm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECS::TaskDefinition")return s;let i=[],o=x(r,n),a=r.Properties?.ContainerDefinitions||[];for(let c of a)c.LogConfiguration?.LogDriver||i.push(t(n,`ECS container "${c.Name||"unnamed"}" has no logging configuration.`,"Configure LogConfiguration with awslogs driver to send container logs to CloudWatch for monitoring and debugging.","MEDIUM","Operational Excellence",o,"cdkInsights"));return i.length>0&&(s[n]={issues:i}),s},{});var Im=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECS::TaskDefinition")return s;let i=[],o=x(r,n),a=r.Properties?.ContainerDefinitions||[];for(let c of a){let u=c.Memory||c.MemoryReservation,l=c.Cpu;!u&&!l&&i.push(t(n,`ECS container "${c.Name||"unnamed"}" has no CPU or memory limits defined.`,"Define CPU and Memory limits to prevent runaway containers and ensure predictable resource allocation.","LOW","Reliability",o,"cdkInsights"))}return i.length>0&&(s[n]={issues:i}),s},{});var km=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElasticLoadBalancingV2::LoadBalancer")return s;let i=x(r,n);return(r.Properties?.LoadBalancerAttributes||[]).some(c=>c.Key==="deletion_protection.enabled"&&c.Value==="true")||(s[n]={issues:[t(n,"Load Balancer does not have deletion protection enabled.","Enable deletion protection to prevent accidental deletion of the load balancer in production environments.","MEDIUM","Reliability",i,"cdkInsights")]}),s},{});var _m=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElasticLoadBalancingV2::LoadBalancer")return s;let i=x(r,n);return(r.Properties?.LoadBalancerAttributes||[]).some(c=>c.Key==="access_logs.s3.enabled"&&c.Value==="true")||(s[n]={issues:[t(n,"Load Balancer does not have access logging enabled.","Enable access logging to S3 for security analysis, auditing, and troubleshooting of traffic patterns.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var Pm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElasticLoadBalancingV2::Listener")return s;let i=x(r,n),o=r.Properties?.Protocol,a=r.Properties?.Port;return o==="HTTP"&&a!==80?s[n]={issues:[t(n,`Load Balancer listener uses HTTP protocol on port ${a}.`,"Use HTTPS protocol with a valid SSL certificate to encrypt traffic in transit.","HIGH","Security",i,"cdkInsights")]}:o==="HTTP"&&a===80&&((r.Properties?.DefaultActions||[]).some(l=>l.Type==="redirect"&&l.RedirectConfig?.Protocol==="HTTPS")||(s[n]={issues:[t(n,"Load Balancer HTTP listener on port 80 does not redirect to HTTPS.","Configure the HTTP listener to redirect to HTTPS to ensure encrypted traffic.","MEDIUM","Security",i,"cdkInsights")]})),s},{});var Zx=["ELBSecurityPolicy-2016-08","ELBSecurityPolicy-TLS-1-0-2015-04","ELBSecurityPolicy-TLS-1-1-2017-01","ELBSecurityPolicy-2015-05"],Lm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElasticLoadBalancingV2::Listener")return s;let i=x(r,n),o=r.Properties?.Protocol,a=r.Properties?.SslPolicy;return o!=="HTTPS"&&o!=="TLS"||a&&Zx.includes(a)&&(s[n]={issues:[t(n,`Load Balancer listener uses outdated security policy (${a}).`,"Use ELBSecurityPolicy-TLS13-1-2-2021-06 or later for TLS 1.3 support, or at minimum ELBSecurityPolicy-TLS-1-2-2017-01 for TLS 1.2.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var Om=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::Events::Rule"&&r.Properties?.State!=="ENABLED"&&(s[n]={issues:[t(n,"EventBridge rule is disabled or not explicitly enabled.","Ensure the EventBridge rule State is set to ENABLED to trigger events as expected.","MEDIUM","Operational Excellence",x(r,n),"cdkInsights")]}),s),{});var Bm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::IAM::Policy"&&r.Type!=="AWS::IAM::Role")return s;let i=r.Properties?.Policies,o=[];if(Array.isArray(i))for(let u of i)u?.PolicyDocument&&o.push(u.PolicyDocument);let a=r.Properties?.PolicyDocument;a&&o.push(a);let c=[];for(let u of o){if(!u?.Statement)continue;let l=u.Statement;for(let p of l)if(p.Effect==="Allow"){let m=p.Action,d=p.Resource,f=m==="*"||Array.isArray(m)&&m.includes("*"),g=d==="*"||Array.isArray(d)&&d.includes("*");f&&g?c.push(t(n,"IAM policy allows all actions (*) on all resources (*). This grants administrative access.","Restrict both actions and resources to follow the principle of least privilege.","CRITICAL","Security",n,"cdkInsights")):f?c.push(t(n,"IAM policy allows all actions (*). This is overly permissive.","Specify only the required actions instead of using wildcards.","CRITICAL","Security",n,"cdkInsights")):g&&c.push(t(n,"IAM policy allows actions on all resources (*). This is overly permissive.","Restrict resources to specific ARNs instead of using wildcards.","HIGH","Security",n,"cdkInsights"))}}return c.length>0&&(s[n]={issues:c}),s},{});var Nm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::IAM::Role")return s;let i=x(r,n);return r.Properties?.PermissionsBoundary||(s[n]={issues:[t(n,"IAM Role has no permission boundary configured.","Consider using permission boundaries to limit the maximum permissions for delegated access and prevent privilege escalation.","LOW","Security",i,"cdkInsights")]}),s},{});var Mm=/^\d{12}$/,Wm=/arn:aws:iam::(\d{12}):root/,Jx=e=>{if(!e)return[];if(typeof e=="string"){if(Mm.test(e))return[e];let t=e.match(Wm);return t?[t[1]]:[]}return typeof e=="object"&&e.AWS?(Array.isArray(e.AWS)?e.AWS:[e.AWS]).flatMap(s=>{if(Mm.test(s))return[s];let n=s.match(Wm);return n?[n[1]]:[]}):[]},jm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::IAM::Role")return s;let i=[],o=x(r,n),a=r.Properties?.AssumeRolePolicyDocument;if(a?.Statement){for(let c of a.Statement)if(c.Effect==="Allow"){let u=Jx(c.Principal);for(let l of u)i.push(t(n,`IAM Role allows cross-account trust from account ${l}.`,"Verify this cross-account trust relationship is intentional and the external account is trusted. Consider adding conditions to restrict access.","MEDIUM","Security",o,"cdkInsights"))}}return i.length>0&&(s[n]={issues:i}),s},{});var Yx=e=>typeof e=="string"?e==="*":typeof e=="object"?Object.values(e).some(t=>Array.isArray(t)?t.includes("*"):t==="*"):!1,$m=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>((r.Type==="AWS::KMS::Key"&&Array.isArray(r.Properties?.KeyPolicy?.Statement)?r.Properties.KeyPolicy.Statement:[]).some(a=>Yx(a.Principal))&&(s[n]={issues:[t(n,"KMS key has a public policy.","Restrict the KMS key policy to specific IAM roles or users to prevent unauthorized access.","CRITICAL","Security",x(r,n),"cdkInsights")]}),s),{});var Qx=/\b(secret|password|passwd|pwd|credential|private_key|api_key|api_secret|auth_token|access_key|access_secret|bearer_token|jwt_secret|encryption_key|signing_key)\b/i,Um=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type==="AWS::Lambda::Function"){let i=Object.entries(r.Properties?.Environment?.Variables||{}).filter(([o])=>Qx.test(o)).map(([o])=>t(n,`Lambda function contains sensitive environment variable: ${o}.`,"Store sensitive environment variables in AWS Secrets Manager or SSM Parameter Store instead of plaintext environment variables.","HIGH","Security",x(r,n),"cdkInsights"));i.length>0&&(s[n]={issues:i})}return s},{});var Gm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type==="AWS::Lambda::Function"){let i=r.Properties?.MemorySize;typeof i=="number"&&i>1024&&(s[n]={issues:[t(n,"Lambda function has high memory allocation.","Consider reducing memory for cost savings.","MEDIUM","Cost Optimization",x(r,n),"cdkInsights")]})}return s},{});var qm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Lambda::Function")return s;let i=x(r,n);return r.Properties?.ReservedConcurrentExecutions===void 0&&(s[n]={issues:[t(n,"Lambda function has no reserved concurrency configured.","Consider setting ReservedConcurrentExecutions to prevent the function from consuming all available account concurrency and to control scaling behavior.","LOW","Reliability",i,"cdkInsights")]}),s},{});var zm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Lambda::Function")return s;let i=x(r,n);return r.Properties?.DeadLetterConfig?.TargetArn||(s[n]={issues:[t(n,"Lambda function has no Dead Letter Queue configured.","Configure a Dead Letter Queue (SQS or SNS) to capture failed async invocations for debugging, monitoring, and retry processing.","MEDIUM","Reliability",i,"cdkInsights")]}),s},{});var Hm=(e,t)=>Object.values(e.Resources||{}).some(n=>n.Type==="AWS::EC2::NatGateway")?Object.entries(e.Resources||{}).reduce((n,[r,i])=>{if(i.Type!=="AWS::Lambda::Function")return n;let o=x(i,r),a=i.Properties?.VpcConfig;return a?.SubnetIds&&a.SubnetIds.length>0&&(n[r]={issues:[t(r,"Lambda function in VPC with NAT Gateway detected. NAT Gateway costs can accumulate quickly.","Evaluate if VPC attachment is necessary. Consider using VPC endpoints for AWS services to reduce NAT costs. NAT Gateway charges ~$0.045/hr plus $0.045/GB processed.","MEDIUM","Cost Optimization",o,"cdkInsights")]}),n},{}):{};var Vm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::RDS::DBInstance"&&r.Properties?.StorageEncrypted!==!0&&(s[n]={issues:[t(n,"RDS instance is not encrypted.","Enable encryption to protect data at rest and meet compliance standards.","CRITICAL","Security",x(r,n),"cdkInsights")]}),s),{});var Km=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::RDS::DBInstance")return s;let i=r.Properties??{},o=i.MultiAZ===!0,a=i.StorageType==="gp2",c=typeof i.StorageType>"u";return o&&(a||c)&&(s[n]={issues:[t(n,a?"RDS instance is using Multi-AZ with gp2 storage. Consider gp3 for lower costs.":"RDS instance is using Multi-AZ without explicitly setting a storage type. gp3 may offer better performance and cost savings.","Switch to gp3 storage for RDS to reduce costs and improve performance.","MEDIUM","Cost Optimization",x(r,n),"cdkInsights")]}),s},{});var Zm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::RDS::DBInstance")return s;let i=x(r,n);return r.Properties?.PubliclyAccessible===!0&&(s[n]={issues:[t(n,"RDS instance is publicly accessible from the internet.","Set PubliclyAccessible to false and access the database through private subnets, bastion hosts, or VPN.","CRITICAL","Security",i,"cdkInsights")]}),s},{});var Jm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::RDS::DBInstance")return s;let i=x(r,n),o=r.Properties?.BackupRetentionPeriod;return o===0?s[n]={issues:[t(n,"RDS instance has automated backups disabled (BackupRetentionPeriod is 0).","Enable automated backups with at least 7 days retention for production databases to enable point-in-time recovery.","HIGH","Reliability",i,"cdkInsights")]}:o!==void 0&&o<7&&(s[n]={issues:[t(n,`RDS backup retention period is only ${o} day(s).`,"Consider increasing backup retention to at least 7 days for production databases.","MEDIUM","Reliability",i,"cdkInsights")]}),s},{});var Ym=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::RDS::DBInstance")return s;let i=x(r,n);return r.Properties?.DeletionProtection!==!0&&(s[n]={issues:[t(n,"RDS instance does not have deletion protection enabled.","Enable DeletionProtection to prevent accidental database deletion.","MEDIUM","Reliability",i,"cdkInsights")]}),s},{});var Qm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::S3::Bucket")return s;let i=[],o=r.Properties??{},a=x(r,n);o.BucketEncryption||i.push(t(n,"S3 Bucket lacks encryption.","Enable encryption at rest for better security.","HIGH","Security",a,"cdkInsights"));let c=o?.PublicAccessBlockConfiguration;return c?(c.BlockPublicAcls===!1&&i.push(t(n,"S3 Bucket allows public ACLs (BlockPublicAcls is false).","Set BlockPublicAcls to true to prevent public ACLs from being applied.","CRITICAL","Security",a,"cdkInsights")),c.BlockPublicPolicy===!1&&i.push(t(n,"S3 Bucket allows public bucket policies (BlockPublicPolicy is false).","Set BlockPublicPolicy to true to prevent public bucket policies.","CRITICAL","Security",a,"cdkInsights")),c.IgnorePublicAcls===!1&&i.push(t(n,"S3 Bucket does not ignore public ACLs (IgnorePublicAcls is false).","Set IgnorePublicAcls to true to ignore any public ACLs on the bucket.","HIGH","Security",a,"cdkInsights")),c.RestrictPublicBuckets===!1&&i.push(t(n,"S3 Bucket does not restrict public bucket access (RestrictPublicBuckets is false).","Set RestrictPublicBuckets to true to restrict access to the bucket to only authorized users.","HIGH","Security",a,"cdkInsights"))):i.push(t(n,"S3 Bucket has no PublicAccessBlockConfiguration defined.","Configure PublicAccessBlockConfiguration with BlockPublicAcls, BlockPublicPolicy, IgnorePublicAcls, and RestrictPublicBuckets all set to true.","HIGH","Security",a,"cdkInsights")),o.VersioningConfiguration||i.push(t(n,"S3 Bucket has no versioning enabled.","Enable versioning to protect against accidental deletions.","MEDIUM","Operational Excellence",a,"cdkInsights")),i.length>0&&(s[n]={issues:i}),s},{});var Xm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::S3::Bucket"&&!r.Properties?.IntelligentTieringConfigurations&&(s[n]={issues:[t(n,"S3 Bucket does not use Intelligent-Tiering. Consider enabling it for cost optimization.","Enable Intelligent-Tiering for automatic cost optimization of infrequently accessed objects.","LOW","Cost Optimization",x(r,n),"cdkInsights")]}),s),{});var ef=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::S3::Bucket")return s;let i=x(r,n);return(r.Properties?.LifecycleConfiguration?.Rules||[]).length===0&&(s[n]={issues:[t(n,"S3 bucket has no lifecycle policy configured.","Configure lifecycle rules to automatically transition objects to cheaper storage classes (e.g., Glacier) or delete old versions to optimize storage costs.","MEDIUM","Cost Optimization",i,"cdkInsights")]}),s},{});var Xx=/\b(prod|production|critical|backup|dr|disaster|recovery|primary)\b/i,tf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::S3::Bucket")return s;let i=x(r,n),o=r.Properties?.BucketName||n,a=r.Properties?.ReplicationConfiguration;return Xx.test(o)&&!a?.Rules?.length&&(s[n]={issues:[t(n,"Critical S3 bucket does not have cross-region replication configured.","Consider enabling cross-region replication for disaster recovery and data durability on production/critical buckets.","LOW","Reliability",i,"cdkInsights")]}),s},{});var sf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{let i=r.Properties??{};return r.Type==="AWS::SecretsManager::Secret"&&i.PublicPolicy&&(s[n]={issues:[t(n,"Secret is publicly accessible.","Restrict secret access using IAM policies to ensure only authorized entities can retrieve it.","CRITICAL","Security",x(r,n),"cdkInsights")]}),s},{});var nf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::SNS::Topic"&&!r.Properties?.KmsMasterKeyId&&(s[n]={issues:[t(n,"SNS topic is not encrypted.","Enable AWS KMS encryption for SNS to protect sensitive messages in transit and at rest.","HIGH","Security",x(r,n),"cdkInsights")]}),s),{});var rf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::SQS::Queue"&&!r.Properties?.KmsMasterKeyId&&(s[n]={issues:[t(n,"SQS queue is not encrypted.","Enable AWS KMS encryption for SQS to protect message data in transit and at rest.","HIGH","Security",x(r,n),"cdkInsights")]}),s),{});var of=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::StepFunctions::StateMachine"&&r.Properties?.LoggingConfiguration===void 0&&(s[n]={issues:[t(n,"Step Function lacks logging configuration.","Enable logging for the Step Function using AWS CloudWatch to improve monitoring and debugging.","HIGH","Security",x(r,n),"cdkInsights")]}),s),{});var e0=e=>Object.values(e.Resources||{}).some(t=>t.Type==="Custom::S3BucketNotifications"),af=e=>Object.values(e.Resources||{}).some(t=>t.Type==="AWS::Lambda::EventSourceMapping"),cf=e=>Object.values(e.Resources||{}).some(t=>t.Type==="AWS::Events::Rule"),uf=(e,t)=>Object.values(e.Resources||{}).some(s=>s.Type!=="AWS::ElasticLoadBalancingV2::Listener"?!1:(s.Properties?.DefaultActions||s.Properties?.Actions)?.some(r=>r.TargetGroupArn?.startsWith(t))),t0=e=>Object.values(e.Resources||{}).some(t=>t.Type==="AWS::Lambda::Permission"&&t.Properties?.Principal==="apigateway.amazonaws.com"),ui=(e,t)=>Object.values(e.Resources||{}).some(s=>s.Type==="AWS::ApiGateway::Integration"&&typeof s.Properties?.Uri=="string"&&s.Properties.Uri.includes(t)),sr=(e,t)=>Object.values(e.Resources||{}).some(s=>s.Type==="AWS::IoT::TopicRule"&&s.Properties?.TopicRulePayload?.actions?.some(n=>Object.hasOwn(n,t))),s0=e=>Object.values(e.Resources||{}).some(t=>t.Type==="AWS::ECS::Service"),lf=(e,t)=>Object.values(e.Resources||{}).some(s=>s.Type==="AWS::SNS::Subscription"&&s.Properties?.Protocol===t),pf=(e,t)=>{let s=[],n={},r={};for(let[o,a]of Object.entries(t)){let c=a.requiredResourceTypes||[];if(c.length!==0){r[o]=c.length;for(let u of c)n[u]||(n[u]=[]),n[u].push(o)}}let i={};for(let o of Object.values(e.Resources||{})){let a=o.Type,c=n[a];if(c){for(let u of c)if(i[u]=(i[u]||0)+1,i[u]===r[u]){let l=t[u],p=!0;switch(u){case"aws-s3-lambda":p=e0(e)||af(e);break;case"aws-dynamodbstreams-lambda":p=af(e);break;case"aws-eventbridge-lambda":p=cf(e);break;case"aws-alb-fargate":p=uf(e,"arn:aws:ecs:");break;case"aws-alb-lambda":p=uf(e,"arn:aws:lambda:");break;case"aws-apigateway-lambda":p=t0(e);break;case"aws-apigateway-sqs":p=ui(e,"sqs");break;case"aws-apigateway-dynamodb":p=ui(e,"dynamodb");break;case"aws-apigateway-kinesisstreams":p=ui(e,"kinesis");break;case"aws-apigateway-sagemakerendpoint":p=ui(e,"sagemaker");break;case"aws-iot-lambda":p=sr(e,"lambda");break;case"aws-iot-kinesisstreams":p=sr(e,"kinesis");break;case"aws-iot-kinesisfirehose-s3":p=sr(e,"firehose");break;case"aws-iot-sqs":p=sr(e,"sqs");break;case"aws-iot-s3":p=sr(e,"s3");break;case"aws-sns-lambda":p=lf(e,"lambda");break;case"aws-sns-sqs":p=lf(e,"sqs");break;case"aws-fargate-dynamodb":case"aws-fargate-eventbridge":case"aws-fargate-kinesisfirehose":case"aws-fargate-kinesisstreams":case"aws-fargate-opensearch":case"aws-fargate-s3":case"aws-fargate-secretsmanager":case"aws-fargate-sns":case"aws-fargate-sqs":case"aws-fargate-ssmstringparameter":case"aws-fargate-stepfunctions":p=s0(e);break;case"aws-eventbridge-kinesisfirehose-s3":case"aws-eventbridge-kinesisstreams":case"aws-eventbridge-sns":case"aws-eventbridge-sqs":case"aws-eventbridge-stepfunctions":p=cf(e);break}if(!p)continue;s.push({resourceId:l.className,issue:`Possible Pattern detected: ${l.friendlyName}`,recommendation:`Consider using the AWS Solutions Construct \`${l.className}\` from \`@aws-solutions-constructs/${u}\`.`,severity:"LOW",wafPillar:"Operational Excellence",docUrl:l.documentationUrl,githubUrl:l.githubUrl,constructPath:l.className,foundBy:"cdkInsights"}),delete r[u]}}}return s};var df=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::WAFv2::WebACL")return s;let i=x(r,n),o=[],a=r.Properties?.DefaultAction;a?.Allow&&!a?.Block&&o.push(t(n,"WAF WebACL has default action set to Allow, which permits all traffic not matching rules.","Consider setting the default action to Block and explicitly allowing known-good traffic patterns for defense-in-depth.","MEDIUM","Security",i,"cdkInsights")),r.Properties?.VisibilityConfig?.CloudWatchMetricsEnabled||o.push(t(n,"WAF WebACL does not have CloudWatch metrics enabled.","Enable CloudWatchMetricsEnabled in VisibilityConfig to monitor WAF activity and detect potential attacks.","MEDIUM","Security",i,"cdkInsights"));let u=r.Properties?.Rules;return(!u||u.length===0)&&o.push(t(n,"WAF WebACL has no rules defined.","Add WAF rules to protect against common web exploits like SQL injection, XSS, and bot traffic.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var mf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::WAFv2::WebACL"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::WAFv2::LoggingConfiguration"),r=new Set(n.map(([,i])=>{let o=i.Properties?.ResourceArn;return typeof o=="string"?o:o?.Ref?o.Ref:o?.["Fn::GetAtt"]?.[0]?o["Fn::GetAtt"][0]:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=x(a,o);return r.has(o)||n.some(([,l])=>{let p=l.Properties?.ResourceArn;return typeof p=="object"&&(p?.Ref===o||p?.["Fn::GetAtt"]?.[0]===o)})||(i[o]={issues:[t(o,"WAF WebACL does not have logging configured.","Enable WAF logging to capture detailed information about web requests for security analysis and compliance.","MEDIUM","Security",c,"cdkInsights")]}),i},{})};var ff=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Logs::LogGroup")return s;let i=x(r,n);return r.Properties?.RetentionInDays===void 0&&(s[n]={issues:[t(n,"CloudWatch Log Group has no retention period set (logs retained indefinitely).","Set RetentionInDays to control storage costs. Consider 30-90 days for operational logs, longer for compliance requirements.","MEDIUM","Cost Optimization",i,"cdkInsights")]}),s},{});var gf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Logs::LogGroup")return s;let i=x(r,n);return r.Properties?.KmsKeyId||(s[n]={issues:[t(n,"CloudWatch Log Group is not encrypted with a customer-managed KMS key.","Enable KMS encryption using KmsKeyId to protect sensitive log data at rest with customer-managed keys.","LOW","Security",i,"cdkInsights")]}),s},{});var hf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudWatch::Alarm")return s;let i=x(r,n),o=[],a=r.Properties?.AlarmActions,c=r.Properties?.OKActions,u=r.Properties?.InsufficientDataActions;return(!a||a.length===0)&&o.push(t(n,"CloudWatch Alarm has no alarm actions configured.","Add AlarmActions (SNS topic, Lambda, etc.) to receive notifications when the alarm state changes to ALARM.","MEDIUM","Operational Excellence",i,"cdkInsights")),r.Properties?.TreatMissingData||o.push(t(n,"CloudWatch Alarm does not specify how to treat missing data.","Set TreatMissingData to define alarm behavior when data points are missing (missing, ignore, breaching, or notBreaching).","LOW","Operational Excellence",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var yf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Route53::HostedZone"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Route53::DNSSEC"),r=new Set(n.map(([,i])=>{let o=i.Properties?.HostedZoneId;return typeof o=="string"?o:o?.Ref?o.Ref:null}).filter(Boolean));return s.reduce((i,[o,a])=>{if(a.Properties?.HostedZoneConfig?.Comment?.includes("private"))return i;let c=x(a,o);return r.has(o)||(i[o]={issues:[t(o,"Route53 Hosted Zone does not have DNSSEC signing enabled.","Enable DNSSEC to protect against DNS spoofing and cache poisoning attacks by cryptographically signing DNS records.","LOW","Security",c,"cdkInsights")]}),i},{})};var Df=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Route53::HealthCheck")return s;let i=x(r,n),o=[],a=r.Properties?.HealthCheckConfig;return a?.Type==="HTTP"&&o.push(t(n,"Route53 Health Check uses HTTP instead of HTTPS.","Use HTTPS for health checks to ensure the endpoint supports secure connections and to validate SSL certificates.","LOW","Security",i,"cdkInsights")),a?.RequestInterval===30&&o.push(t(n,"Route53 Health Check uses standard (30 second) request interval.","Consider using fast interval (10 seconds) for critical endpoints to detect failures more quickly.","LOW","Reliability",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var bf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Route53::HostedZone"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Route53::QueryLoggingConfig"),r=new Set(n.map(([,i])=>{let o=i.Properties?.HostedZoneId;return typeof o=="string"?o:o?.Ref?o.Ref:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=x(a,o);return r.has(o)||(i[o]={issues:[t(o,"Route53 Hosted Zone does not have query logging enabled.","Enable query logging to CloudWatch Logs for DNS query analysis, troubleshooting, and security monitoring.","LOW","Security",c,"cdkInsights")]}),i},{})};var vf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElastiCache::ReplicationGroup"&&r.Type!=="AWS::ElastiCache::CacheCluster")return s;let i=x(r,n),o=[];return r.Properties?.AtRestEncryptionEnabled!==!0&&o.push(t(n,"ElastiCache cluster does not have encryption at rest enabled.","Enable AtRestEncryptionEnabled to protect cached data at rest using AWS-managed or customer-managed keys.","HIGH","Security",i,"cdkInsights")),r.Properties?.TransitEncryptionEnabled!==!0&&o.push(t(n,"ElastiCache cluster does not have encryption in transit enabled.","Enable TransitEncryptionEnabled to protect data during transfer between clients and the cache.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Cf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElastiCache::ReplicationGroup")return s;let i=x(r,n),o=[],a=r.Properties?.AuthToken,c=r.Properties?.TransitEncryptionEnabled;return!a&&c===!0&&o.push(t(n,"ElastiCache Redis cluster has transit encryption but no AUTH token configured.","Set AuthToken to require authentication for Redis connections, providing an additional security layer.","MEDIUM","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Sf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElastiCache::ReplicationGroup")return s;let i=x(r,n),o=[],a=r.Properties?.AutomaticFailoverEnabled,c=r.Properties?.NumNodeGroups||1,u=r.Properties?.ReplicasPerNodeGroup||0;return a!==!0&&(c>1||u>0)&&o.push(t(n,"ElastiCache replication group has replicas but automatic failover is not enabled.","Enable AutomaticFailoverEnabled to automatically promote a replica to primary if the primary node fails.","MEDIUM","Reliability",i,"cdkInsights")),r.Properties?.MultiAZEnabled!==!0&&a===!0&&o.push(t(n,"ElastiCache replication group has automatic failover but Multi-AZ is not enabled.","Enable MultiAZEnabled to distribute nodes across availability zones for higher availability.","MEDIUM","Reliability",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var xf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECR::Repository")return s;let i=x(r,n),o=[];return r.Properties?.ImageScanningConfiguration?.ScanOnPush!==!0&&o.push(t(n,"ECR repository does not have image scanning on push enabled.","Enable ScanOnPush in ImageScanningConfiguration to automatically scan images for vulnerabilities when pushed.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Ff=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECR::Repository")return s;let i=x(r,n);return r.Properties?.LifecyclePolicy?.LifecyclePolicyText||(s[n]={issues:[t(n,"ECR repository does not have a lifecycle policy configured.","Add a lifecycle policy to automatically clean up old or untagged images and reduce storage costs.","MEDIUM","Cost Optimization",i,"cdkInsights")]}),s},{});var Af=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECR::Repository")return s;let i=x(r,n);return r.Properties?.ImageTagMutability!=="IMMUTABLE"&&(s[n]={issues:[t(n,"ECR repository allows mutable image tags.","Set ImageTagMutability to IMMUTABLE to prevent image tags from being overwritten, ensuring deployment consistency.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var Ef=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::OpenSearchService::Domain"&&r.Type!=="AWS::Elasticsearch::Domain")return s;let i=x(r,n),o=[];return r.Properties?.EncryptionAtRestOptions?.Enabled!==!0&&o.push(t(n,"OpenSearch domain does not have encryption at rest enabled.","Enable EncryptionAtRestOptions to protect indexed data at rest using AWS KMS.","HIGH","Security",i,"cdkInsights")),r.Properties?.NodeToNodeEncryptionOptions?.Enabled!==!0&&o.push(t(n,"OpenSearch domain does not have node-to-node encryption enabled.","Enable NodeToNodeEncryptionOptions to encrypt data in transit between nodes within the cluster.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var wf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::OpenSearchService::Domain"&&r.Type!=="AWS::Elasticsearch::Domain")return s;let i=x(r,n),o=[];r.Properties?.AdvancedSecurityOptions?.Enabled!==!0&&o.push(t(n,"OpenSearch domain does not have fine-grained access control enabled.","Enable AdvancedSecurityOptions to use IAM or internal user database for document-level and field-level security.","MEDIUM","Security",i,"cdkInsights"));let c=r.Properties?.VPCOptions;return(!c?.SubnetIds||c.SubnetIds.length===0)&&o.push(t(n,"OpenSearch domain is not deployed within a VPC.","Configure VPCOptions with subnet IDs to deploy the domain within a VPC for network isolation.","MEDIUM","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Rf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::OpenSearchService::Domain"&&r.Type!=="AWS::Elasticsearch::Domain")return s;let i=x(r,n),o=[],a=r.Properties?.LogPublishingOptions;return a?.AUDIT_LOGS?.Enabled||o.push(t(n,"OpenSearch domain does not have audit logging enabled.","Enable AUDIT_LOGS in LogPublishingOptions to track user activity for security and compliance monitoring.","LOW","Security",i,"cdkInsights")),a?.ES_APPLICATION_LOGS?.Enabled||o.push(t(n,"OpenSearch domain does not have application logging enabled.","Enable ES_APPLICATION_LOGS in LogPublishingOptions to capture error logs for troubleshooting.","LOW","Operational Excellence",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Tf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CertificateManager::Certificate")return s;let i=x(r,n),o=[];return r.Properties?.ValidationMethod==="EMAIL"&&o.push(t(n,"ACM certificate uses email validation instead of DNS validation.","Use DNS validation for automated certificate renewal. Email validation requires manual intervention for renewals.","LOW","Operational Excellence",i,"cdkInsights")),r.Properties?.CertificateTransparencyLoggingPreference==="DISABLED"&&o.push(t(n,"ACM certificate has certificate transparency logging disabled.","Enable certificate transparency logging for security monitoring and to detect misissued certificates.","LOW","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var If=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Backup::BackupPlan")return s;let i=x(r,n),o=[],c=r.Properties?.BackupPlan?.BackupPlanRule||[];for(let u of c){(u.CopyActions||[]).length===0&&o.push(t(n,`Backup rule "${u.RuleName||"unnamed"}" does not have cross-region copy configured.`,"Add CopyActions to replicate backups to another region for disaster recovery.","LOW","Reliability",i,"cdkInsights"));let p=u.Lifecycle;!p?.DeleteAfterDays&&!p?.MoveToColdStorageAfterDays&&o.push(t(n,`Backup rule "${u.RuleName||"unnamed"}" has no lifecycle configuration.`,"Set DeleteAfterDays or MoveToColdStorageAfterDays to manage backup retention and costs.","LOW","Cost Optimization",i,"cdkInsights"))}return o.length>0&&(s[n]={issues:o}),s},{});var kf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Backup::BackupVault"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Backup::BackupVaultLock"),r=new Set(n.map(([,i])=>{let o=i.Properties?.BackupVaultName;return typeof o=="string"?o:typeof o=="object"&&o?.Ref?o.Ref:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=x(a,o),u=[];a.Properties?.EncryptionKeyArn||u.push(t(o,"Backup vault uses default AWS-managed encryption key.","Specify a customer-managed KMS key using EncryptionKeyArn for additional control over encryption.","LOW","Security",c,"cdkInsights"));let p=a.Properties?.BackupVaultName,m=typeof p=="string"?p:typeof p=="object"?p?.Ref:void 0;return r.has(o)||m&&r.has(m)||u.push(t(o,"Backup vault does not have a vault lock configured.","Add a BackupVaultLock to enforce retention policies and prevent backup deletion for compliance requirements.","LOW","Security",c,"cdkInsights")),u.length>0&&(i[o]={issues:u}),i},{})};var _f=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::EC2::VPC"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::EC2::FlowLog"),r=new Set(n.filter(([,i])=>i.Properties?.ResourceType==="VPC").map(([,i])=>{let o=i.Properties?.ResourceId;return typeof o=="string"?o:o?.Ref?o.Ref:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=x(a,o);return r.has(o)||(i[o]={issues:[t(o,"VPC does not have flow logs enabled.","Enable VPC Flow Logs to capture network traffic information for security analysis and troubleshooting.","MEDIUM","Security",c,"cdkInsights")]}),i},{})};var Pf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EC2::SecurityGroup")return s;let i=x(r,n);if(r.Properties?.GroupName==="default"){let a=r.Properties?.SecurityGroupIngress||[],c=r.Properties?.SecurityGroupEgress||[];(a.length>0||c.length>0)&&(s[n]={issues:[t(n,"VPC default security group has rules configured.","Remove all rules from the default security group and use custom security groups instead. Default groups cannot be deleted but should have no rules.","MEDIUM","Security",i,"cdkInsights")]})}return s},{});var Lf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Kinesis::Stream")return s;let i=x(r,n),o=[],a=r.Properties?.StreamEncryption;return(!a?.EncryptionType||a.EncryptionType==="NONE")&&o.push(t(n,"Kinesis Data Stream does not have server-side encryption enabled.","Enable StreamEncryption with EncryptionType KMS to protect data at rest.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Of=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Kinesis::Stream")return s;let i=x(r,n),o=[];r.Properties?.RetentionPeriodHours===24&&o.push(t(n,"Kinesis Data Stream uses minimum retention period (24 hours).","Consider increasing RetentionPeriodHours for applications that need to replay or reprocess data during failures.","LOW","Reliability",i,"cdkInsights"));let c=r.Properties?.StreamModeDetails?.StreamMode;return o.length>0&&(s[n]={issues:o}),s},{});var Bf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::AppSync::GraphQLApi")return s;let i=x(r,n),o=[],a=r.Properties?.AuthenticationType;a==="API_KEY"&&o.push(t(n,"AppSync API uses API key authentication.","Consider using AWS_IAM, AMAZON_COGNITO_USER_POOLS, or OPENID_CONNECT for production workloads. API keys are best for development or public read-only access.","MEDIUM","Security",i,"cdkInsights"));let c=r.Properties?.AdditionalAuthenticationProviders;return a!=="AWS_IAM"&&(!c||c.length===0)&&o.push(t(n,"AppSync API does not have multiple authentication providers configured.","Consider adding AdditionalAuthenticationProviders for flexibility in authenticating different client types.","LOW","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Nf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::AppSync::GraphQLApi")return s;let i=x(r,n),o=[],a=r.Properties?.LogConfig;return a?a.FieldLogLevel==="NONE"&&o.push(t(n,"AppSync API has field-level logging disabled.","Set FieldLogLevel to ERROR or ALL to capture GraphQL resolver execution details.","LOW","Operational Excellence",i,"cdkInsights")):o.push(t(n,"AppSync API does not have logging configured.","Enable LogConfig to capture request/response logs in CloudWatch for debugging and monitoring.","MEDIUM","Operational Excellence",i,"cdkInsights")),r.Properties?.XrayEnabled!==!0&&o.push(t(n,"AppSync API does not have X-Ray tracing enabled.","Enable XrayEnabled for distributed tracing and performance analysis.","LOW","Operational Excellence",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Mf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::AppSync::GraphQLApi"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::WAFv2::WebACLAssociation"),r=new Set(n.map(([,i])=>{let o=i.Properties?.ResourceArn;return typeof o=="string"?o:o?.["Fn::GetAtt"]?.[0]?o["Fn::GetAtt"][0]:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=x(a,o);return r.has(o)||(i[o]={issues:[t(o,"AppSync API does not have AWS WAF protection.","Associate a WAF WebACL to protect against common web exploits and control access to the API.","MEDIUM","Security",c,"cdkInsights")]}),i},{})};var Wf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EKS::Cluster")return s;let i=x(r,n),o=[],a=r.Properties?.ResourcesVpcConfig,c=a?.EndpointPublicAccess,u=a?.EndpointPrivateAccess,l=a?.PublicAccessCidrs;return c===!0&&u!==!0&&o.push(t(n,"EKS cluster has only public endpoint access enabled.","Enable EndpointPrivateAccess to allow communication between nodes and the API server within the VPC.","MEDIUM","Security",i,"cdkInsights")),c===!0&&(!l||l.length===0||l.includes("0.0.0.0/0"))&&o.push(t(n,"EKS cluster public endpoint is accessible from the internet (0.0.0.0/0).","Restrict PublicAccessCidrs to specific IP ranges that need to access the Kubernetes API.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var jf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EKS::Cluster")return s;let i=x(r,n),o=[];return r.Properties?.EncryptionConfig?.some(u=>u.Resources?.includes("secrets"))||o.push(t(n,"EKS cluster does not have Kubernetes secrets encryption enabled.","Configure EncryptionConfig with a KMS key to encrypt secrets stored in etcd.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var $f=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EKS::Cluster")return s;let i=x(r,n),o=[],c=r.Properties?.Logging?.ClusterLogging?.EnabledTypes||[],u=c.map(m=>m.Type).filter(m=>!!m),p=["api","audit","authenticator","controllerManager","scheduler"].filter(m=>!u.includes(m));return p.length>0&&o.push(t(n,`EKS cluster is missing control plane logging for: ${p.join(", ")}.`,"Enable all control plane log types (api, audit, authenticator, controllerManager, scheduler) for comprehensive cluster monitoring.","MEDIUM","Operational Excellence",i,"cdkInsights")),c.length===0?(s[n]={issues:[t(n,"EKS cluster does not have any control plane logging enabled.","Enable control plane logging to CloudWatch for audit trails and troubleshooting Kubernetes API issues.","MEDIUM","Security",i,"cdkInsights")]},s):(o.length>0&&(s[n]={issues:o}),s)},{});var Uf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Redshift::Cluster")return s;let i=x(r,n),o=[];return r.Properties?.Encrypted!==!0&&o.push(t(n,"Redshift cluster does not have encryption at rest enabled.","Set Encrypted to true and specify a KmsKeyId to protect data at rest.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Gf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Redshift::Cluster")return s;let i=x(r,n);return r.Properties?.PubliclyAccessible===!0&&(s[n]={issues:[t(n,"Redshift cluster is publicly accessible.","Set PubliclyAccessible to false and use VPC endpoints or bastion hosts for secure access.","CRITICAL","Security",i,"cdkInsights")]}),s},{});var qf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Redshift::Cluster")return s;let i=x(r,n);return r.Properties?.LoggingProperties?.BucketName||(s[n]={issues:[t(n,"Redshift cluster does not have audit logging enabled.","Configure LoggingProperties with an S3 bucket to capture connection logs, user activity, and query activity.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var zf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::MSK::Cluster")return s;let i=x(r,n),o=[],a=r.Properties?.EncryptionInfo;a?.EncryptionAtRest?.DataVolumeKMSKeyId||o.push(t(n,"MSK cluster does not use a customer-managed KMS key for encryption at rest.","Specify DataVolumeKMSKeyId in EncryptionAtRest for additional control over data encryption.","LOW","Security",i,"cdkInsights"));let u=a?.EncryptionInTransit;return u?.ClientBroker!=="TLS"&&o.push(t(n,"MSK cluster does not enforce TLS encryption for client-broker communication.","Set ClientBroker to TLS in EncryptionInTransit to encrypt data between clients and brokers.","HIGH","Security",i,"cdkInsights")),u?.InCluster!==!0&&o.push(t(n,"MSK cluster does not have encryption enabled for inter-broker communication.","Set InCluster to true in EncryptionInTransit to encrypt data between brokers.","MEDIUM","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Hf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::MSK::Cluster")return s;let i=x(r,n),o=[],a=r.Properties?.ClientAuthentication,c=(a?.Tls?.CertificateAuthorityArnList?.length??0)>0,u=a?.Sasl?.Scram?.Enabled===!0||a?.Sasl?.Iam?.Enabled===!0,l=a?.Unauthenticated?.Enabled===!0;return!c&&!u&&o.push(t(n,"MSK cluster does not have client authentication configured.","Enable SASL/SCRAM, IAM authentication, or mutual TLS for client authentication.","HIGH","Security",i,"cdkInsights")),l&&o.push(t(n,"MSK cluster allows unauthenticated access.","Disable unauthenticated access and require client authentication for all connections.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Vf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::MSK::Cluster")return s;let i=x(r,n),o=[],c=r.Properties?.LoggingInfo?.BrokerLogs,u=c?.CloudWatchLogs?.Enabled===!0,l=c?.Firehose?.Enabled===!0,p=c?.S3?.Enabled===!0;return!u&&!l&&!p&&o.push(t(n,"MSK cluster does not have broker logging configured.","Enable broker logs to CloudWatch, Firehose, or S3 for monitoring and troubleshooting Kafka operations.","MEDIUM","Operational Excellence",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Kf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Glue::Job")return s;let i=x(r,n),o=[];return r.Properties?.SecurityConfiguration||o.push(t(n,"Glue job does not have a security configuration specified.","Create and attach a SecurityConfiguration to enable encryption for job bookmarks, S3 data, and CloudWatch logs.","MEDIUM","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Zf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Glue::Connection")return s;let i=x(r,n),o=[],a=r.Properties?.ConnectionInput,c=a?.ConnectionType,u=a?.PhysicalConnectionRequirements;if(c==="JDBC"){u?.SubnetId||o.push(t(n,"Glue JDBC connection does not specify a VPC subnet.","Configure PhysicalConnectionRequirements with SubnetId and SecurityGroupIdList for network isolation.","MEDIUM","Security",i,"cdkInsights"));let p=a?.ConnectionProperties?.JDBC_CONNECTION_URL||"";typeof p=="string"&&!p.includes("ssl=true")&&!p.includes("useSSL=true")&&o.push(t(n,"Glue JDBC connection URL may not enforce SSL.","Ensure the JDBC connection URL includes SSL parameters to encrypt data in transit.","LOW","Security",i,"cdkInsights"))}return o.length>0&&(s[n]={issues:o}),s},{});var Jf=()=>({iamPolicies:Bm,iamPermissionBoundary:Nm,iamCrossAccountTrust:jm,s3Buckets:Qm,s3IntelligentTiering:Xm,s3LifecyclePolicy:ef,s3Replication:tf,securityGroups:wm,ec2InstanceType:Am,natGatewayUsage:Em,ebsVolumes:Fm,lambdaEnvironmentVariables:Um,lambdaMemory:Gm,lambdaReservedConcurrency:qm,lambdaDeadLetterQueue:zm,lambdaVpcNatWarning:Hm,rdsEncryption:Vm,rdsMultiAZ:Km,rdsPublicAccess:Zm,rdsBackupRetention:Jm,rdsDeletionProtection:Ym,dynamoDBAutoScaling:Sm,dynamoDBStreams:xm,cloudFrontHttpsOnly:gm,cloudFrontWafAssociation:hm,cloudFrontLogging:ym,cloudFrontTls:Dm,elbDeletionProtection:km,elbLogging:_m,elbHttpsListeners:Pm,elbSecurityPolicy:Lm,ecsSecrets:Rm,ecsLogging:Tm,ecsResources:Im,cognitoPasswordPolicy:bm,cognitoMfa:vm,cognitoAdvancedSecurity:Cm,wafWebAcl:df,wafLogging:mf,cloudWatchLogRetention:ff,cloudWatchEncryption:gf,cloudWatchAlarms:hf,route53Dnssec:yf,route53HealthChecks:Df,route53QueryLogging:bf,elastiCacheEncryption:vf,elastiCacheAuth:Cf,elastiCacheFailover:Sf,ecrScanning:xf,ecrLifecycle:Ff,ecrImmutableTags:Af,openSearchEncryption:Ef,openSearchAccessControl:wf,openSearchLogging:Rf,acmValidation:Tf,backupPlans:If,backupVault:kf,vpcFlowLogs:_f,vpcDefaultSecurityGroup:Pf,kinesisEncryption:Lf,kinesisRetention:Of,appSyncAuth:Bf,appSyncLogging:Nf,appSyncWaf:Mf,eksPublicEndpoint:Wf,eksEncryption:jf,eksLogging:$f,redshiftEncryption:Uf,redshiftPublicAccess:Gf,redshiftLogging:qf,mskEncryption:zf,mskAuth:Hf,mskLogging:Vf,glueEncryption:Kf,glueConnections:Zf,apiGateway:pm,secretsManager:sf,cloudTrailLogging:dm,eventBridgeRules:Om,kmsKeys:$m,sns:nf,sqs:rf,stepFunctions:of,crossResourceRelationships:mm,stackArchitecture:fm,solutionsPatterns:pf});var nr=(e={})=>{let{ttl:t=3e5,maxSize:s=1e3}=e,n=new Map,r=new Set,i=[],o=Date.now(),a=6e4,c=d=>Date.now()-d.timestamp>d.ttl,u=d=>{r.delete(d)},l=()=>{let d=0;for(let f=0;f<i.length;f++)r.has(i[f])&&(i[d++]=i[f]);i.length=d},p=()=>{let d=Date.now();if(d-o<a)return;o=d;let f=[];for(let[g,h]of n.entries())c(h)&&f.push(g);for(let g of f)n.delete(g),u(g);f.length>0&&l()},m=()=>{for(;n.size>=s&&i.length>0;){let d=i.shift();d&&r.has(d)&&(n.delete(d),r.delete(d))}};return{get(d){let f=n.get(d);if(f){if(c(f)){n.delete(d),u(d);return}return f.value}},set(d,f,g){n.size>=s*.9&&p(),m(),r.has(d)&&u(d),n.set(d,{value:f,timestamp:Date.now(),ttl:g??t}),r.add(d),i.push(d)},clear(){n.clear(),r.clear(),i.length=0},size(){return n.size},has(d){let f=n.get(d);return f?c(f)?(n.delete(d),u(d),!1):!0:!1}}},Yf=(e,t={})=>{let s=nr(t);return(...n)=>{let r;try{r=JSON.stringify(n)}catch{return e(...n)}let i=s.get(r);if(i!==void 0)return i;let o=e(...n);return s.set(r,o),o}};var Qf={IAM:["iamPolicies","iamPermissionBoundary","iamCrossAccountTrust"],S3:["s3Buckets","s3IntelligentTiering","s3LifecyclePolicy","s3Replication"],Lambda:["lambdaEnvironmentVariables","lambdaMemory","lambdaReservedConcurrency","lambdaDeadLetterQueue","lambdaVpcNatWarning"],DynamoDB:["dynamoDBAutoScaling","dynamoDBStreams"],RDS:["rdsEncryption","rdsMultiAZ","rdsPublicAccess","rdsBackupRetention","rdsDeletionProtection"],EC2:["ec2InstanceType","natGatewayUsage","securityGroups","ebsVolumes"],SNS:["sns"],SQS:["sqs"],StepFunctions:["stepFunctions"],CloudTrail:["cloudTrailLogging"],ApiGateway:["apiGateway"],SecretsManager:["secretsManager"],KMS:["kmsKeys"],EventBridge:["eventBridgeRules"],CloudFront:["cloudFrontHttpsOnly","cloudFrontWafAssociation","cloudFrontLogging","cloudFrontTls"],ELB:["elbDeletionProtection","elbLogging","elbHttpsListeners","elbSecurityPolicy"],ECS:["ecsSecrets","ecsLogging","ecsResources"],Cognito:["cognitoPasswordPolicy","cognitoMfa","cognitoAdvancedSecurity"],WAF:["wafWebAcl","wafLogging"],CloudWatch:["cloudWatchLogRetention","cloudWatchEncryption","cloudWatchAlarms"],Route53:["route53Dnssec","route53HealthChecks","route53QueryLogging"],ElastiCache:["elastiCacheEncryption","elastiCacheAuth","elastiCacheFailover"],ECR:["ecrScanning","ecrLifecycle","ecrImmutableTags"],OpenSearch:["openSearchEncryption","openSearchAccessControl","openSearchLogging"],ACM:["acmValidation"],Backup:["backupPlans","backupVault"],VPC:["vpcFlowLogs","vpcDefaultSecurityGroup"],Kinesis:["kinesisEncryption","kinesisRetention"],AppSync:["appSyncAuth","appSyncLogging","appSyncWaf"],EKS:["eksPublicEndpoint","eksEncryption","eksLogging"],Redshift:["redshiftEncryption","redshiftPublicAccess","redshiftLogging"],MSK:["mskEncryption","mskAuth","mskLogging"],Glue:["glueEncryption","glueConnections"]},n0=Object.entries(Qf).reduce((e,[t,s])=>{for(let n of s)e[n]=t;return e},{}),ka=e=>{let t=new Set,s=[];for(let n of e)t.has(n)||(t.add(n),s.push(n));return s},Xf=e=>{if(!e||e.length===0)return{services:["All services"],removedAllServices:!1,defaultedToAll:!0};let t=ka(e),s=t.includes("All services"),n=t.filter(r=>r!=="All services");return s&&n.length>0?{services:n,removedAllServices:!0,defaultedToAll:!1}:{services:s?["All services"]:t,removedAllServices:!1,defaultedToAll:!1}},eg=(e,t)=>{if(e.length===0||e.includes("All services"))return ka(t);let s=e.flatMap(n=>n==="All services"?t:Qf[n]??[]);return ka(s)},rr=e=>n0[e];var St=H(Gt()),Fn=process.env.NODE_ENV==="development",tc=process.env.CDK_INSIGHTS_VERBOSE==="true",xE=Fn||tc||process.env.CDK_INSIGHTS_ENABLE_LOGGING==="true",lh=tc?St.LogLevel.DEBUG:Fn?St.LogLevel.INFO:St.LogLevel.ERROR,FE=xE?[(0,St.createConsoleTransport)({formatter:(0,St.createJsonFormatter)(),level:lh,useColors:!Fn})]:[],Z=(0,St.createLogger)({config:{level:lh,serviceName:"cdk-insights",stage:Fn?"dev":"prod"},formatter:(0,St.createJsonFormatter)(),transports:FE,env:{STAGE:Fn?"dev":"prod",LOG_LEVEL:tc?"DEBUG":Fn?"INFO":"ERROR"}}),An=e=>({debug:(t,s,n)=>Z.debug(t,{component:e,...s},n),info:(t,s,n)=>Z.info(t,{component:e,...s},n),warn:(t,s,n,r)=>Z.warn(t,{component:e,...s},n,r),error:(t,s,n,r)=>Z.error(t,{component:e,...s},n,r)}),je=An("cli"),Je=An("analysis"),MN=An("license"),is=An("cache"),ki=An("github"),xe=An("aspect");var AE={IAM:["AWS::IAM::"],S3:["AWS::S3::"],Lambda:["AWS::Lambda::"],DynamoDB:["AWS::DynamoDB::"],RDS:["AWS::RDS::"],EC2:["AWS::EC2::"],SNS:["AWS::SNS::"],SQS:["AWS::SQS::"],StepFunctions:["AWS::StepFunctions::"],CloudTrail:["AWS::CloudTrail::"],ApiGateway:["AWS::ApiGateway::","AWS::ApiGatewayV2::"],SecretsManager:["AWS::SecretsManager::"],KMS:["AWS::KMS::"],EventBridge:["AWS::Events::"],CloudFront:["AWS::CloudFront::"],ELB:["AWS::ElasticLoadBalancing::","AWS::ElasticLoadBalancingV2::"],ECS:["AWS::ECS::"],Cognito:["AWS::Cognito::"],WAF:["AWS::WAFv2::","AWS::WAF::"],CloudWatch:["AWS::CloudWatch::","AWS::Logs::"],Route53:["AWS::Route53::"],ElastiCache:["AWS::ElastiCache::"],ECR:["AWS::ECR::"],OpenSearch:["AWS::OpenSearchService::","AWS::Elasticsearch::"],ACM:["AWS::CertificateManager::"],Backup:["AWS::Backup::"],VPC:["AWS::EC2::VPC","AWS::EC2::FlowLog","AWS::EC2::SecurityGroup"],Kinesis:["AWS::Kinesis::"],AppSync:["AWS::AppSync::"],EKS:["AWS::EKS::"],Redshift:["AWS::Redshift::"],MSK:["AWS::MSK::"],Glue:["AWS::Glue::"]},qN=nr({ttl:3e5,maxSize:100});var EE=Yf(Jf,{ttl:6e5,maxSize:10}),wE=e=>{if(e.includes("All services")||e.length===0)return s=>!s.Type.startsWith("AWS::CDK::");let t=[];for(let s of e){if(s==="All services")continue;let n=AE[s];n&&t.push(...n)}return t.length===0?s=>!s.Type.startsWith("AWS::CDK::"):s=>!s.Type.startsWith("AWS::CDK::")&&t.some(n=>s.Type.startsWith(n))},RE=e=>{let t=new Map,s={CRITICAL:4,HIGH:3,MEDIUM:2,LOW:1};for(let n of e){let r=n.issue,i=t.get(r);i?s[n.severity]>s[i.severity]&&t.set(r,n):t.set(r,n)}return Array.from(t.values())},TE=(e,t,s,n)=>{let r={CRITICAL:0,HIGH:0,MEDIUM:0,LOW:0},i={},o=0;for(let a of Object.values(e))for(let c of a.issues){o++,r[c.severity]++;let u=c.ruleId?rr(c.ruleId)??"Other":"Other";i[u]=(i[u]||0)+1}return{totalResources:t,analyzedResources:Object.keys(e).length,totalFindings:o,findingsBySeverity:r,findingsByService:i,analysisTimeMs:Date.now()-n,servicesAnalyzed:s}},ph=(e,t,s=[],n={})=>IE(e,t,{selectedServices:s,solutionsRegistry:n,deduplicateFindings:!0,includeStatistics:!1}).findings,IE=(e,t,s={})=>{let n=Date.now(),{selectedServices:r=[],solutionsRegistry:i={},deduplicateFindings:o=!0}=s,a=EE(),c=Object.keys(a).filter(y=>y!=="solutionsPatterns"),{services:u}=Xf(r),l=eg(u,c),p={},m=wE(u),d=Object.keys(e.Resources||{}).length,f=Object.entries(e.Resources||{}).filter(([,y])=>m(y)).reduce((y,[F,v])=>(y[F]=v,y),{}),g=[];for(let y of l)try{let F=a[y];if(typeof F!="function"){let A=rr(y)??y;Je.warn(`\u26A0\uFE0F Service check function for ${A} (${y}) is not available`);continue}let v=F({Resources:f},t);g.push(y);for(let[A,T]of Object.entries(v))p[A]||(p[A]={issues:[]}),p[A].issues.push(...T.issues)}catch(F){let v=rr(y)??y;Je.warn(`\u26A0\uFE0F Error in ${v} analysis (${y})`,{error:F instanceof Error?F.message:String(F)})}if(Object.keys(i).length>0)try{let y=a.solutionsPatterns({Resources:f},i);for(let F of y){let v=F.resourceId;p[v]||(p[v]={issues:[]}),p[v].issues.push(F)}}catch(y){Je.warn("\u26A0\uFE0F Error in solutions pattern analysis",{error:y instanceof Error?y.message:String(y)})}if(o)for(let y of Object.keys(p))p[y].issues=RE(p[y].issues);Object.keys(p).length===0&&Je.info(`\x1B[32m\u2705 No security or cost issues detected!\x1B[0m
|
|
87
|
-
`);let h=[...new Set(g.map(y=>rr(y)).filter(y=>y!==void 0))],b=TE(p,d,h,n);return{findings:p,statistics:b}};var dr={DEFAULT_MAX_CONCURRENT:5,DEFAULT_RETRY_ATTEMPTS:3,DEFAULT_RETRY_DELAY_MS:1e3,DEFAULT_TIMEOUT_MS:60*1e3};var Ni=H(require("node:crypto")),$e=H(require("node:fs")),Mi=H(require("node:path"));var kE=["CI","BUILD_ID","BUILD_NUMBER","CIRCLECI","TRAVIS","GITHUB_ACTIONS","GITLAB_CI","JENKINS_URL","BITBUCKET_BUILD_NUMBER","TEAMCITY_VERSION","BAMBOO_BUILDKEY","GO_PIPELINE_NAME","BUILDKITE","DRONE","SEMAPHORE","APPVEYOR","WERCKER","CODEBUILD_BUILD_ID","AWS_CODEBUILD_BUILD_ID","TF_BUILD","CIRRUS_CI","NETLIFY","VERCEL","RENDER","HEROKU_TEST_RUN_ID"],mr=()=>kE.some(e=>!!process.env[e]);var st=H(require("node:fs")),mh=H(require("node:os")),Li=H(require("node:path"));var _E={features:{staticAnalysis:{free:!0,pro:!0,trial:!0,enterprise:!0},multiStackAnalysis:{free:!0,pro:!0,trial:!0,enterprise:!0},localAnalysis:{free:!0,pro:!0,trial:!0,enterprise:!0},basicServiceChecks:{free:!0,pro:!0,trial:!0,enterprise:!0},aiAnalysis:{free:!1,pro:!0,trial:!0,enterprise:!0},contextualFixes:{free:!1,pro:!0,trial:!0,enterprise:!0},smartPrioritization:{free:!1,pro:!0,trial:!0,enterprise:!0},naturalLanguageExplanations:{free:!1,pro:!0,trial:!0,enterprise:!0},customAITraining:{free:!1,pro:!1,trial:!1,enterprise:!0},githubIntegration:{free:!1,pro:!0,trial:!0,enterprise:!0},teamDashboards:{free:!1,pro:!0,trial:!0,enterprise:!0},collaborativeCommenting:{free:!1,pro:!1,trial:!1,enterprise:!0},sharedConfigurations:{free:!1,pro:!0,trial:!0,enterprise:!0},jsonOutput:{free:!0,pro:!0,trial:!0,enterprise:!0},tableOutput:{free:!0,pro:!0,trial:!0,enterprise:!0},markdownOutput:{free:!0,pro:!0,trial:!0,enterprise:!0},pdfReports:{free:!1,pro:!0,trial:!0,enterprise:!0},executiveSummaries:{free:!1,pro:!1,trial:!1,enterprise:!0},customBrandedReports:{free:!1,pro:!1,trial:!1,enterprise:!0},customRuleSets:{free:!1,pro:!0,trial:!0,enterprise:!0},advancedCompliance:{free:!1,pro:!0,trial:!0,enterprise:!0},cloudAnalysis:{free:!1,pro:!0,trial:!0,enterprise:!0},parallelAnalysis:{free:!1,pro:!0,trial:!0,enterprise:!0},caching:{free:!1,pro:!0,trial:!0,enterprise:!0},largeProjectSupport:{free:!1,pro:!0,trial:!0,enterprise:!0},advancedFiltering:{free:!1,pro:!1,trial:!1,enterprise:!0},apiAccess:{free:!1,pro:!1,trial:!1,enterprise:!0},webhookNotifications:{free:!1,pro:!1,trial:!1,enterprise:!0},cicdIntegration:{free:!1,pro:!1,trial:!1,enterprise:!0},customIntegrations:{free:!1,pro:!1,trial:!1,enterprise:!0},roleBasedAccess:{free:!1,pro:!1,trial:!1,enterprise:!0},teamAnalytics:{free:!1,pro:!1,trial:!1,enterprise:!0},auditTrails:{free:!1,pro:!1,trial:!1,enterprise:!0},ssoIntegration:{free:!1,pro:!1,trial:!1,enterprise:!0},multiTenantSupport:{free:!1,pro:!1,trial:!1,enterprise:!0},whiteLabeling:{free:!1,pro:!1,trial:!1,enterprise:!0},customBranding:{free:!1,pro:!1,trial:!1,enterprise:!0},communitySupport:{free:!0,pro:!0,trial:!0,enterprise:!0},emailSupport:{free:!1,pro:!0,trial:!0,enterprise:!0},prioritySupport:{free:!1,pro:!1,trial:!1,enterprise:!0},dedicatedAccountManager:{free:!1,pro:!1,trial:!1,enterprise:!0},customTraining:{free:!1,pro:!1,trial:!1,enterprise:!0},soc2Compliance:{free:!1,pro:!0,trial:!0,enterprise:!0},hipaaCompliance:{free:!1,pro:!0,trial:!0,enterprise:!0},fedrampCompliance:{free:!1,pro:!1,trial:!1,enterprise:!0},customCompliance:{free:!1,pro:!1,trial:!1,enterprise:!0}}},PE=(e=_E)=>({isFeatureEnabled:(o,a)=>e.features[o]?.[a]??!1,getEnabledFeatures:o=>Object.entries(e.features).filter(([,a])=>a[o]).map(([a])=>a),getAllFeatures:()=>Object.keys(e.features),getFeatureTiers:o=>e.features[o],getUpgradePath:(o,a)=>{let c=["free","pro","trial","enterprise"],u=c.indexOf(a);for(let l=u+1;l<c.length;l++){let p=c[l];if(e.features[o]?.[p])return{required:!0,tier:p,path:`https://cdkinsights.dev/pricing?tier=${p}&feature=${o}`}}return null}}),fr=PE();var dh=(e,t,s)=>{let n=fr.getUpgradePath(e,t),r=s?` for ${s}`:"";return n?`\u{1F4A1} Upgrade to ${n.tier} to access ${e}${r}. Visit: ${n.path}`:`\u26A0\uFE0F ${e}${r} is not available for your current tier.`};var _i=Li.join(mh.homedir(),".cdk-insights","cache"),QN=Li.join(_i,"analysis-cache.json"),sc=Li.join(_i,"cache-stats.json"),Ws={totalHits:0,totalMisses:0,totalSets:0,totalClears:0,cacheSize:0,maxCacheSize:1e3},En=null,Pi=!1,LE=()=>{try{if(st.existsSync(sc)){let e=st.readFileSync(sc,"utf-8");try{Ws={...Ws,...JSON.parse(e)}}catch(t){is.warn("Could not parse cache statistics file",{error:t instanceof Error?t.message:String(t)})}}}catch(e){is.warn("Could not load cache statistics",{error:e instanceof Error?e.message:String(e)})}},nc=()=>{Pi=!0,!En&&(En=setTimeout(()=>{Pi&&fh(),En=null},5e3))},fh=()=>{try{OE(),st.writeFileSync(sc,JSON.stringify(Ws,null,2),"utf-8"),Pi=!1}catch(e){is.warn("Could not save cache statistics",{error:e instanceof Error?e.message:String(e)})}},rc=()=>{En&&(clearTimeout(En),En=null),Pi&&fh()};process.on("exit",rc);process.on("SIGINT",()=>{rc(),process.exit(0)});process.on("SIGTERM",()=>{rc(),process.exit(0)});LE();var OE=()=>{st.existsSync(_i)||st.mkdirSync(_i,{recursive:!0})};var gh=()=>{Ws.totalHits++,nc()},Oi=()=>{Ws.totalMisses++,nc()},hh=()=>{Ws.totalSets++,Ws.cacheSize++,nc()};var wn=Mi.join(process.env.HOME||process.env.USERPROFILE||"",".cdk-insights","cache","analysis-cache.json"),BE=()=>{let e=Mi.dirname(wn);$e.existsSync(e)||$e.mkdirSync(e,{recursive:!0})},NE=()=>{if(mr())return new Map;try{if($e.existsSync(wn)){let e=JSON.parse($e.readFileSync(wn,"utf-8")),t=new Map,s=Date.now();for(let[n,r]of e.entries||[])s-r.timestamp<=r.ttl&&t.set(n,r);return t}}catch(e){is.warn("Could not load cache from disk",{error:e instanceof Error?e.message:String(e)})}return new Map},yh=e=>{if(!mr())try{BE();let t={entries:Array.from(e.entries()),timestamp:Date.now(),version:"1.0"};$e.writeFileSync(wn,JSON.stringify(t,null,2),"utf-8")}catch(t){is.warn("Could not save cache to disk",{error:t instanceof Error?t.message:String(t)})}},ME=e=>{try{let t=$e.statSync(e),s=$e.readFileSync(e,"utf-8"),n=Ni.createHash("sha256").update(s).digest("hex");return{filePath:e,lastModified:t.mtime.getTime(),hash:n}}catch{return null}},WE=e=>{let t={};for(let s of e){let n=ME(s);n&&(t[s]=n)}return t},jE=(e,t)=>e?Ni.createHash("sha256").update(`${e}:${t||""}`).digest("hex").slice(0,16):"no-auth",$E=e=>Ni.createHash("sha256").update(JSON.stringify(e)).digest("hex"),Dh=(e,t,s,n,r=[])=>{let i=jE(s,n),o=$E(t),a=WE(r);return{resourceId:e,authContext:i,resourceHash:o,fileHashes:a}},bh=e=>{let t=Object.entries(e.fileHashes).sort(([s],[n])=>s.localeCompare(n)).map(([s,n])=>`${s}:${n.hash}`).join("|");return`${e.resourceId}:${e.authContext}:${e.resourceHash}:${t}`};var Bi=class{cache;ttl;maxSize;disabled=!1;constructor(t={}){this.ttl=t.ttl||60*60*1e3,this.maxSize=t.maxSize||1e3,this.disabled=t.disabled||!1,this.disabled?this.cache=new Map:this.cache=NE()}setDisabled(t){this.disabled=t,t&&this.cache.clear()}get(t){if(this.disabled){Oi();return}let s=this.cache.get(t);if(!s){Oi();return}if(Date.now()-s.timestamp>s.ttl){this.cache.delete(t),Oi();return}return gh(),s.value}set(t,s,n,r){this.disabled||(this.cache.size>=this.maxSize&&this.evictOldest(),this.cache.set(t,{value:s,timestamp:Date.now(),ttl:r??this.ttl,fileHashes:n.fileHashes,authContext:n.authContext,resourceHash:n.resourceHash}),hh(),this.cache.size%10===0&&yh(this.cache))}has(t){return this.cache.has(t)}clear(){if(this.cache.clear(),!mr())try{$e.existsSync(wn)&&$e.unlinkSync(wn)}catch(t){is.warn("Could not clear disk cache",{error:t instanceof Error?t.message:String(t)})}}saveToDisk(){yh(this.cache)}size(){return this.cache.size}evictOldest(){let t,s=Date.now();for(let[n,r]of Array.from(this.cache.entries()))r.timestamp<s&&(s=r.timestamp,t=n);t&&this.cache.delete(t)}getStats(){return{size:this.cache.size,maxSize:this.maxSize,hitRate:0,totalHits:0,totalMisses:0}}getAllCachedResults(){return new Map(this.cache)}getCachedResultsForResources(t){let s=new Map;for(let[n,r]of Array.from(this.cache.entries())){let i=n.split(":")[0];t.includes(i)&&Date.now()-r.timestamp<=r.ttl&&s.set(i,r.value)}return s}hasCachedResult(t){for(let s of Array.from(this.cache.keys()))if(s.split(":")[0]===t)return!0;return!1}};var UE=new Set(["the","a","an","is","are","was","were","be","been","has","have","had","do","does","did","will","would","could","should","may","might","must","shall","can","this","that","these","those","it","its","to","for","of","in","on","at","by","with","from","or","and","not","no","but","if","then","else","when","where","resource","configuration","setting","configured","property","properties","which"]),GE=[["lacks","missing","without","absent","none"],["encryption","encrypted","encrypt"],["configured","configuration","config","settings","setting"],["enabled","enable","active","activated"],["disabled","disable","inactive"],["public","publicly","open"],["access","accessible","accessibility"]],Sh=new Map;for(let e of GE){let t=e[0];for(let s of e)Sh.set(s,t)}var qE=e=>Sh.get(e)||e,vh=e=>{if(!e)return new Set;let t=e.toLowerCase().replace(/[^\w\s]/g," ").replace(/\s+/g," ").trim().split(" ").filter(s=>s.length>2&&!UE.has(s)).map(qE);return new Set(t)},zE=(e,t)=>{if(e.size===0&&t.size===0)return 1;if(e.size===0||t.size===0)return 0;let s=[...e].filter(r=>t.has(r)).length,n=new Set([...e,...t]).size;return n>0?s/n:0},HE=.5,Ch=3,ic=(e,t)=>{if(e.severity!==t.severity||e.wafPillar!==t.wafPillar)return!1;let s=vh(e.issue),n=vh(t.issue);return s.size<Ch||n.size<Ch?!1:zE(s,n)>=HE},oc=e=>`${e.issue}::${e.severity}::${e.wafPillar}`,gr=e=>{let{existing:t,incoming:s}=e,n=new Set(t.map(oc)),r=[];for(let i of s){let o=oc(i);n.has(o)||t.some(u=>ic(i,u))||r.some(u=>ic(i,u))||(n.add(o),r.push(i))}return r},Wi=(e,t)=>{let s=new Set,n=[];for(let r of e){let i=oc(r);s.has(i)||n.some(a=>ic(r,a))||(s.add(i),n.push(r))}return n};var xh=H(require("node:crypto")),Fh=(e,t)=>{let s=`${e}:${t}`;return xh.createHash("sha256").update(s).digest("hex").slice(0,32)};var Ah=e=>t=>{let s={},n={};return Object.entries(t).forEach(([r,i])=>{let o=e(i);s[o]=r,n[o]=i}),{redactedResources:n,mapping:s}};var Eh=(e,t,s={})=>{let n=[];return e.forEach(r=>{let i=r.resourceId,o=s[i];if(!o&&i.includes("/")){let c=i.split("/"),u=c[c.length-2],l=Object.entries(t).find(([p,m])=>m.startsWith(u));l&&(o=l[1])}if(!o)return;let a=Object.entries(t).find(([,c])=>c===o)?.[0];if(!a){Z.warn(`\u26A0\uFE0F Unable to find redacted ID for logical resource: ${o}`);return}n.push({...r,resourceId:a})}),n};var wh=(e=0)=>t=>`\x1B[${t+e}m`,Rh=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,Th=(e=0)=>(t,s,n)=>`\x1B[${38+e};2;${t};${s};${n}m`,De={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},cM=Object.keys(De.modifier),VE=Object.keys(De.color),KE=Object.keys(De.bgColor),uM=[...VE,...KE];function ZE(){let e=new Map;for(let[t,s]of Object.entries(De)){for(let[n,r]of Object.entries(s))De[n]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},s[n]=De[n],e.set(r[0],r[1]);Object.defineProperty(De,t,{value:s,enumerable:!1})}return Object.defineProperty(De,"codes",{value:e,enumerable:!1}),De.color.close="\x1B[39m",De.bgColor.close="\x1B[49m",De.color.ansi=wh(),De.color.ansi256=Rh(),De.color.ansi16m=Th(),De.bgColor.ansi=wh(10),De.bgColor.ansi256=Rh(10),De.bgColor.ansi16m=Th(10),Object.defineProperties(De,{rgbToAnsi256:{value(t,s,n){return t===s&&s===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(s/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(t){let s=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!s)return[0,0,0];let[n]=s;n.length===3&&(n=[...n].map(i=>i+i).join(""));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:t=>De.rgbToAnsi256(...De.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let s,n,r;if(t>=232)s=((t-232)*10+8)/255,n=s,r=s;else{t-=16;let a=t%36;s=Math.floor(t/36)/5,n=Math.floor(a/6)/5,r=a%6/5}let i=Math.max(s,n,r)*2;if(i===0)return 30;let o=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(s));return i===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(t,s,n)=>De.ansi256ToAnsi(De.rgbToAnsi256(t,s,n)),enumerable:!1},hexToAnsi:{value:t=>De.ansi256ToAnsi(De.hexToAnsi256(t)),enumerable:!1}}),De}var JE=ZE(),xt=JE;var $i=H(require("node:process"),1),kh=H(require("node:os"),1),ac=H(require("node:tty"),1);function pt(e,t=globalThis.Deno?globalThis.Deno.args:$i.default.argv){let s=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(s+e),r=t.indexOf("--");return n!==-1&&(r===-1||n<r)}var{env:Ce}=$i.default,ji;pt("no-color")||pt("no-colors")||pt("color=false")||pt("color=never")?ji=0:(pt("color")||pt("colors")||pt("color=true")||pt("color=always"))&&(ji=1);function YE(){if("FORCE_COLOR"in Ce)return Ce.FORCE_COLOR==="true"?1:Ce.FORCE_COLOR==="false"?0:Ce.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Ce.FORCE_COLOR,10),3)}function QE(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function XE(e,{streamIsTTY:t,sniffFlags:s=!0}={}){let n=YE();n!==void 0&&(ji=n);let r=s?ji:n;if(r===0)return 0;if(s){if(pt("color=16m")||pt("color=full")||pt("color=truecolor"))return 3;if(pt("color=256"))return 2}if("TF_BUILD"in Ce&&"AGENT_NAME"in Ce)return 1;if(e&&!t&&r===void 0)return 0;let i=r||0;if(Ce.TERM==="dumb")return i;if($i.default.platform==="win32"){let o=kh.default.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in Ce)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(o=>o in Ce)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(o=>o in Ce)||Ce.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in Ce)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ce.TEAMCITY_VERSION)?1:0;if(Ce.COLORTERM==="truecolor"||Ce.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in Ce){let o=Number.parseInt((Ce.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ce.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ce.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ce.TERM)||"COLORTERM"in Ce?1:i}function Ih(e,t={}){let s=XE(e,{streamIsTTY:e&&e.isTTY,...t});return QE(s)}var ew={stdout:Ih({isTTY:ac.default.isatty(1)}),stderr:Ih({isTTY:ac.default.isatty(2)})},_h=ew;function Ph(e,t,s){let n=e.indexOf(t);if(n===-1)return e;let r=t.length,i=0,o="";do o+=e.slice(i,n)+t+s,i=n+r,n=e.indexOf(t,i);while(n!==-1);return o+=e.slice(i),o}function Lh(e,t,s,n){let r=0,i="";do{let o=e[n-1]==="\r";i+=e.slice(r,o?n-1:n)+t+(o?`\r
|
|
80
|
+
`)[0].length}};yo.reset=()=>Qt.reset();function Du(e,t,s){let n=[];e.forEach(function(i){n.push(i.draw(t))});let r=n.join("");r.length&&s.push(r)}Rb.exports=yo});var Tb=E((C8,Ib)=>{Ib.exports=wb()});var bu=E((A8,sT)=>{sT.exports={name:"cdk-insights",version:"0.17.0",description:"AWS CDK security and cost analysis tool with AI-powered insights",main:"dist/index.js",types:"dist/index.d.ts",bin:{"cdk-insights":"dist/entry.js"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.js"}},files:["dist/**/*","README.md","LICENSE"],scripts:{test:"vitest --run",lint:"biome lint src/",format:"biome format --write src/",check:"biome check src/",build:"ts-node scripts/build.ts",start:"node dist/index.js",dev:"ts-node src/index.ts",prepare:"husky install && npm run build","start:dev":"CDK_ENV=local ts-node src/index.ts","ai-run":"ts-node src/index.ts",unlink:"npm unlink -g cdk-insights",link:"npm link","prepare:test":"npm run unlink && npm run build && npm run link","deploy:dev":"STAGE=dev cdk deploy","destroy:dev":"STAGE=dev cdk destroy","release:patch":"bumper release patch","release:minor":"bumper release minor","release:major":"bumper release major","release:dry-run":"bumper release patch --dry-run","changelog:preview":"bumper preview","changelog:generate":"bumper generate","validate:commits":"bumper validate","release:check":"npm run validate:commits && npm run test && npm run build","release:full":"npm run release:check && npm run changelog:generate","setup:bumper":"bumper setup","publish:beta":"npm run build && npm publish --tag beta && npm dist-tag add cdk-insights@$npm_package_version latest","publish:alpha":"npm run build && npm publish --tag alpha","publish:canary":"npm run build && npm publish --tag canary","publish:latest":"npm run build && npm publish --tag latest","version:beta":"npm version prerelease --preid=beta","version:alpha":"npm version prerelease --preid=alpha","version:rc":"npm version prerelease --preid=rc","cdk-insights":"node scripts/cdk-insights-wrapper.js",scan:"node scripts/cdk-insights-wrapper.js scan","scan:all":"node scripts/cdk-insights-wrapper.js scan --all","scan:json":"node scripts/cdk-insights-wrapper.js scan --format json","scan:markdown":"node scripts/cdk-insights-wrapper.js scan --format markdown","scan:summary":"node scripts/cdk-insights-wrapper.js scan --format summary","scan:with-issues":"node scripts/cdk-insights-wrapper.js scan --withIssue","cache:clear":"node scripts/cdk-insights-wrapper.js cache clear","cache:status":"node scripts/cdk-insights-wrapper.js cache status","demo:progress":"ts-node src/examples/progress-demo.ts","demo:single-line":"ts-node src/examples/single-line-progress-demo.ts","test:line-clearing":"ts-node src/examples/line-clearing-test.ts"},publishConfig:{access:"public"},keywords:["aws","cdk","cloudformation","analysis","security","cost-optimization","static-analysis","devops","infrastructure","aws-cdk","cloud-security","compliance"],author:"Lee Priest <lee@cdkinsights.dev>",license:"MIT",homepage:"https://github.com/instancelabs/cdk-insights",bugs:"https://github.com/instancelabs/cdk-insights/issues",repository:{type:"git",url:"git+https://github.com/instancelabs/cdk-insights.git"},dependencies:{"@inquirer/prompts":"^7.4.1","@middy/core":"^6.1.6","@types/glob":"^8.1.0",axios:"^1.8.4",chalk:"^5.4.1","cli-progress":"^3.12.0","cli-table3":"^0.6.5",dotenv:"^16.5.0",envolution:"^1.4.1",glob:"^11.0.3",ora:"^8.2.0",strogger:"^2.0.3",yargs:"^17.7.2",zod:"^3.23.8"},devDependencies:{"@aws-sdk/client-dynamodb":"^3.788.0","@biomejs/biome":"^2.0.6","@commitlint/cli":"^19.8.1","@commitlint/config-conventional":"^19.8.1","@types/cli-progress":"^3.11.6","@types/jsonwebtoken":"^9.0.9","@types/node":"^22.14.1","@types/yargs":"^17.0.33","aws-cdk":"^2.1010.0","bumper-cli":"^1.6.0",esbuild:"^0.25.2",husky:"^8.0.3","ts-node":"^10.9.2",typescript:"^5.8.3",vitest:"^3.1.1"},peerDependencies:{"aws-cdk-lib":"^2.190.0","cdk-nag":"^2.35.73",constructs:"^10.4.2"},optionalDependencies:{"@aws-solutions-constructs/aws-apigateway-lambda":"^2.0.0","@aws-solutions-constructs/aws-lambda-stepfunctions":"^2.0.0","@aws-solutions-constructs/aws-s3-lambda":"^2.0.0"}}});var ik={};$u(ik,{CDK_INSIGHTS_ANNOTATION_PREFIX:()=>Lu,CDK_INSIGHTS_METADATA_VERSION:()=>_u,CdkInsightsAspect:()=>Eo,ExtremelyHelpfulConsoleLogger:()=>$r,clearCaches:()=>sv,createCdkInsightsAspect:()=>tv,createCdkInsightsLogger:()=>Xb,createExtremelyHelpfulConsoleLogger:()=>ev,getCacheStats:()=>nv,isCdkDebugEnabled:()=>Pu,runAnalysis:()=>rk});module.exports=fv(ik);var ov=Y(require("node:fs"));function qn(e,t){return function(){return e.apply(t,arguments)}}var{toString:gv}=Object.prototype,{getPrototypeOf:To}=Object,{iterator:qr,toStringTag:zu}=Symbol,Hr=(e=>t=>{let s=gv.call(t);return e[s]||(e[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),Ct=e=>(e=e.toLowerCase(),t=>Hr(t)===e),Vr=e=>t=>typeof t===e,{isArray:tn}=Array,en=Vr("undefined");function Hn(e){return e!==null&&!en(e)&&e.constructor!==null&&!en(e.constructor)&&Ze(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var qu=Ct("ArrayBuffer");function hv(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&qu(e.buffer),t}var yv=Vr("string"),Ze=Vr("function"),Hu=Vr("number"),Vn=e=>e!==null&&typeof e=="object",Dv=e=>e===!0||e===!1,zr=e=>{if(Hr(e)!=="object")return!1;let t=To(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(zu in e)&&!(qr in e)},bv=e=>{if(!Vn(e)||Hn(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},vv=Ct("Date"),Sv=Ct("File"),Cv=Ct("Blob"),xv=Ct("FileList"),Av=e=>Vn(e)&&Ze(e.pipe),Fv=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ze(e.append)&&((t=Hr(e))==="formdata"||t==="object"&&Ze(e.toString)&&e.toString()==="[object FormData]"))},Ev=Ct("URLSearchParams"),[Rv,wv,Iv,Tv]=["ReadableStream","Request","Response","Headers"].map(Ct),kv=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Kn(e,t,{allOwnKeys:s=!1}={}){if(e===null||typeof e>"u")return;let n,r;if(typeof e!="object"&&(e=[e]),tn(e))for(n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else{if(Hn(e))return;let i=s?Object.getOwnPropertyNames(e):Object.keys(e),o=i.length,a;for(n=0;n<o;n++)a=i[n],t.call(null,e[a],a,e)}}function Vu(e,t){if(Hn(e))return null;t=t.toLowerCase();let s=Object.keys(e),n=s.length,r;for(;n-- >0;)if(r=s[n],t===r.toLowerCase())return r;return null}var gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ku=e=>!en(e)&&e!==gs;function Io(){let{caseless:e,skipUndefined:t}=Ku(this)&&this||{},s={},n=(r,i)=>{let o=e&&Vu(s,i)||i;zr(s[o])&&zr(r)?s[o]=Io(s[o],r):zr(r)?s[o]=Io({},r):tn(r)?s[o]=r.slice():(!t||!en(r))&&(s[o]=r)};for(let r=0,i=arguments.length;r<i;r++)arguments[r]&&Kn(arguments[r],n);return s}var _v=(e,t,s,{allOwnKeys:n}={})=>(Kn(t,(r,i)=>{s&&Ze(r)?e[i]=qn(r,s):e[i]=r},{allOwnKeys:n}),e),Lv=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Pv=(e,t,s,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),s&&Object.assign(e.prototype,s)},Ov=(e,t,s,n)=>{let r,i,o,a={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)o=r[i],(!n||n(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=s!==!1&&To(e)}while(e&&(!s||s(e,t))&&e!==Object.prototype);return t},Bv=(e,t,s)=>{e=String(e),(s===void 0||s>e.length)&&(s=e.length),s-=t.length;let n=e.indexOf(t,s);return n!==-1&&n===s},Mv=e=>{if(!e)return null;if(tn(e))return e;let t=e.length;if(!Hu(t))return null;let s=new Array(t);for(;t-- >0;)s[t]=e[t];return s},Nv=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&To(Uint8Array)),Wv=(e,t)=>{let n=(e&&e[qr]).call(e),r;for(;(r=n.next())&&!r.done;){let i=r.value;t.call(e,i[0],i[1])}},jv=(e,t)=>{let s,n=[];for(;(s=e.exec(t))!==null;)n.push(s);return n},$v=Ct("HTMLFormElement"),Uv=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(s,n,r){return n.toUpperCase()+r}),Gu=(({hasOwnProperty:e})=>(t,s)=>e.call(t,s))(Object.prototype),Gv=Ct("RegExp"),Zu=(e,t)=>{let s=Object.getOwnPropertyDescriptors(e),n={};Kn(s,(r,i)=>{let o;(o=t(r,i,e))!==!1&&(n[i]=o||r)}),Object.defineProperties(e,n)},zv=e=>{Zu(e,(t,s)=>{if(Ze(e)&&["arguments","caller","callee"].indexOf(s)!==-1)return!1;let n=e[s];if(Ze(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},qv=(e,t)=>{let s={},n=r=>{r.forEach(i=>{s[i]=!0})};return tn(e)?n(e):n(String(e).split(t)),s},Hv=()=>{},Vv=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Kv(e){return!!(e&&Ze(e.append)&&e[zu]==="FormData"&&e[qr])}var Zv=e=>{let t=new Array(10),s=(n,r)=>{if(Vn(n)){if(t.indexOf(n)>=0)return;if(Hn(n))return n;if(!("toJSON"in n)){t[r]=n;let i=tn(n)?[]:{};return Kn(n,(o,a)=>{let c=s(o,r+1);!en(c)&&(i[a]=c)}),t[r]=void 0,i}}return n};return s(e,0)},Yv=Ct("AsyncFunction"),Jv=e=>e&&(Vn(e)||Ze(e))&&Ze(e.then)&&Ze(e.catch),Yu=((e,t)=>e?setImmediate:t?((s,n)=>(gs.addEventListener("message",({source:r,data:i})=>{r===gs&&i===s&&n.length&&n.shift()()},!1),r=>{n.push(r),gs.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",Ze(gs.postMessage)),Qv=typeof queueMicrotask<"u"?queueMicrotask.bind(gs):typeof process<"u"&&process.nextTick||Yu,Xv=e=>e!=null&&Ze(e[qr]),b={isArray:tn,isArrayBuffer:qu,isBuffer:Hn,isFormData:Fv,isArrayBufferView:hv,isString:yv,isNumber:Hu,isBoolean:Dv,isObject:Vn,isPlainObject:zr,isEmptyObject:bv,isReadableStream:Rv,isRequest:wv,isResponse:Iv,isHeaders:Tv,isUndefined:en,isDate:vv,isFile:Sv,isBlob:Cv,isRegExp:Gv,isFunction:Ze,isStream:Av,isURLSearchParams:Ev,isTypedArray:Nv,isFileList:xv,forEach:Kn,merge:Io,extend:_v,trim:kv,stripBOM:Lv,inherits:Pv,toFlatObject:Ov,kindOf:Hr,kindOfTest:Ct,endsWith:Bv,toArray:Mv,forEachEntry:Wv,matchAll:jv,isHTMLForm:$v,hasOwnProperty:Gu,hasOwnProp:Gu,reduceDescriptors:Zu,freezeMethods:zv,toObjectSet:qv,toCamelCase:Uv,noop:Hv,toFiniteNumber:Vv,findKey:Vu,global:gs,isContextDefined:Ku,isSpecCompliantForm:Kv,toJSONObject:Zv,isAsyncFn:Yv,isThenable:Jv,setImmediate:Yu,asap:Qv,isIterable:Xv};function sn(e,t,s,n,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),s&&(this.config=s),n&&(this.request=n),r&&(this.response=r,this.status=r.status?r.status:null)}b.inherits(sn,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:b.toJSONObject(this.config),code:this.code,status:this.status}}});var Ju=sn.prototype,Qu={};["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(e=>{Qu[e]={value:e}});Object.defineProperties(sn,Qu);Object.defineProperty(Ju,"isAxiosError",{value:!0});sn.from=(e,t,s,n,r,i)=>{let o=Object.create(Ju);b.toFlatObject(e,o,function(l){return l!==Error.prototype},u=>u!=="isAxiosError");let a=e&&e.message?e.message:"Error",c=t==null&&e?e.code:t;return sn.call(o,a,c,s,n,r),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};var N=sn;var sd=Y(td(),1),ri=sd.default;function Yo(e){return b.isPlainObject(e)||b.isArray(e)}function rd(e){return b.endsWith(e,"[]")?e.slice(0,-2):e}function nd(e,t,s){return e?e.concat(t).map(function(r,i){return r=rd(r),!s&&i?"["+r+"]":r}).join(s?".":""):t}function NC(e){return b.isArray(e)&&!e.some(Yo)}var WC=b.toFlatObject(b,{},null,function(t){return/^is[A-Z]/.test(t)});function jC(e,t,s){if(!b.isObject(e))throw new TypeError("target must be an object");t=t||new(ri||FormData),s=b.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,h){return!b.isUndefined(h[g])});let n=s.metaTokens,r=s.visitor||l,i=s.dots,o=s.indexes,c=(s.Blob||typeof Blob<"u"&&Blob)&&b.isSpecCompliantForm(t);if(!b.isFunction(r))throw new TypeError("visitor must be a function");function u(m){if(m===null)return"";if(b.isDate(m))return m.toISOString();if(b.isBoolean(m))return m.toString();if(!c&&b.isBlob(m))throw new N("Blob is not supported. Use a Buffer instead.");return b.isArrayBuffer(m)||b.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function l(m,g,h){let y=m;if(m&&!h&&typeof m=="object"){if(b.endsWith(g,"{}"))g=n?g:g.slice(0,-2),m=JSON.stringify(m);else if(b.isArray(m)&&NC(m)||(b.isFileList(m)||b.endsWith(g,"[]"))&&(y=b.toArray(m)))return g=rd(g),y.forEach(function(S,v){!(b.isUndefined(S)||S===null)&&t.append(o===!0?nd([g],v,i):o===null?g:g+"[]",u(S))}),!1}return Yo(m)?!0:(t.append(nd(h,g,i),u(m)),!1)}let p=[],d=Object.assign(WC,{defaultVisitor:l,convertValue:u,isVisitable:Yo});function f(m,g){if(!b.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+g.join("."));p.push(m),b.forEach(m,function(y,D){(!(b.isUndefined(y)||y===null)&&r.call(t,y,b.isString(D)?D.trim():D,g,d))===!0&&f(y,g?g.concat(D):[D])}),p.pop()}}if(!b.isObject(e))throw new TypeError("data must be an object");return f(e),t}var ts=jC;function id(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function od(e,t){this._pairs=[],e&&ts(e,this,t)}var ad=od.prototype;ad.append=function(t,s){this._pairs.push([t,s])};ad.toString=function(t){let s=t?function(n){return t.call(this,n,id)}:id;return this._pairs.map(function(r){return s(r[0])+"="+s(r[1])},"").join("&")};var cd=od;function $C(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ys(e,t,s){if(!t)return e;let n=s&&s.encode||$C;b.isFunction(s)&&(s={serialize:s});let r=s&&s.serialize,i;if(r?i=r(t,s):i=b.isURLSearchParams(t)?t.toString():new cd(t,s).toString(n),i){let o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}var Jo=class{constructor(){this.handlers=[]}use(t,s,n){return this.handlers.push({fulfilled:t,rejected:s,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){b.forEach(this.handlers,function(n){n!==null&&t(n)})}},Qo=Jo;var cn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var dd=Y(require("crypto"),1);var ud=Y(require("url"),1),ld=ud.default.URLSearchParams;var Xo="abcdefghijklmnopqrstuvwxyz",pd="0123456789",md={DIGIT:pd,ALPHA:Xo,ALPHA_DIGIT:Xo+Xo.toUpperCase()+pd},UC=(e=16,t=md.ALPHA_DIGIT)=>{let s="",{length:n}=t,r=new Uint32Array(e);dd.default.randomFillSync(r);for(let i=0;i<e;i++)s+=t[r[i]%n];return s},fd={isNode:!0,classes:{URLSearchParams:ld,FormData:ri,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:md,generateString:UC,protocols:["http","https","file","data"]};var sa={};$u(sa,{hasBrowserEnv:()=>ta,hasStandardBrowserEnv:()=>GC,hasStandardBrowserWebWorkerEnv:()=>zC,navigator:()=>ea,origin:()=>qC});var ta=typeof window<"u"&&typeof document<"u",ea=typeof navigator=="object"&&navigator||void 0,GC=ta&&(!ea||["ReactNative","NativeScript","NS"].indexOf(ea.product)<0),zC=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",qC=ta&&window.location.href||"http://localhost";var fe={...sa,...fd};function na(e,t){return ts(e,new fe.classes.URLSearchParams,{visitor:function(s,n,r,i){return fe.isNode&&b.isBuffer(s)?(this.append(n,s.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function HC(e){return b.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function VC(e){let t={},s=Object.keys(e),n,r=s.length,i;for(n=0;n<r;n++)i=s[n],t[i]=e[i];return t}function KC(e){function t(s,n,r,i){let o=s[i++];if(o==="__proto__")return!0;let a=Number.isFinite(+o),c=i>=s.length;return o=!o&&b.isArray(r)?r.length:o,c?(b.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):((!r[o]||!b.isObject(r[o]))&&(r[o]=[]),t(s,n,r[o],i)&&b.isArray(r[o])&&(r[o]=VC(r[o])),!a)}if(b.isFormData(e)&&b.isFunction(e.entries)){let s={};return b.forEachEntry(e,(n,r)=>{t(HC(n),r,s,0)}),s}return null}var ii=KC;function ZC(e,t,s){if(b.isString(e))try{return(t||JSON.parse)(e),b.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(s||JSON.stringify)(e)}var ra={transitional:cn,adapter:["xhr","http","fetch"],transformRequest:[function(t,s){let n=s.getContentType()||"",r=n.indexOf("application/json")>-1,i=b.isObject(t);if(i&&b.isHTMLForm(t)&&(t=new FormData(t)),b.isFormData(t))return r?JSON.stringify(ii(t)):t;if(b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t)||b.isReadableStream(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return s.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return na(t,this.formSerializer).toString();if((a=b.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return ts(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return i||r?(s.setContentType("application/json",!1),ZC(t)):t}],transformResponse:[function(t){let s=this.transitional||ra.transitional,n=s&&s.forcedJSONParsing,r=this.responseType==="json";if(b.isResponse(t)||b.isReadableStream(t))return t;if(t&&b.isString(t)&&(n&&!this.responseType||r)){let o=!(s&&s.silentJSONParsing)&&r;try{return JSON.parse(t,this.parseReviver)}catch(a){if(o)throw a.name==="SyntaxError"?N.from(a,N.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:fe.classes.FormData,Blob:fe.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};b.forEach(["delete","get","head","post","put","patch"],e=>{ra.headers[e]={}});var un=ra;var YC=b.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"]),gd=e=>{let t={},s,n,r;return e&&e.split(`
|
|
81
|
+
`).forEach(function(o){r=o.indexOf(":"),s=o.substring(0,r).trim().toLowerCase(),n=o.substring(r+1).trim(),!(!s||t[s]&&YC[s])&&(s==="set-cookie"?t[s]?t[s].push(n):t[s]=[n]:t[s]=t[s]?t[s]+", "+n:n)}),t};var hd=Symbol("internals");function Xn(e){return e&&String(e).trim().toLowerCase()}function oi(e){return e===!1||e==null?e:b.isArray(e)?e.map(oi):String(e)}function JC(e){let t=Object.create(null),s=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=s.exec(e);)t[n[1]]=n[2];return t}var QC=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function ia(e,t,s,n,r){if(b.isFunction(n))return n.call(this,t,s);if(r&&(t=s),!!b.isString(t)){if(b.isString(n))return t.indexOf(n)!==-1;if(b.isRegExp(n))return n.test(t)}}function XC(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,s,n)=>s.toUpperCase()+n)}function ex(e,t){let s=b.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+s,{value:function(r,i,o){return this[n].call(this,t,r,i,o)},configurable:!0})})}var ln=class{constructor(t){t&&this.set(t)}set(t,s,n){let r=this;function i(a,c,u){let l=Xn(c);if(!l)throw new Error("header name must be a non-empty string");let p=b.findKey(r,l);(!p||r[p]===void 0||u===!0||u===void 0&&r[p]!==!1)&&(r[p||c]=oi(a))}let o=(a,c)=>b.forEach(a,(u,l)=>i(u,l,c));if(b.isPlainObject(t)||t instanceof this.constructor)o(t,s);else if(b.isString(t)&&(t=t.trim())&&!QC(t))o(gd(t),s);else if(b.isObject(t)&&b.isIterable(t)){let a={},c,u;for(let l of t){if(!b.isArray(l))throw TypeError("Object iterator must return a key-value pair");a[u=l[0]]=(c=a[u])?b.isArray(c)?[...c,l[1]]:[c,l[1]]:l[1]}o(a,s)}else t!=null&&i(s,t,n);return this}get(t,s){if(t=Xn(t),t){let n=b.findKey(this,t);if(n){let r=this[n];if(!s)return r;if(s===!0)return JC(r);if(b.isFunction(s))return s.call(this,r,n);if(b.isRegExp(s))return s.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,s){if(t=Xn(t),t){let n=b.findKey(this,t);return!!(n&&this[n]!==void 0&&(!s||ia(this,this[n],n,s)))}return!1}delete(t,s){let n=this,r=!1;function i(o){if(o=Xn(o),o){let a=b.findKey(n,o);a&&(!s||ia(n,n[a],a,s))&&(delete n[a],r=!0)}}return b.isArray(t)?t.forEach(i):i(t),r}clear(t){let s=Object.keys(this),n=s.length,r=!1;for(;n--;){let i=s[n];(!t||ia(this,this[i],i,t,!0))&&(delete this[i],r=!0)}return r}normalize(t){let s=this,n={};return b.forEach(this,(r,i)=>{let o=b.findKey(n,i);if(o){s[o]=oi(r),delete s[i];return}let a=t?XC(i):String(i).trim();a!==i&&delete s[i],s[a]=oi(r),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let s=Object.create(null);return b.forEach(this,(n,r)=>{n!=null&&n!==!1&&(s[r]=t&&b.isArray(n)?n.join(", "):n)}),s}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,s])=>t+": "+s).join(`
|
|
82
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...s){let n=new this(t);return s.forEach(r=>n.set(r)),n}static accessor(t){let n=(this[hd]=this[hd]={accessors:{}}).accessors,r=this.prototype;function i(o){let a=Xn(o);n[a]||(ex(r,o),n[a]=!0)}return b.isArray(t)?t.forEach(i):i(t),this}};ln.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);b.reduceDescriptors(ln.prototype,({value:e},t)=>{let s=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[s]=n}}});b.freezeMethods(ln);var Re=ln;function er(e,t){let s=this||un,n=t||s,r=Re.from(n.headers),i=n.data;return b.forEach(e,function(a){i=a.call(s,i,r.normalize(),t?t.status:void 0)}),r.normalize(),i}function tr(e){return!!(e&&e.__CANCEL__)}function yd(e,t,s){N.call(this,e??"canceled",N.ERR_CANCELED,t,s),this.name="CanceledError"}b.inherits(yd,N,{__CANCEL__:!0});var nt=yd;function Lt(e,t,s){let n=s.config.validateStatus;!s.status||!n||n(s.status)?e(s):t(new N("Request failed with status code "+s.status,[N.ERR_BAD_REQUEST,N.ERR_BAD_RESPONSE][Math.floor(s.status/100)-4],s.config,s.request,s))}function oa(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function aa(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ds(e,t,s){let n=!oa(t);return e&&(n||s==!1)?aa(e,t):t}var em=Y(bd(),1),tm=Y(require("http"),1),sm=Y(require("https"),1),_a=Y(require("http2"),1),La=Y(require("util"),1),nm=Y(Nd(),1),Ut=Y(require("zlib"),1);var Cs="1.13.2";function or(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var Wx=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function Aa(e,t,s){let n=s&&s.Blob||fe.classes.Blob,r=or(e);if(t===void 0&&n&&(t=!0),r==="data"){e=r.length?e.slice(r.length+1):e;let i=Wx.exec(e);if(!i)throw new N("Invalid URL",N.ERR_INVALID_URL);let o=i[1],a=i[2],c=i[3],u=Buffer.from(decodeURIComponent(c),a?"base64":"utf8");if(t){if(!n)throw new N("Blob is not supported",N.ERR_NOT_SUPPORT);return new n([u],{type:o})}return u}throw new N("Unsupported protocol "+r,N.ERR_NOT_SUPPORT)}var $t=Y(require("stream"),1);var Wd=Y(require("stream"),1);var Fa=Symbol("internals"),Ea=class extends Wd.default.Transform{constructor(t){t=b.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(n,r)=>!b.isUndefined(r[n])),super({readableHighWaterMark:t.chunkSize});let s=this[Fa]={timeWindow:t.timeWindow,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",n=>{n==="progress"&&(s.isCaptured||(s.isCaptured=!0))})}_read(t){let s=this[Fa];return s.onReadCallback&&s.onReadCallback(),super._read(t)}_transform(t,s,n){let r=this[Fa],i=r.maxRate,o=this.readableHighWaterMark,a=r.timeWindow,c=1e3/a,u=i/c,l=r.minChunkSize!==!1?Math.max(r.minChunkSize,u*.01):0,p=(f,m)=>{let g=Buffer.byteLength(f);r.bytesSeen+=g,r.bytes+=g,r.isCaptured&&this.emit("progress",r.bytesSeen),this.push(f)?process.nextTick(m):r.onReadCallback=()=>{r.onReadCallback=null,process.nextTick(m)}},d=(f,m)=>{let g=Buffer.byteLength(f),h=null,y=o,D,S=0;if(i){let v=Date.now();(!r.ts||(S=v-r.ts)>=a)&&(r.ts=v,D=u-r.bytes,r.bytes=D<0?-D:0,S=0),D=u-r.bytes}if(i){if(D<=0)return setTimeout(()=>{m(null,f)},a-S);D<y&&(y=D)}y&&g>y&&g-y>l&&(h=f.subarray(y),f=f.subarray(0,y)),p(f,h?()=>{process.nextTick(m,null,h)}:m)};d(t,function f(m,g){if(m)return n(m);g?d(g,f):n(null)})}},Ra=Ea;var rm=require("events");var $d=Y(require("util"),1),Ud=require("stream");var{asyncIterator:jd}=Symbol,jx=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[jd]?yield*e[jd]():yield e},pi=jx;var $x=fe.ALPHABET.ALPHA_DIGIT+"-_",ar=typeof TextEncoder=="function"?new TextEncoder:new $d.default.TextEncoder,xs=`\r
|
|
83
|
+
`,Ux=ar.encode(xs),Gx=2,wa=class{constructor(t,s){let{escapeName:n}=this.constructor,r=b.isString(s),i=`Content-Disposition: form-data; name="${n(t)}"${!r&&s.name?`; filename="${n(s.name)}"`:""}${xs}`;r?s=ar.encode(String(s).replace(/\r?\n|\r\n?/g,xs)):i+=`Content-Type: ${s.type||"application/octet-stream"}${xs}`,this.headers=ar.encode(i+xs),this.contentLength=r?s.byteLength:s.size,this.size=this.headers.byteLength+this.contentLength+Gx,this.name=t,this.value=s}async*encode(){yield this.headers;let{value:t}=this;b.isTypedArray(t)?yield t:yield*pi(t),yield Ux}static escapeName(t){return String(t).replace(/[\r\n"]/g,s=>({"\r":"%0D","\n":"%0A",'"':"%22"})[s])}},zx=(e,t,s)=>{let{tag:n="form-data-boundary",size:r=25,boundary:i=n+"-"+fe.generateString(r,$x)}=s||{};if(!b.isFormData(e))throw TypeError("FormData instance required");if(i.length<1||i.length>70)throw Error("boundary must be 10-70 characters long");let o=ar.encode("--"+i+xs),a=ar.encode("--"+i+"--"+xs),c=a.byteLength,u=Array.from(e.entries()).map(([p,d])=>{let f=new wa(p,d);return c+=f.size,f});c+=o.byteLength*u.length,c=b.toFiniteNumber(c);let l={"Content-Type":`multipart/form-data; boundary=${i}`};return Number.isFinite(c)&&(l["Content-Length"]=c),t&&t(l),Ud.Readable.from(async function*(){for(let p of u)yield o,yield*p.encode();yield a}())},Gd=zx;var zd=Y(require("stream"),1),Ia=class extends zd.default.Transform{__transform(t,s,n){this.push(t),n()}_transform(t,s,n){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let r=Buffer.alloc(2);r[0]=120,r[1]=156,this.push(r,s)}this.__transform(t,s,n)}},qd=Ia;var qx=(e,t)=>b.isAsyncFn(e)?function(...s){let n=s.pop();e.apply(this,s).then(r=>{try{t?n(null,...t(r)):n(null,r)}catch(i){n(i)}},n)}:e,Hd=qx;function Hx(e,t){e=e||10;let s=new Array(e),n=new Array(e),r=0,i=0,o;return t=t!==void 0?t:1e3,function(c){let u=Date.now(),l=n[i];o||(o=u),s[r]=c,n[r]=u;let p=i,d=0;for(;p!==r;)d+=s[p++],p=p%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),u-o<t)return;let f=l&&u-l;return f?Math.round(d*1e3/f):void 0}}var Vd=Hx;function Vx(e,t){let s=0,n=1e3/t,r,i,o=(u,l=Date.now())=>{s=l,r=null,i&&(clearTimeout(i),i=null),e(...u)};return[(...u)=>{let l=Date.now(),p=l-s;p>=n?o(u,l):(r=u,i||(i=setTimeout(()=>{i=null,o(r)},n-p)))},()=>r&&o(r)]}var Kd=Vx;var jt=(e,t,s=3)=>{let n=0,r=Vd(50,250);return Kd(i=>{let o=i.loaded,a=i.lengthComputable?i.total:void 0,c=o-n,u=r(c),l=o<=a;n=o;let p={loaded:o,total:a,progress:a?o/a:void 0,bytes:c,rate:u||void 0,estimated:u&&a&&l?(a-o)/u:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(p)},s)},gn=(e,t)=>{let s=e!=null;return[n=>t[0]({lengthComputable:s,total:e,loaded:n}),t[1]]},hn=e=>(...t)=>b.asap(()=>e(...t));function Ta(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;let t=e.indexOf(",");if(t<0)return 0;let s=e.slice(5,t),n=e.slice(t+1);if(/;base64/i.test(s)){let i=n.length,o=n.length;for(let d=0;d<o;d++)if(n.charCodeAt(d)===37&&d+2<o){let f=n.charCodeAt(d+1),m=n.charCodeAt(d+2);(f>=48&&f<=57||f>=65&&f<=70||f>=97&&f<=102)&&(m>=48&&m<=57||m>=65&&m<=70||m>=97&&m<=102)&&(i-=2,d+=2)}let a=0,c=o-1,u=d=>d>=2&&n.charCodeAt(d-2)===37&&n.charCodeAt(d-1)===51&&(n.charCodeAt(d)===68||n.charCodeAt(d)===100);c>=0&&(n.charCodeAt(c)===61?(a++,c--):u(c)&&(a++,c-=3)),a===1&&c>=0&&(n.charCodeAt(c)===61||u(c))&&a++;let p=Math.floor(i/4)*3-(a||0);return p>0?p:0}return Buffer.byteLength(n,"utf8")}var Zd={flush:Ut.default.constants.Z_SYNC_FLUSH,finishFlush:Ut.default.constants.Z_SYNC_FLUSH},Kx={flush:Ut.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Ut.default.constants.BROTLI_OPERATION_FLUSH},Yd=b.isFunction(Ut.default.createBrotliDecompress),{http:Zx,https:Yx}=nm.default,Jx=/https:?/,Jd=fe.protocols.map(e=>e+":"),Qd=(e,[t,s])=>(e.on("end",s).on("error",s),t),ka=class{constructor(){this.sessions=Object.create(null)}getSession(t,s){s=Object.assign({sessionTimeout:1e3},s);let n=this.sessions[t];if(n){let l=n.length;for(let p=0;p<l;p++){let[d,f]=n[p];if(!d.destroyed&&!d.closed&&La.default.isDeepStrictEqual(f,s))return d}}let r=_a.default.connect(t,s),i,o=()=>{if(i)return;i=!0;let l=n,p=l.length,d=p;for(;d--;)if(l[d][0]===r){p===1?delete this.sessions[t]:l.splice(d,1);return}},a=r.request,{sessionTimeout:c}=s;if(c!=null){let l,p=0;r.request=function(){let d=a.apply(this,arguments);return p++,l&&(clearTimeout(l),l=null),d.once("close",()=>{--p||(l=setTimeout(()=>{l=null,o()},c))}),d}}r.once("close",o);let u=[r,s];return n?n.push(u):n=this.sessions[t]=[u],r}},Qx=new ka;function Xx(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function im(e,t,s){let n=t;if(!n&&n!==!1){let r=em.default.getProxyForUrl(s);r&&(n=new URL(r))}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 i=Buffer.from(n.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+i}e.headers.host=e.hostname+(e.port?":"+e.port:"");let r=n.hostname||n.host;e.hostname=r,e.host=r,e.port=n.port,e.path=s,n.protocol&&(e.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}e.beforeRedirects.proxy=function(i){im(i,t,i.href)}}var e0=typeof process<"u"&&b.kindOf(process)==="process",t0=e=>new Promise((t,s)=>{let n,r,i=(c,u)=>{r||(r=!0,n&&n(c,u))},o=c=>{i(c),t(c)},a=c=>{i(c,!0),s(c)};e(o,a,c=>n=c).catch(a)}),s0=({address:e,family:t})=>{if(!b.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},Xd=(e,t)=>s0(b.isObject(e)?e:{address:e,family:t}),n0={request(e,t){let s=e.protocol+"//"+e.hostname+":"+(e.port||80),{http2Options:n,headers:r}=e,i=Qx.getSession(s,n),{HTTP2_HEADER_SCHEME:o,HTTP2_HEADER_METHOD:a,HTTP2_HEADER_PATH:c,HTTP2_HEADER_STATUS:u}=_a.default.constants,l={[o]:e.protocol.replace(":",""),[a]:e.method,[c]:e.path};b.forEach(r,(d,f)=>{f.charAt(0)!==":"&&(l[f]=d)});let p=i.request(l);return p.once("response",d=>{let f=p;d=Object.assign({},d);let m=d[u];delete d[u],f.headers=d,f.statusCode=+m,t(f)}),p}},om=e0&&function(t){return t0(async function(n,r,i){let{data:o,lookup:a,family:c,httpVersion:u=1,http2Options:l}=t,{responseType:p,responseEncoding:d}=t,f=t.method.toUpperCase(),m,g=!1,h;if(u=+u,Number.isNaN(u))throw TypeError(`Invalid protocol version: '${t.httpVersion}' is not a number`);if(u!==1&&u!==2)throw TypeError(`Unsupported protocol version '${u}'`);let y=u===2;if(a){let U=Hd(a,B=>b.isArray(B)?B:[B]);a=(B,oe,Ae)=>{U(B,oe,(J,ae,be)=>{if(J)return Ae(J);let Ee=b.isArray(ae)?ae.map(Qs=>Xd(Qs)):[Xd(ae,be)];oe.all?Ae(J,Ee):Ae(J,Ee[0].address,Ee[0].family)})}}let D=new rm.EventEmitter;function S(U){try{D.emit("abort",!U||U.type?new nt(null,t,h):U)}catch(B){console.warn("emit error",B)}}D.once("abort",r);let v=()=>{t.cancelToken&&t.cancelToken.unsubscribe(S),t.signal&&t.signal.removeEventListener("abort",S),D.removeAllListeners()};(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(S),t.signal&&(t.signal.aborted?S():t.signal.addEventListener("abort",S))),i((U,B)=>{if(m=!0,B){g=!0,v();return}let{data:oe}=U;if(oe instanceof $t.default.Readable||oe instanceof $t.default.Duplex){let Ae=$t.default.finished(oe,()=>{Ae(),v()})}else v()});let R=Ds(t.baseURL,t.url,t.allowAbsoluteUrls),k=new URL(R,fe.hasBrowserEnv?fe.origin:void 0),_=k.protocol||Jd[0];if(_==="data:"){if(t.maxContentLength>-1){let B=String(t.url||R||"");if(Ta(B)>t.maxContentLength)return r(new N("maxContentLength size of "+t.maxContentLength+" exceeded",N.ERR_BAD_RESPONSE,t))}let U;if(f!=="GET")return Lt(n,r,{status:405,statusText:"method not allowed",headers:{},config:t});try{U=Aa(t.url,p==="blob",{Blob:t.env&&t.env.Blob})}catch(B){throw N.from(B,N.ERR_BAD_REQUEST,t)}return p==="text"?(U=U.toString(d),(!d||d==="utf8")&&(U=b.stripBOM(U))):p==="stream"&&(U=$t.default.Readable.from(U)),Lt(n,r,{data:U,status:200,statusText:"OK",headers:new Re,config:t})}if(Jd.indexOf(_)===-1)return r(new N("Unsupported protocol "+_,N.ERR_BAD_REQUEST,t));let x=Re.from(t.headers).normalize();x.set("User-Agent","axios/"+Cs,!1);let{onUploadProgress:$,onDownloadProgress:H}=t,Z=t.maxRate,V,q;if(b.isSpecCompliantForm(o)){let U=x.getContentType(/boundary=([-_\w\d]{10,70})/i);o=Gd(o,B=>{x.set(B)},{tag:`axios-${Cs}-boundary`,boundary:U&&U[1]||void 0})}else if(b.isFormData(o)&&b.isFunction(o.getHeaders)){if(x.set(o.getHeaders()),!x.hasContentLength())try{let U=await La.default.promisify(o.getLength).call(o);Number.isFinite(U)&&U>=0&&x.setContentLength(U)}catch{}}else if(b.isBlob(o)||b.isFile(o))o.size&&x.setContentType(o.type||"application/octet-stream"),x.setContentLength(o.size||0),o=$t.default.Readable.from(pi(o));else if(o&&!b.isStream(o)){if(!Buffer.isBuffer(o))if(b.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else if(b.isString(o))o=Buffer.from(o,"utf-8");else return r(new N("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",N.ERR_BAD_REQUEST,t));if(x.setContentLength(o.length,!1),t.maxBodyLength>-1&&o.length>t.maxBodyLength)return r(new N("Request body larger than maxBodyLength limit",N.ERR_BAD_REQUEST,t))}let M=b.toFiniteNumber(x.getContentLength());b.isArray(Z)?(V=Z[0],q=Z[1]):V=q=Z,o&&($||V)&&(b.isStream(o)||(o=$t.default.Readable.from(o,{objectMode:!1})),o=$t.default.pipeline([o,new Ra({maxRate:b.toFiniteNumber(V)})],b.noop),$&&o.on("progress",Qd(o,gn(M,jt(hn($),!1,3)))));let I;if(t.auth){let U=t.auth.username||"",B=t.auth.password||"";I=U+":"+B}if(!I&&k.username){let U=k.username,B=k.password;I=U+":"+B}I&&x.delete("authorization");let T;try{T=ys(k.pathname+k.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(U){let B=new Error(U.message);return B.config=t,B.url=t.url,B.exists=!0,r(B)}x.set("Accept-Encoding","gzip, compress, deflate"+(Yd?", br":""),!1);let W={path:T,method:f,headers:x.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:I,protocol:_,family:c,beforeRedirect:Xx,beforeRedirects:{},http2Options:l};!b.isUndefined(a)&&(W.lookup=a),t.socketPath?W.socketPath=t.socketPath:(W.hostname=k.hostname.startsWith("[")?k.hostname.slice(1,-1):k.hostname,W.port=k.port,im(W,t.proxy,_+"//"+k.hostname+(k.port?":"+k.port:"")+W.path));let K,pe=Jx.test(W.protocol);if(W.agent=pe?t.httpsAgent:t.httpAgent,y?K=n0:t.transport?K=t.transport:t.maxRedirects===0?K=pe?sm.default:tm.default:(t.maxRedirects&&(W.maxRedirects=t.maxRedirects),t.beforeRedirect&&(W.beforeRedirects.config=t.beforeRedirect),K=pe?Yx:Zx),t.maxBodyLength>-1?W.maxBodyLength=t.maxBodyLength:W.maxBodyLength=1/0,t.insecureHTTPParser&&(W.insecureHTTPParser=t.insecureHTTPParser),h=K.request(W,function(B){if(h.destroyed)return;let oe=[B],Ae=b.toFiniteNumber(B.headers["content-length"]);if(H||q){let Ee=new Ra({maxRate:b.toFiniteNumber(q)});H&&Ee.on("progress",Qd(Ee,gn(Ae,jt(hn(H),!0,3)))),oe.push(Ee)}let J=B,ae=B.req||h;if(t.decompress!==!1&&B.headers["content-encoding"])switch((f==="HEAD"||B.statusCode===204)&&delete B.headers["content-encoding"],(B.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":oe.push(Ut.default.createUnzip(Zd)),delete B.headers["content-encoding"];break;case"deflate":oe.push(new qd),oe.push(Ut.default.createUnzip(Zd)),delete B.headers["content-encoding"];break;case"br":Yd&&(oe.push(Ut.default.createBrotliDecompress(Kx)),delete B.headers["content-encoding"])}J=oe.length>1?$t.default.pipeline(oe,b.noop):oe[0];let be={status:B.statusCode,statusText:B.statusMessage,headers:new Re(B.headers),config:t,request:ae};if(p==="stream")be.data=J,Lt(n,r,be);else{let Ee=[],Qs=0;J.on("data",function($e){Ee.push($e),Qs+=$e.length,t.maxContentLength>-1&&Qs>t.maxContentLength&&(g=!0,J.destroy(),S(new N("maxContentLength size of "+t.maxContentLength+" exceeded",N.ERR_BAD_RESPONSE,t,ae)))}),J.on("aborted",function(){if(g)return;let $e=new N("stream has been aborted",N.ERR_BAD_RESPONSE,t,ae);J.destroy($e),r($e)}),J.on("error",function($e){h.destroyed||r(N.from($e,null,t,ae))}),J.on("end",function(){try{let $e=Ee.length===1?Ee[0]:Buffer.concat(Ee);p!=="arraybuffer"&&($e=$e.toString(d),(!d||d==="utf8")&&($e=b.stripBOM($e))),be.data=$e}catch($e){return r(N.from($e,null,t,be.request,be))}Lt(n,r,be)})}D.once("abort",Ee=>{J.destroyed||(J.emit("error",Ee),J.destroy())})}),D.once("abort",U=>{h.close?h.close():h.destroy(U)}),h.on("error",function(B){r(N.from(B,null,t,h))}),h.on("socket",function(B){B.setKeepAlive(!0,1e3*60)}),t.timeout){let U=parseInt(t.timeout,10);if(Number.isNaN(U)){S(new N("error trying to parse `config.timeout` to int",N.ERR_BAD_OPTION_VALUE,t,h));return}h.setTimeout(U,function(){if(m)return;let oe=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",Ae=t.transitional||cn;t.timeoutErrorMessage&&(oe=t.timeoutErrorMessage),S(new N(oe,Ae.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,t,h))})}else h.setTimeout(0);if(b.isStream(o)){let U=!1,B=!1;o.on("end",()=>{U=!0}),o.once("error",oe=>{B=!0,h.destroy(oe)}),o.on("close",()=>{!U&&!B&&S(new nt("Request stream has been aborted",t,h))}),o.pipe(h)}else o&&h.write(o),h.end()})};var am=fe.hasStandardBrowserEnv?((e,t)=>s=>(s=new URL(s,fe.origin),e.protocol===s.protocol&&e.host===s.host&&(t||e.port===s.port)))(new URL(fe.origin),fe.navigator&&/(msie|trident)/i.test(fe.navigator.userAgent)):()=>!0;var cm=fe.hasStandardBrowserEnv?{write(e,t,s,n,r,i,o){if(typeof document>"u")return;let a=[`${e}=${encodeURIComponent(t)}`];b.isNumber(s)&&a.push(`expires=${new Date(s).toUTCString()}`),b.isString(n)&&a.push(`path=${n}`),b.isString(r)&&a.push(`domain=${r}`),i===!0&&a.push("secure"),b.isString(o)&&a.push(`SameSite=${o}`),document.cookie=a.join("; ")},read(e){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};var um=e=>e instanceof Re?{...e}:e;function At(e,t){t=t||{};let s={};function n(u,l,p,d){return b.isPlainObject(u)&&b.isPlainObject(l)?b.merge.call({caseless:d},u,l):b.isPlainObject(l)?b.merge({},l):b.isArray(l)?l.slice():l}function r(u,l,p,d){if(b.isUndefined(l)){if(!b.isUndefined(u))return n(void 0,u,p,d)}else return n(u,l,p,d)}function i(u,l){if(!b.isUndefined(l))return n(void 0,l)}function o(u,l){if(b.isUndefined(l)){if(!b.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function a(u,l,p){if(p in t)return n(u,l);if(p in e)return n(void 0,u)}let c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,l,p)=>r(um(u),um(l),p,!0)};return b.forEach(Object.keys({...e,...t}),function(l){let p=c[l]||r,d=p(e[l],t[l],l);b.isUndefined(d)&&p!==a||(s[l]=d)}),s}var di=e=>{let t=At({},e),{data:s,withXSRFToken:n,xsrfHeaderName:r,xsrfCookieName:i,headers:o,auth:a}=t;if(t.headers=o=Re.from(o),t.url=ys(Ds(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&o.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),b.isFormData(s)){if(fe.hasStandardBrowserEnv||fe.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(b.isFunction(s.getHeaders)){let c=s.getHeaders(),u=["content-type","content-length"];Object.entries(c).forEach(([l,p])=>{u.includes(l.toLowerCase())&&o.set(l,p)})}}if(fe.hasStandardBrowserEnv&&(n&&b.isFunction(n)&&(n=n(t)),n||n!==!1&&am(t.url))){let c=r&&i&&cm.read(i);c&&o.set(r,c)}return t};var r0=typeof XMLHttpRequest<"u",lm=r0&&function(e){return new Promise(function(s,n){let r=di(e),i=r.data,o=Re.from(r.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:u}=r,l,p,d,f,m;function g(){f&&f(),m&&m(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener("abort",l)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function y(){if(!h)return;let S=Re.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),R={data:!a||a==="text"||a==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:S,config:e,request:h};Lt(function(_){s(_),g()},function(_){n(_),g()},R),h=null}"onloadend"in h?h.onloadend=y:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(y)},h.onabort=function(){h&&(n(new N("Request aborted",N.ECONNABORTED,e,h)),h=null)},h.onerror=function(v){let R=v&&v.message?v.message:"Network Error",k=new N(R,N.ERR_NETWORK,e,h);k.event=v||null,n(k),h=null},h.ontimeout=function(){let v=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded",R=r.transitional||cn;r.timeoutErrorMessage&&(v=r.timeoutErrorMessage),n(new N(v,R.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,e,h)),h=null},i===void 0&&o.setContentType(null),"setRequestHeader"in h&&b.forEach(o.toJSON(),function(v,R){h.setRequestHeader(R,v)}),b.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),a&&a!=="json"&&(h.responseType=r.responseType),u&&([d,m]=jt(u,!0),h.addEventListener("progress",d)),c&&h.upload&&([p,f]=jt(c),h.upload.addEventListener("progress",p),h.upload.addEventListener("loadend",f)),(r.cancelToken||r.signal)&&(l=S=>{h&&(n(!S||S.type?new nt(null,e,h):S),h.abort(),h=null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener("abort",l)));let D=or(r.url);if(D&&fe.protocols.indexOf(D)===-1){n(new N("Unsupported protocol "+D+":",N.ERR_BAD_REQUEST,e));return}h.send(i||null)})};var i0=(e,t)=>{let{length:s}=e=e?e.filter(Boolean):[];if(t||s){let n=new AbortController,r,i=function(u){if(!r){r=!0,a();let l=u instanceof Error?u:this.reason;n.abort(l instanceof N?l:new nt(l instanceof Error?l.message:l))}},o=t&&setTimeout(()=>{o=null,i(new N(`timeout ${t} of ms exceeded`,N.ETIMEDOUT))},t),a=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),e=null)};e.forEach(u=>u.addEventListener("abort",i));let{signal:c}=n;return c.unsubscribe=()=>b.asap(a),c}},pm=i0;var o0=function*(e,t){let s=e.byteLength;if(!t||s<t){yield e;return}let n=0,r;for(;n<s;)r=n+t,yield e.slice(n,r),n=r},a0=async function*(e,t){for await(let s of c0(e))yield*o0(s,t)},c0=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:s,value:n}=await t.read();if(s)break;yield n}}finally{await t.cancel()}},Pa=(e,t,s,n)=>{let r=a0(e,t),i=0,o,a=c=>{o||(o=!0,n&&n(c))};return new ReadableStream({async pull(c){try{let{done:u,value:l}=await r.next();if(u){a(),c.close();return}let p=l.byteLength;if(s){let d=i+=p;s(d)}c.enqueue(new Uint8Array(l))}catch(u){throw a(u),u}},cancel(c){return a(c),r.return()}},{highWaterMark:2})};var dm=64*1024,{isFunction:mi}=b,u0=(({Request:e,Response:t})=>({Request:e,Response:t}))(b.global),{ReadableStream:mm,TextEncoder:fm}=b.global,gm=(e,...t)=>{try{return!!e(...t)}catch{return!1}},l0=e=>{e=b.merge.call({skipUndefined:!0},u0,e);let{fetch:t,Request:s,Response:n}=e,r=t?mi(t):typeof fetch=="function",i=mi(s),o=mi(n);if(!r)return!1;let a=r&&mi(mm),c=r&&(typeof fm=="function"?(m=>g=>m.encode(g))(new fm):async m=>new Uint8Array(await new s(m).arrayBuffer())),u=i&&a&&gm(()=>{let m=!1,g=new s(fe.origin,{body:new mm,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!g}),l=o&&a&&gm(()=>b.isReadableStream(new n("").body)),p={stream:l&&(m=>m.body)};r&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!p[m]&&(p[m]=(g,h)=>{let y=g&&g[m];if(y)return y.call(g);throw new N(`Response type '${m}' is not supported`,N.ERR_NOT_SUPPORT,h)})});let d=async m=>{if(m==null)return 0;if(b.isBlob(m))return m.size;if(b.isSpecCompliantForm(m))return(await new s(fe.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(b.isArrayBufferView(m)||b.isArrayBuffer(m))return m.byteLength;if(b.isURLSearchParams(m)&&(m=m+""),b.isString(m))return(await c(m)).byteLength},f=async(m,g)=>{let h=b.toFiniteNumber(m.getContentLength());return h??d(g)};return async m=>{let{url:g,method:h,data:y,signal:D,cancelToken:S,timeout:v,onDownloadProgress:R,onUploadProgress:k,responseType:_,headers:x,withCredentials:$="same-origin",fetchOptions:H}=di(m),Z=t||fetch;_=_?(_+"").toLowerCase():"text";let V=pm([D,S&&S.toAbortSignal()],v),q=null,M=V&&V.unsubscribe&&(()=>{V.unsubscribe()}),I;try{if(k&&u&&h!=="get"&&h!=="head"&&(I=await f(x,y))!==0){let B=new s(g,{method:"POST",body:y,duplex:"half"}),oe;if(b.isFormData(y)&&(oe=B.headers.get("content-type"))&&x.setContentType(oe),B.body){let[Ae,J]=gn(I,jt(hn(k)));y=Pa(B.body,dm,Ae,J)}}b.isString($)||($=$?"include":"omit");let T=i&&"credentials"in s.prototype,W={...H,signal:V,method:h.toUpperCase(),headers:x.normalize().toJSON(),body:y,duplex:"half",credentials:T?$:void 0};q=i&&new s(g,W);let K=await(i?Z(q,H):Z(g,W)),pe=l&&(_==="stream"||_==="response");if(l&&(R||pe&&M)){let B={};["status","statusText","headers"].forEach(ae=>{B[ae]=K[ae]});let oe=b.toFiniteNumber(K.headers.get("content-length")),[Ae,J]=R&&gn(oe,jt(hn(R),!0))||[];K=new n(Pa(K.body,dm,Ae,()=>{J&&J(),M&&M()}),B)}_=_||"text";let U=await p[b.findKey(p,_)||"text"](K,m);return!pe&&M&&M(),await new Promise((B,oe)=>{Lt(B,oe,{data:U,headers:Re.from(K.headers),status:K.status,statusText:K.statusText,config:m,request:q})})}catch(T){throw M&&M(),T&&T.name==="TypeError"&&/Load failed|fetch/i.test(T.message)?Object.assign(new N("Network Error",N.ERR_NETWORK,m,q),{cause:T.cause||T}):N.from(T,T&&T.code,m,q)}}},p0=new Map,Oa=e=>{let t=e&&e.env||{},{fetch:s,Request:n,Response:r}=t,i=[n,r,s],o=i.length,a=o,c,u,l=p0;for(;a--;)c=i[a],u=l.get(c),u===void 0&&l.set(c,u=a?new Map:l0(t)),l=u;return u},KP=Oa();var Ba={http:om,xhr:lm,fetch:{get:Oa}};b.forEach(Ba,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var hm=e=>`- ${e}`,m0=e=>b.isFunction(e)||e===null||e===!1;function f0(e,t){e=b.isArray(e)?e:[e];let{length:s}=e,n,r,i={};for(let o=0;o<s;o++){n=e[o];let a;if(r=n,!m0(n)&&(r=Ba[(a=String(n)).toLowerCase()],r===void 0))throw new N(`Unknown adapter '${a}'`);if(r&&(b.isFunction(r)||(r=r.get(t))))break;i[a||"#"+o]=r}if(!r){let o=Object.entries(i).map(([c,u])=>`adapter ${c} `+(u===!1?"is not supported by the environment":"is not available in the build")),a=s?o.length>1?`since :
|
|
84
|
+
`+o.map(hm).join(`
|
|
85
|
+
`):" "+hm(o[0]):"as no adapter specified";throw new N("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r}var fi={getAdapter:f0,adapters:Ba};function Ma(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new nt(null,e)}function gi(e){return Ma(e),e.headers=Re.from(e.headers),e.data=er.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),fi.getAdapter(e.adapter||un.adapter,e)(e).then(function(n){return Ma(e),n.data=er.call(e,e.transformResponse,n),n.headers=Re.from(n.headers),n},function(n){return tr(n)||(Ma(e),n&&n.response&&(n.response.data=er.call(e,e.transformResponse,n.response),n.response.headers=Re.from(n.response.headers))),Promise.reject(n)})}var hi={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{hi[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});var ym={};hi.transitional=function(t,s,n){function r(i,o){return"[Axios v"+Cs+"] Transitional option '"+i+"'"+o+(n?". "+n:"")}return(i,o,a)=>{if(t===!1)throw new N(r(o," has been removed"+(s?" in "+s:"")),N.ERR_DEPRECATED);return s&&!ym[o]&&(ym[o]=!0,console.warn(r(o," has been deprecated since v"+s+" and will be removed in the near future"))),t?t(i,o,a):!0}};hi.spelling=function(t){return(s,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function g0(e,t,s){if(typeof e!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);let n=Object.keys(e),r=n.length;for(;r-- >0;){let i=n[r],o=t[i];if(o){let a=e[i],c=a===void 0||o(a,i,e);if(c!==!0)throw new N("option "+i+" must be "+c,N.ERR_BAD_OPTION_VALUE);continue}if(s!==!0)throw new N("Unknown option "+i,N.ERR_BAD_OPTION)}}var cr={assertOptions:g0,validators:hi};var Pt=cr.validators,yn=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Qo,response:new Qo}}async request(t,s){try{return await this._request(t,s)}catch(n){if(n instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;let i=r.stack?r.stack.replace(/^.+\n/,""):"";try{n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=`
|
|
86
|
+
`+i):n.stack=i}catch{}}throw n}}_request(t,s){typeof t=="string"?(s=s||{},s.url=t):s=t||{},s=At(this.defaults,s);let{transitional:n,paramsSerializer:r,headers:i}=s;n!==void 0&&cr.assertOptions(n,{silentJSONParsing:Pt.transitional(Pt.boolean),forcedJSONParsing:Pt.transitional(Pt.boolean),clarifyTimeoutError:Pt.transitional(Pt.boolean)},!1),r!=null&&(b.isFunction(r)?s.paramsSerializer={serialize:r}:cr.assertOptions(r,{encode:Pt.function,serialize:Pt.function},!0)),s.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?s.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:s.allowAbsoluteUrls=!0),cr.assertOptions(s,{baseUrl:Pt.spelling("baseURL"),withXsrfToken:Pt.spelling("withXSRFToken")},!0),s.method=(s.method||this.defaults.method||"get").toLowerCase();let o=i&&b.merge(i.common,i[s.method]);i&&b.forEach(["delete","get","head","post","put","patch","common"],m=>{delete i[m]}),s.headers=Re.concat(o,i);let a=[],c=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(s)===!1||(c=c&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});let u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let l,p=0,d;if(!c){let m=[gi.bind(this),void 0];for(m.unshift(...a),m.push(...u),d=m.length,l=Promise.resolve(s);p<d;)l=l.then(m[p++],m[p++]);return l}d=a.length;let f=s;for(;p<d;){let m=a[p++],g=a[p++];try{f=m(f)}catch(h){g.call(this,h);break}}try{l=gi.call(this,f)}catch(m){return Promise.reject(m)}for(p=0,d=u.length;p<d;)l=l.then(u[p++],u[p++]);return l}getUri(t){t=At(this.defaults,t);let s=Ds(t.baseURL,t.url,t.allowAbsoluteUrls);return ys(s,t.params,t.paramsSerializer)}};b.forEach(["delete","get","head","options"],function(t){yn.prototype[t]=function(s,n){return this.request(At(n||{},{method:t,url:s,data:(n||{}).data}))}});b.forEach(["post","put","patch"],function(t){function s(n){return function(i,o,a){return this.request(At(a||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}yn.prototype[t]=s(),yn.prototype[t+"Form"]=s(!0)});var ur=yn;var Na=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let s;this.promise=new Promise(function(i){s=i});let n=this;this.promise.then(r=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](r);n._listeners=null}),this.promise.then=r=>{let i,o=new Promise(a=>{n.subscribe(a),i=a}).then(r);return o.cancel=function(){n.unsubscribe(i)},o},t(function(i,o,a){n.reason||(n.reason=new nt(i,o,a),s(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let s=this._listeners.indexOf(t);s!==-1&&this._listeners.splice(s,1)}toAbortSignal(){let t=new AbortController,s=n=>{t.abort(n)};return this.subscribe(s),t.signal.unsubscribe=()=>this.unsubscribe(s),t.signal}static source(){let t;return{token:new e(function(r){t=r}),cancel:t}}},Dm=Na;function Wa(e){return function(s){return e.apply(null,s)}}function ja(e){return b.isObject(e)&&e.isAxiosError===!0}var $a={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries($a).forEach(([e,t])=>{$a[t]=e});var bm=$a;function vm(e){let t=new ur(e),s=qn(ur.prototype.request,t);return b.extend(s,ur.prototype,t,{allOwnKeys:!0}),b.extend(s,t,null,{allOwnKeys:!0}),s.create=function(r){return vm(At(e,r))},s}var _e=vm(un);_e.Axios=ur;_e.CanceledError=nt;_e.CancelToken=Dm;_e.isCancel=tr;_e.VERSION=Cs;_e.toFormData=ts;_e.AxiosError=N;_e.Cancel=_e.CanceledError;_e.all=function(t){return Promise.all(t)};_e.spread=Wa;_e.isAxiosError=ja;_e.mergeConfig=At;_e.AxiosHeaders=Re;_e.formToJSON=e=>ii(b.isHTMLForm(e)?new FormData(e):e);_e.getAdapter=fi.getAdapter;_e.HttpStatusCode=bm;_e.default=_e;var Gt=_e;var{Axios:z2,AxiosError:q2,CanceledError:H2,isCancel:V2,CancelToken:K2,VERSION:Z2,all:Y2,Cancel:J2,isAxiosError:Q2,spread:X2,toFormData:e1,AxiosHeaders:t1,HttpStatusCode:s1,formToJSON:n1,getAdapter:r1,mergeConfig:i1}=Gt;var yi=require("node:fs"),lr=require("node:path");function Sm(){let e=require.resolve("@aws-solutions-constructs/core/package.json"),t=(0,lr.dirname)((0,lr.dirname)(e));return(0,yi.readdirSync)(t).filter(s=>s!=="core"&&s.startsWith("aws-")&&(0,yi.statSync)((0,lr.join)(t,s)).isDirectory())}var Cm={"aws-apigateway-dynamodb":{className:"ApiGatewayToDynamoDB",packageName:"aws-apigateway-dynamodb",friendlyName:"Api Gateway To Dynamo DB",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-dynamodb/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-dynamodb",requiredResourceTypes:["AWS::DynamoDB::Table","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::IAM::Role","AWS::ApiGateway::Account","AWS::IAM::Policy"]},"aws-apigateway-kinesisstreams":{className:"ApiGatewayToKinesisStreams",packageName:"aws-apigateway-kinesisstreams",friendlyName:"Api Gateway To Kinesis Streams",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-kinesisstreams/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-kinesisstreams",requiredResourceTypes:["AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::ApiGateway::RequestValidator","AWS::ApiGateway::Model","AWS::IAM::Role","AWS::ApiGateway::Account","AWS::IAM::Policy","AWS::CloudWatch::Alarm","AWS::Kinesis::Stream"]},"aws-apigateway-lambda":{className:"ApiGatewayToLambda",packageName:"aws-apigateway-lambda",friendlyName:"Api Gateway To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::Lambda::Permission","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::ApiGateway::Account"]},"aws-apigateway-sqs":{className:"ApiGatewayToSqs",packageName:"aws-apigateway-sqs",friendlyName:"Api Gateway To Sqs",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-sqs",requiredResourceTypes:["AWS::SQS::Queue","AWS::SQS::QueuePolicy","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::IAM::Role","AWS::ApiGateway::Account","AWS::IAM::Policy"]},"aws-apigatewayv2websocket-sqs":{className:"ApiGatewayV2WebSocketToSqs",packageName:"aws-apigatewayv2websocket-sqs",friendlyName:"Api Gateway V2 Web Socket To Sqs",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigatewayv2websocket-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigatewayv2websocket-sqs",requiredResourceTypes:["AWS::SQS::Queue","AWS::SQS::QueuePolicy","AWS::IAM::Role","AWS::IAM::Policy","AWS::ApiGatewayV2::Api","AWS::ApiGatewayV2::Integration","AWS::ApiGatewayV2::Route","AWS::ApiGatewayV2::Stage","AWS::Logs::LogGroup"]},"aws-cloudfront-apigateway-lambda":{className:"CloudFrontToApiGatewayToLambda",packageName:"aws-cloudfront-apigateway-lambda",friendlyName:"Cloud Front To Api Gateway To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-apigateway-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-apigateway-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::Lambda::Permission","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::ApiGateway::Account","AWS::CloudFront::Function","AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::CloudFront::Distribution"]},"aws-cloudfront-mediastore":{className:"CloudFrontToMediaStore",packageName:"aws-cloudfront-mediastore",friendlyName:"Cloud Front To Media Store",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-mediastore/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-mediastore",requiredResourceTypes:["AWS::CloudFront::CloudFrontOriginAccessIdentity","AWS::MediaStore::Container","AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::CloudFront::OriginRequestPolicy","AWS::CloudFront::Function","AWS::CloudFront::Distribution"]},"aws-cloudfront-oai-s3":{className:"CloudFrontToOaiToS3",packageName:"aws-cloudfront-oai-s3",friendlyName:"Cloud Front To Oai To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-oai-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-oai-s3",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::CloudFront::Function","AWS::CloudFront::CloudFrontOriginAccessIdentity","AWS::CloudFront::Distribution"]},"aws-cloudfront-s3":{className:"CloudFrontToS3",packageName:"aws-cloudfront-s3",friendlyName:"Cloud Front To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-s3",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::CloudFront::Function","AWS::CloudFront::OriginAccessControl","AWS::CloudFront::Distribution"]},"aws-cognito-apigateway-lambda":{className:"CognitoToApiGatewayToLambda",packageName:"aws-cognito-apigateway-lambda",friendlyName:"Cognito To Api Gateway To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cognito-apigateway-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cognito-apigateway-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Logs::LogGroup","AWS::ApiGateway::RestApi","AWS::ApiGateway::Deployment","AWS::ApiGateway::Stage","AWS::ApiGateway::Resource","AWS::Lambda::Permission","AWS::ApiGateway::Method","AWS::ApiGateway::UsagePlan","AWS::ApiGateway::Account","AWS::Cognito::UserPool","AWS::Cognito::UserPoolClient","AWS::ApiGateway::Authorizer"]},"aws-dynamodbstreams-lambda":{className:"DynamoDBStreamsToLambda",packageName:"aws-dynamodbstreams-lambda",friendlyName:"Dynamo DBStreams To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-dynamodbstreams-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-dynamodbstreams-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Lambda::EventSourceMapping","AWS::DynamoDB::Table","AWS::SQS::Queue","AWS::SQS::QueuePolicy"]},"aws-kinesisfirehose-s3":{className:"KinesisFirehoseToS3",packageName:"aws-kinesisfirehose-s3",friendlyName:"Kinesis Firehose To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-kinesisfirehose-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-kinesisfirehose-s3",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::Logs::LogGroup","AWS::Logs::LogStream","AWS::IAM::Role","AWS::IAM::Policy","AWS::KinesisFirehose::DeliveryStream"]},"aws-kinesisstreams-kinesisfirehose-s3":{className:"KinesisStreamsToKinesisFirehoseToS3",packageName:"aws-kinesisstreams-kinesisfirehose-s3",friendlyName:"Kinesis Streams To Kinesis Firehose To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-kinesisstreams-kinesisfirehose-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-kinesisstreams-kinesisfirehose-s3",requiredResourceTypes:["AWS::Kinesis::Stream","AWS::S3::Bucket","AWS::S3::BucketPolicy","AWS::Logs::LogGroup","AWS::Logs::LogStream","AWS::IAM::Role","AWS::IAM::Policy","AWS::KinesisFirehose::DeliveryStream","AWS::CloudWatch::Alarm"]},"aws-s3-lambda":{className:"S3ToLambda",packageName:"aws-s3-lambda",friendlyName:"S3 To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-s3-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-s3-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::S3::Bucket","AWS::S3::BucketPolicy","Custom::S3BucketNotifications","AWS::Lambda::Permission"]},"aws-s3-sns":{className:"S3ToSns",packageName:"aws-s3-sns",friendlyName:"S3 To Sns",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-s3-sns/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-s3-sns",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","Custom::S3BucketNotifications","AWS::KMS::Key","AWS::SNS::Topic","AWS::SNS::TopicPolicy","AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function"]},"aws-s3-sqs":{className:"S3ToSqs",packageName:"aws-s3-sqs",friendlyName:"S3 To Sqs",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-s3-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-s3-sqs",requiredResourceTypes:["AWS::S3::Bucket","AWS::S3::BucketPolicy","Custom::S3BucketNotifications","AWS::SQS::Queue","AWS::SQS::QueuePolicy","AWS::KMS::Key","AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function"]},"aws-sns-lambda":{className:"SnsToLambda",packageName:"aws-sns-lambda",friendlyName:"Sns To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-sns-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-sns-lambda",requiredResourceTypes:["AWS::IAM::Role","AWS::IAM::Policy","AWS::Lambda::Function","AWS::Lambda::Permission","AWS::SNS::Subscription","AWS::SNS::Topic","AWS::SNS::TopicPolicy"]},"aws-sns-sqs":{className:"SnsToSqs",packageName:"aws-sns-sqs",friendlyName:"Sns To Sqs",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-sns-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-sns-sqs",requiredResourceTypes:["AWS::SNS::Topic","AWS::SNS::TopicPolicy","AWS::SQS::Queue","AWS::SQS::QueuePolicy","AWS::SNS::Subscription","AWS::KMS::Key"]},"aws-eventbridge-kinesisstreams":{className:"EventbridgeToKinesisStreams",packageName:"aws-eventbridge-kinesisstreams",friendlyName:"EventBridge To Kinesis Streams",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-kinesisstreams/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-kinesisstreams",requiredResourceTypes:["AWS::Events::Rule","AWS::Kinesis::Stream"]},"aws-eventbridge-sns":{className:"EventbridgeToSns",packageName:"aws-eventbridge-sns",friendlyName:"EventBridge To SNS",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-sns/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-sns",requiredResourceTypes:["AWS::Events::Rule","AWS::SNS::Topic"]},"aws-eventbridge-sqs":{className:"EventbridgeToSqs",packageName:"aws-eventbridge-sqs",friendlyName:"EventBridge To SQS",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-sqs",requiredResourceTypes:["AWS::Events::Rule","AWS::SQS::Queue"]},"aws-eventbridge-stepfunctions":{className:"EventbridgeToStepfunctions",packageName:"aws-eventbridge-stepfunctions",friendlyName:"EventBridge To StepFunctions",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-stepfunctions/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-stepfunctions",requiredResourceTypes:["AWS::Events::Rule","AWS::StepFunctions::StateMachine"]},"aws-alb-fargate":{className:"AlbToFargate",packageName:"aws-alb-fargate",friendlyName:"ALB To Fargate",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-alb-fargate/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-alb-fargate",requiredResourceTypes:["AWS::ElasticLoadBalancingV2::LoadBalancer","AWS::ElasticLoadBalancingV2::Listener","AWS::ECS::Cluster","AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::IAM::Role","AWS::Logs::LogGroup"]},"aws-alb-lambda":{className:"AlbToLambda",packageName:"aws-alb-lambda",friendlyName:"ALB To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-alb-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-alb-lambda",requiredResourceTypes:["AWS::ElasticLoadBalancingV2::LoadBalancer","AWS::ElasticLoadBalancingV2::Listener","AWS::Lambda::Function","AWS::IAM::Role","AWS::Logs::LogGroup"]},"aws-apigateway-iot":{className:"ApiGatewayToIot",packageName:"aws-apigateway-iot",friendlyName:"API Gateway To IoT",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-iot/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-iot",requiredResourceTypes:["AWS::ApiGateway::RestApi","AWS::ApiGateway::Resource","AWS::ApiGateway::Method","AWS::IoT::TopicRule"]},"aws-apigateway-sagemakerendpoint":{className:"ApiGatewayToSagemakerendpoint",packageName:"aws-apigateway-sagemakerendpoint",friendlyName:"API Gateway To SageMaker Endpoint",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-apigateway-sagemakerendpoint/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-apigateway-sagemakerendpoint",requiredResourceTypes:["AWS::ApiGateway::RestApi","AWS::ApiGateway::Integration","AWS::SageMaker::Endpoint"]},"aws-cloudfront-apigateway":{className:"CloudFrontToApiGateway",packageName:"aws-cloudfront-apigateway",friendlyName:"CloudFront To API Gateway",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-cloudfront-apigateway/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-cloudfront-apigateway",requiredResourceTypes:["AWS::CloudFront::Distribution","AWS::ApiGateway::RestApi","AWS::ApiGateway::Method"]},"aws-dynamodbstreams-lambda-elasticsearch-kibana":{className:"DynamoDBStreamsToLambdaElasticsearchKibana",packageName:"aws-dynamodbstreams-lambda-elasticsearch-kibana",friendlyName:"DynamoDB Streams To Lambda Elasticsearch Kibana",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-dynamodbstreams-lambda-elasticsearch-kibana/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-dynamodbstreams-lambda-elasticsearch-kibana",requiredResourceTypes:["AWS::DynamoDB::Stream","AWS::Lambda::Function","AWS::Elasticsearch::Domain","AWS::IAM::Role","AWS::Logs::LogGroup"]},"aws-dynamodbstreams-pipes-stepfunctions":{className:"DynamoDBStreamsToPipesStepfunctions",packageName:"aws-dynamodbstreams-pipes-stepfunctions",friendlyName:"DynamoDB Streams To Pipes StepFunctions",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-dynamodbstreams-pipes-stepfunctions/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-dynamodbstreams-pipes-stepfunctions",requiredResourceTypes:["AWS::DynamoDB::Stream","AWS::StepFunctions::StateMachine"]},"aws-eventbridge-kinesisfirehose-s3":{className:"EventbridgeToKinesisfirehoseToS3",packageName:"aws-eventbridge-kinesisfirehose-s3",friendlyName:"EventBridge To Kinesis Firehose To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-kinesisfirehose-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-kinesisfirehose-s3",requiredResourceTypes:["AWS::Events::Rule","AWS::KinesisFirehose::DeliveryStream","AWS::S3::Bucket"]},"aws-eventbridge-lambda":{className:"EventbridgeToLambda",packageName:"aws-eventbridge-lambda",friendlyName:"EventBridge To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-eventbridge-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-eventbridge-lambda",requiredResourceTypes:["AWS::Events::Rule","AWS::Lambda::Function","AWS::IAM::Role"]},"aws-fargate-dynamodb":{className:"FargateToDynamodb",packageName:"aws-fargate-dynamodb",friendlyName:"Fargate To DynamoDB",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-dynamodb/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-dynamodb",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::DynamoDB::Table"]},"aws-fargate-eventbridge":{className:"FargateToEventbridge",packageName:"aws-fargate-eventbridge",friendlyName:"Fargate To EventBridge",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-eventbridge/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-eventbridge",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::Events::Rule"]},"aws-fargate-kinesisfirehose":{className:"FargateToKinesisfirehose",packageName:"aws-fargate-kinesisfirehose",friendlyName:"Fargate To Kinesis Firehose",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-kinesisfirehose/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-kinesisfirehose",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::KinesisFirehose::DeliveryStream"]},"aws-fargate-kinesisstreams":{className:"FargateToKinesisstreams",packageName:"aws-fargate-kinesisstreams",friendlyName:"Fargate To Kinesis Streams",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-kinesisstreams/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-kinesisstreams",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::Kinesis::Stream"]},"aws-fargate-opensearch":{className:"FargateToOpensearch",packageName:"aws-fargate-opensearch",friendlyName:"Fargate To OpenSearch",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-opensearch/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-opensearch",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::OpenSearch::Domain"]},"aws-fargate-s3":{className:"FargateToS3",packageName:"aws-fargate-s3",friendlyName:"Fargate To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-s3",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::S3::Bucket"]},"aws-fargate-secretsmanager":{className:"FargateToSecretsmanager",packageName:"aws-fargate-secretsmanager",friendlyName:"Fargate To SecretsManager",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-secretsmanager/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-secretsmanager",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::SecretsManager::Secret"]},"aws-fargate-sns":{className:"FargateToSns",packageName:"aws-fargate-sns",friendlyName:"Fargate To SNS",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-sns/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-sns",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::SNS::Topic"]},"aws-fargate-sqs":{className:"FargateToSqs",packageName:"aws-fargate-sqs",friendlyName:"Fargate To SQS",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-sqs/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-sqs",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::SQS::Queue"]},"aws-fargate-ssmstringparameter":{className:"FargateToSsmstringparameter",packageName:"aws-fargate-ssmstringparameter",friendlyName:"Fargate To SSM String Parameter",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-ssmstringparameter/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-ssmstringparameter",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::SSM::StringParameter"]},"aws-fargate-stepfunctions":{className:"FargateToStepfunctions",packageName:"aws-fargate-stepfunctions",friendlyName:"Fargate To StepFunctions",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-fargate-stepfunctions/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-fargate-stepfunctions",requiredResourceTypes:["AWS::ECS::TaskDefinition","AWS::ECS::Service","AWS::StepFunctions::StateMachine"]},"aws-iot-kinesisfirehose-s3":{className:"IotToKinesisfirehoseToS3",packageName:"aws-iot-kinesisfirehose-s3",friendlyName:"IoT To Kinesis Firehose To S3",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-iot-kinesisfirehose-s3/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-iot-kinesisfirehose-s3",requiredResourceTypes:["AWS::IoT::TopicRule","AWS::KinesisFirehose::DeliveryStream","AWS::S3::Bucket"]},"aws-iot-kinesisstreams":{className:"IotToKinesisstreams",packageName:"aws-iot-kinesisstreams",friendlyName:"IoT To Kinesis Streams",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-iot-kinesisstreams/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-iot-kinesisstreams",requiredResourceTypes:["AWS::IoT::TopicRule","AWS::Kinesis::Stream"]},"aws-iot-lambda":{className:"IotToLambda",packageName:"aws-iot-lambda",friendlyName:"IoT To Lambda",documentationUrl:"https://docs.aws.amazon.com/solutions/latest/aws-iot-lambda/",githubUrl:"https://github.com/awslabs/aws-solutions-constructs/tree/main/aws-iot-lambda",requiredResourceTypes:["AWS::IoT::TopicRule","AWS::Lambda::Function","AWS::IAM::Role"]}};var xm=async e=>{let t={};for(let s of e)try{let n=await import(`@aws-solutions-constructs/${s}`),r=Object.keys(n).find(u=>/^[A-Z][a-zA-Z0-9]*To[A-Z][a-zA-Z0-9]*$/.test(u));if(!r)continue;let i=`https://docs.aws.amazon.com/solutions/latest/${s}/`,o=`https://github.com/awslabs/aws-solutions-constructs/tree/main/${s}`,c=Cm[s]?.requiredResourceTypes||[];t[s]={className:r,packageName:s,friendlyName:r.replace(/([a-z0-9])([A-Z])/g,"$1 $2").trim(),documentationUrl:i,githubUrl:o,requiredResourceTypes:c}}catch{}return t};var F=(e,t)=>e.Metadata?.["aws:cdk:path"]??t;var Am=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::ApiGateway::RestApi"&&!r.Properties?.EndpointConfiguration?.Types?.includes("PRIVATE")&&(s[n]={issues:[t(n,"API Gateway is publicly accessible.","Use PRIVATE endpoints to restrict access.","HIGH","Security",F(r,n),"cdkInsights")]}),s),{});var Fm=(e,t)=>Object.entries(e.Resources||{}).some(([,n])=>n.Type==="AWS::CloudTrail::Trail")?{}:{Global:{issues:[t("Global","CloudTrail is not enabled for logging.","Enable AWS CloudTrail to capture API activity and improve security monitoring.","HIGH","Security","Global","cdkInsights")]}};var Dn=(e,t)=>{let s=[];if(e==null)return s;if(typeof e=="string"){let n=e.matchAll(/\$\{([^.}]+)(?:\.[^}]+)?\}/g);for(let r of n){let i=r[1];t.has(i)&&s.push(i)}return s}if(Array.isArray(e)){for(let n of e)s.push(...Dn(n,t));return s}if(typeof e=="object"){let n=e;if("Ref"in n&&typeof n.Ref=="string"&&t.has(n.Ref)&&s.push(n.Ref),"Fn::GetAtt"in n){let r=n["Fn::GetAtt"];if(Array.isArray(r)&&typeof r[0]=="string")t.has(r[0])&&s.push(r[0]);else if(typeof r=="string"){let i=r.split(".")[0];t.has(i)&&s.push(i)}}if("Fn::Sub"in n){let r=n["Fn::Sub"];Array.isArray(r)?(s.push(...Dn(r[0],t)),r[1]&&typeof r[1]=="object"&&s.push(...Dn(r[1],t))):s.push(...Dn(r,t))}for(let[r,i]of Object.entries(n))["Ref","Fn::GetAtt","Fn::Sub"].includes(r)||s.push(...Dn(i,t))}return s},h0=e=>e.DependsOn?Array.isArray(e.DependsOn)?e.DependsOn:[e.DependsOn]:[],y0=(e,t)=>{if(t.length===0)return;let s=new Set(t.map(i=>i.type.split("::")[2]||i.type)),n=Array.from(s).slice(0,3),r=e.split("::")[2]||e;if(e.includes("SecurityGroup"))return`Security group attached to: ${n.join(", ")}`;if(e.includes("IAM::Role"))return`IAM role assumed by: ${n.join(", ")}`;if(e.includes("VPC")||e.includes("Subnet"))return`Network hosting: ${n.join(", ")}`;if(e.includes("KMS::Key"))return`Encryption key used by: ${n.join(", ")}`;if(e.includes("S3::Bucket")){if(n.some(i=>i.includes("Lambda")))return"S3 bucket accessed by Lambda functions";if(n.some(i=>i.includes("CloudFront")))return"S3 bucket serving as CloudFront origin"}if(e.includes("DynamoDB::Table")&&n.some(i=>i.includes("Lambda")))return"DynamoDB table accessed by Lambda functions";if(t.length>0)return`Referenced by ${t.length} resource${t.length>1?"s":""}: ${n.join(", ")}`},As=e=>{let t=new Set(Object.keys(e)),s={};for(let n of t)s[n]={dependencies:[],dependents:[]};for(let[n,r]of Object.entries(e)){let i=h0(r),o=Dn(r.Properties,t),a=[...new Set([...i,...o])];s[n].dependencies=a;for(let c of a)s[c]&&s[c].dependents.push(n)}for(let[n,r]of Object.entries(e)){let i=s[n],o=i.dependents.map(a=>({id:a,type:e[a]?.Type||"Unknown"}));i.usageDescription=y0(r.Type,o)}return s},Ua=(e,t,s)=>{let n=t[e];if(!n)return{dependencies:[],dependents:[]};let r=n.dependencies.map(o=>{let a=s[o]?.Type?.split("::")[2]||o;return`${o} (${a})`}),i=n.dependents.map(o=>{let a=s[o]?.Type?.split("::")[2]||o;return`${o} (${a})`});return{dependencies:r,dependents:i,usageDescription:n.usageDescription}};var D0=(e,t,s)=>{let n={};for(let[r,i]of Object.entries(e)){if(i.Type!=="AWS::Lambda::Function")continue;let o=i.Properties||{};if(!!(o.DeadLetterConfig?.TargetArn||o.DeadLetterConfig?.TargetArn))continue;let c=t[r];if(!c)continue;c.dependencies.some(l=>{let p=e[l];return p?.Type==="AWS::DynamoDB::Table"||p?.Type==="AWS::DynamoDB::GlobalTable"})&&(n[r]||(n[r]={issues:[]}),n[r].issues.push(s(r,"Lambda function interacting with DynamoDB has no Dead Letter Queue configured","Configure a Dead Letter Queue (DLQ) using SQS or SNS to capture failed invocations. This ensures no data is lost when the function fails to process DynamoDB events or write operations.","MEDIUM","Reliability",i.Metadata?.["aws:cdk:path"]||r,"cdkInsights")))}return n},b0=(e,t,s)=>{let n={},r=new Set(["AWS::RDS::DBInstance","AWS::RDS::DBCluster","AWS::ElastiCache::CacheCluster","AWS::ElastiCache::ReplicationGroup","AWS::Redshift::Cluster","AWS::OpenSearchService::Domain","AWS::Elasticsearch::Domain","AWS::ECS::Service"]),i=new Set(Object.entries(e).filter(([,o])=>r.has(o.Type)).map(([o])=>o));for(let[o,a]of Object.entries(e)){if(a.Type!=="AWS::Lambda::Function")continue;let c=a.Properties||{},u=!!(c.VpcConfig&&(c.VpcConfig.SubnetIds||c.VpcConfig.SecurityGroupIds)),l=t[o];if(!l)continue;if(l.dependencies.some(d=>i.has(d))&&!u){n[o]||(n[o]={issues:[]});let d=l.dependencies.filter(f=>i.has(f));n[o].issues.push(s(o,`Lambda function references VPC resources (${d.join(", ")}) but is not VPC-enabled`,"Configure VpcConfig with appropriate SubnetIds and SecurityGroupIds to allow the Lambda function to connect to VPC resources. Without VPC configuration, the function cannot reach private resources like RDS databases.","HIGH","Reliability",a.Metadata?.["aws:cdk:path"]||o,"cdkInsights"))}}return n},v0=(e,t)=>{let s={},n=new Map;for(let[r,i]of Object.entries(e)){if(i.Type!=="AWS::S3::Bucket")continue;let o=i.Properties||{},a=!!(o.BucketEncryption||o.ServerSideEncryptionConfiguration);n.set(r,a)}for(let[r,i]of Object.entries(e)){if(i.Type!=="AWS::S3::Bucket")continue;let a=(i.Properties||{}).ReplicationConfiguration;if(!a)continue;let c=n.get(r),u=a.Rules;if(!(!u||!Array.isArray(u)))for(let l of u){if(l.Status!=="Enabled")continue;let p=l.Destination;if(!p||!p.Bucket)continue;let f=p.EncryptionConfiguration;c&&!f&&(s[r]||(s[r]={issues:[]}),s[r].issues.push(t(r,"S3 replication configured without encryption configuration for replicated objects","Specify EncryptionConfiguration in the replication rule to ensure replicated objects maintain encryption. Use ReplicaKmsKeyID to specify the KMS key for encrypting replicated objects in the destination bucket.","MEDIUM","Security",i.Metadata?.["aws:cdk:path"]||r,"cdkInsights")))}}return s},S0=(e,t,s)=>{let n={},r=new Set([80,443,8080,8443]);for(let[i,o]of Object.entries(e)){if(o.Type!=="AWS::EC2::SecurityGroup")continue;let c=(o.Properties||{}).SecurityGroupIngress||[],u=t[i];if(!(u&&u.dependents.length>0))continue;let p=[];for(let d of c){let f=d.CidrIp,m=d.CidrIpv6,g=d.FromPort,h=d.ToPort;if(!(f==="0.0.0.0/0"||m==="::/0")||g===void 0)continue;let D=h!==void 0&&h!==g,S=!r.has(g);(D||S)&&p.push(g)}if(p.length>0){n[i]||(n[i]={issues:[]});let d=u.dependents.map(f=>e[f]?.Type?.split("::")[2]||"Unknown").join(", ");n[i].issues.push(s(i,`Security group used by ${d} has public access on non-standard ports: ${p.join(", ")}`,"Restrict ingress rules to specific CIDR blocks or reference other security groups instead of allowing 0.0.0.0/0 on non-standard ports. Consider using a bastion host or VPN for administrative access.","HIGH","Security",o.Metadata?.["aws:cdk:path"]||i,"cdkInsights"))}}return n},Di=(e,t)=>{let s=e.Resources||{},n=As(s),r={},i=[D0(s,n,t),b0(s,n,t),v0(s,t),S0(s,n,t)];for(let o of i)for(let[a,c]of Object.entries(o))r[a]||(r[a]={issues:[]}),r[a].issues.push(...c.issues);return r};var C0=e=>{let t=[],s=Object.values(e).map(x=>x.Type),n={};for(let x of s)n[x]=(n[x]||0)+1;let r=s.some(x=>x==="AWS::Lambda::Function"),i=s.some(x=>x==="AWS::ApiGateway::RestApi"||x==="AWS::ApiGatewayV2::Api"),o=s.some(x=>x==="AWS::DynamoDB::Table"),a=s.some(x=>x==="AWS::S3::Bucket");r&&(o||a)&&!s.some(x=>x.includes("ECS")||x.includes("EC2::Instance"))&&t.push("serverless");let c=s.some(x=>x==="AWS::ECS::Service"||x==="AWS::ECS::TaskDefinition"||x==="AWS::ECS::Cluster"),u=s.some(x=>x.startsWith("AWS::EKS::"));(c||u)&&t.push("container-based");let l=s.some(x=>x.startsWith("AWS::Events::")),p=s.some(x=>x==="AWS::SNS::Topic"),d=s.some(x=>x==="AWS::SQS::Queue"),f=s.some(x=>x.startsWith("AWS::Kinesis::")),m=s.some(x=>x.startsWith("AWS::StepFunctions::"));(l||p||d||f||m)&&r&&t.push("event-driven"),i&&t.push("api-gateway");let g=s.some(x=>x.startsWith("AWS::Glue::")),h=s.some(x=>x.startsWith("AWS::Athena::")),y=s.some(x=>x.startsWith("AWS::EMR::"));(f||g||h||y)&&t.push("data-processing");let D=s.some(x=>x==="AWS::CloudFront::Distribution");a&&D&&!r&&!c&&t.push("static-website");let S=n["AWS::Lambda::Function"]||0,v=n["AWS::ECS::Service"]||0;(S>=3||v>=2)&&t.push("microservices");let R=s.some(x=>x==="AWS::EC2::Instance"),k=s.some(x=>x==="AWS::RDS::DBInstance"||x==="AWS::RDS::DBCluster"),_=s.some(x=>x==="AWS::ElasticLoadBalancingV2::LoadBalancer");return R&&(k||_)&&t.push("traditional"),t},x0=(e,t)=>{let s={},n=Object.values(e).map(l=>l.Type),r=n.some(l=>l==="AWS::CloudWatch::Alarm"),i=n.some(l=>l==="AWS::Lambda::Function"),o=n.some(l=>l==="AWS::ECS::Service"),a=n.some(l=>l==="AWS::RDS::DBInstance"||l==="AWS::RDS::DBCluster");(i||o||a)&&!r&&(s["Stack Architecture"]={issues:[t("Stack Architecture","No CloudWatch Alarms defined for critical resources","Add CloudWatch Alarms to monitor key metrics like Lambda errors, ECS task failures, or RDS connections. Consider using CDK's built-in alarm methods or aws-cdk-lib/aws-cloudwatch.","MEDIUM","Operational Excellence","Stack Architecture","cdkInsights")]});let c=n.some(l=>l==="AWS::XRay::Group"||l==="AWS::XRay::SamplingRule");return n.filter(l=>l==="AWS::Lambda::Function").length>=3&&!c&&(s["Stack Architecture"]||(s["Stack Architecture"]={issues:[]}),s["Stack Architecture"].issues.push(t("Stack Architecture","Multiple Lambda functions without X-Ray tracing configuration","Enable X-Ray tracing for your Lambda functions to gain visibility into distributed request flows and identify performance bottlenecks. Set tracing: lambda.Tracing.ACTIVE on your functions.","LOW","Operational Excellence","Stack Architecture","cdkInsights"))),s},A0=(e,t)=>{let s={},n=Object.values(e).map(d=>d.Type),r=n.some(d=>d==="AWS::ApiGateway::RestApi"||d==="AWS::ApiGatewayV2::Api"),i=n.some(d=>d==="AWS::ElasticLoadBalancingV2::LoadBalancer"),o=n.some(d=>d==="AWS::CloudFront::Distribution"),a=n.some(d=>d==="AWS::WAFv2::WebACL"||d==="AWS::WAF::WebACL");(r||i||o)&&!a&&(s["Stack Architecture"]||(s["Stack Architecture"]={issues:[]}),s["Stack Architecture"].issues.push(t("Stack Architecture","Public-facing resources without WAF protection","Consider adding AWS WAF to protect your API Gateway, ALB, or CloudFront distribution from common web exploits. WAF can help prevent SQL injection, XSS, and rate-limit malicious traffic.","MEDIUM","Security","Stack Architecture","cdkInsights")));let c=n.some(d=>d==="AWS::SecretsManager::Secret"),u=n.some(d=>d==="AWS::SSM::Parameter"),l=n.some(d=>d==="AWS::RDS::DBInstance"||d==="AWS::RDS::DBCluster"),p=!1;for(let[d,f]of Object.entries(e))if(f.Type==="AWS::Lambda::Function"){let m=f.Properties?.Environment?.Variables;if(m){let g=["PASSWORD","SECRET","API_KEY","TOKEN","CREDENTIAL"];for(let h of Object.keys(m))if(g.some(y=>h.toUpperCase().includes(y))){let y=m[h];if(typeof y=="string"&&!y.startsWith("{{")){p=!0;break}}}}return l&&!c&&!u&&(s["Stack Architecture"]||(s["Stack Architecture"]={issues:[]}),s["Stack Architecture"].issues.push(t("Stack Architecture","RDS database without Secrets Manager for credential rotation","Use AWS Secrets Manager to store and automatically rotate database credentials. This improves security by eliminating hardcoded passwords and enabling automatic credential rotation.","HIGH","Security","Stack Architecture","cdkInsights"))),s},F0=(e,t)=>{let s={},n=Object.values(e).filter(u=>u.Type==="AWS::EC2::NatGateway").length;n>=3&&(s["Stack Architecture"]||(s["Stack Architecture"]={issues:[]}),s["Stack Architecture"].issues.push(t("Stack Architecture",`${n} NAT Gateways detected - potential cost optimization`,"Multiple NAT Gateways can be expensive ($32/month each + data processing). Consider if all are necessary, or explore alternatives like NAT instances for dev environments, or VPC endpoints for AWS services.","MEDIUM","Cost Optimization","Stack Architecture","cdkInsights")));let r=n>0,i=Object.values(e).some(u=>u.Type==="AWS::EC2::VPCEndpoint"),o=Object.values(e).some(u=>{if(u.Type!=="AWS::Lambda::Function")return!1;let l=u.Properties?.VpcConfig;return l?.SubnetIds||l?.SecurityGroupIds}),a=Object.values(e).some(u=>u.Type==="AWS::S3::Bucket"),c=Object.values(e).some(u=>u.Type==="AWS::DynamoDB::Table");return o&&r&&!i&&(a||c)&&(s["Stack Architecture"]||(s["Stack Architecture"]={issues:[]}),s["Stack Architecture"].issues.push(t("Stack Architecture","VPC Lambda functions accessing AWS services through NAT Gateway","Consider using VPC Endpoints (Gateway endpoints for S3/DynamoDB are free) instead of routing AWS service traffic through NAT Gateway. This reduces costs and improves latency.","LOW","Cost Optimization","Stack Architecture","cdkInsights"))),s},E0=(e,t,s)=>{let n={};for(let[r,i]of Object.entries(t)){let o=e[r];if(!o)continue;let a=i.dependents.length;if(a>=5){let c=o.Type.split("::")[2]||o.Type;n["Stack Architecture"]||(n["Stack Architecture"]={issues:[]}),n["Stack Architecture"].issues.push(s("Stack Architecture",`${c} (${r}) is a potential single point of failure with ${a} dependent resources`,"Consider adding redundancy or failover mechanisms for this critical resource. For databases, consider Multi-AZ. For queues, consider dead-letter queues. For Lambda, ensure proper error handling.","MEDIUM","Reliability","Stack Architecture","cdkInsights"))}}for(let[r,i]of Object.entries(e)){if(i.Type!=="AWS::DynamoDB::Table")continue;if(i.Properties?.PointInTimeRecoverySpecification?.PointInTimeRecoveryEnabled!==!0){let a=t[r];a&&a.dependents.length>=3&&(n["Stack Architecture"]||(n["Stack Architecture"]={issues:[]}),n["Stack Architecture"].issues.push(s("Stack Architecture",`Critical DynamoDB table ${r} has ${a.dependents.length} dependents but no point-in-time recovery`,"Enable Point-in-Time Recovery (PITR) for critical DynamoDB tables used by multiple resources. This provides continuous backups with 35-day retention.","HIGH","Reliability","Stack Architecture","cdkInsights")))}}return n},bi=(e,t)=>{let s=e.Resources||{};if(Object.keys(s).length<3)return{};let r=As(s),i=C0(s),o={},a=[x0(s,t),A0(s,t),F0(s,t),E0(s,r,t)];for(let c of a)for(let[u,l]of Object.entries(c))o[u]||(o[u]={issues:[]}),o[u].issues.push(...l.issues);return o};var Em=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudFront::Distribution")return s;let i=F(r,n);return r.Properties?.DistributionConfig?.DefaultCacheBehavior?.ViewerProtocolPolicy==="allow-all"&&(s[n]={issues:[t(n,"CloudFront distribution allows HTTP traffic (ViewerProtocolPolicy is allow-all).",'Set ViewerProtocolPolicy to "https-only" or "redirect-to-https" to enforce HTTPS and protect data in transit.',"HIGH","Security",i,"cdkInsights")]}),s},{});var Rm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudFront::Distribution")return s;let i=F(r,n);return r.Properties?.DistributionConfig?.WebACLId||(s[n]={issues:[t(n,"CloudFront distribution has no WAF WebACL associated.","Associate a WAF WebACL to protect against common web exploits, SQL injection, XSS, and DDoS attacks.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var wm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudFront::Distribution")return s;let i=F(r,n);return r.Properties?.DistributionConfig?.Logging?.Bucket||(s[n]={issues:[t(n,"CloudFront distribution does not have access logging enabled.","Enable access logging to an S3 bucket to track viewer requests for security analysis, auditing, and troubleshooting.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var R0=["SSLv3","TLSv1","TLSv1_2016","TLSv1.1_2016"],Im=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudFront::Distribution")return s;let i=F(r,n),a=r.Properties?.DistributionConfig?.ViewerCertificate,c=a?.MinimumProtocolVersion;return a?.CloudFrontDefaultCertificate||c&&R0.includes(c)&&(s[n]={issues:[t(n,`CloudFront distribution uses outdated TLS version (${c}).`,"Use TLSv1.2_2021 or later for improved security. Older TLS versions have known vulnerabilities.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var Tm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Cognito::UserPool")return s;let i=[],o=F(r,n),a=r.Properties?.PasswordPolicy;if(!a)i.push(t(n,"Cognito User Pool has no password policy configured.","Configure a strong password policy with minimum length, uppercase, lowercase, numbers, and symbols requirements.","HIGH","Security",o,"cdkInsights"));else{let c=a.MinimumLength||8;c<12&&i.push(t(n,`Cognito password policy has minimum length of ${c} characters.`,"Set MinimumLength to at least 12 characters for stronger security against brute-force attacks.","MEDIUM","Security",o,"cdkInsights")),a.RequireSymbols===!1&&i.push(t(n,"Cognito password policy does not require symbols.","Enable RequireSymbols for stronger password complexity requirements.","LOW","Security",o,"cdkInsights"))}return i.length>0&&(s[n]={issues:i}),s},{});var km=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Cognito::UserPool")return s;let i=F(r,n),o=r.Properties?.MfaConfiguration;return(!o||o==="OFF")&&(s[n]={issues:[t(n,"Cognito User Pool has MFA disabled.","Enable MFA (OPTIONAL or ON) to add an extra layer of security for user authentication.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var _m=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Cognito::UserPool")return s;let i=F(r,n),o=r.Properties?.UserPoolAddOns?.AdvancedSecurityMode;return(!o||o==="OFF")&&(s[n]={issues:[t(n,"Cognito User Pool does not have advanced security features enabled.","Enable UserPoolAddOns with AdvancedSecurityMode set to AUDIT or ENFORCED to detect compromised credentials and block suspicious sign-ins.","LOW","Security",i,"cdkInsights")]}),s},{});var Lm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::DynamoDB::Table")return s;let i=r.Properties?.BillingMode,o=F(r,n);return(!i||i==="PROVISIONED")&&(s[n]={issues:[t(n,"DynamoDB table uses provisioned capacity without on-demand billing.","Consider using BillingMode: PAY_PER_REQUEST for automatic scaling and cost optimization, especially for unpredictable workloads. For predictable workloads, configure Application Auto Scaling.","MEDIUM","Cost Optimization",o,"cdkInsights")]}),s},{});var Pm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::DynamoDB::Table"&&!r.Properties?.StreamSpecification&&(s[n]={issues:[t(n,"DynamoDB table does not have streams enabled.","Consider enabling DynamoDB Streams to capture item-level changes for analytics, auditing, event-driven architectures, and cross-region replication.","LOW","Operational Excellence",F(r,n),"cdkInsights")]}),s),{});var Om=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EC2::Volume")return s;let i=[],o=F(r,n),a=r.Properties??{};return a.Encrypted!==!0&&i.push(t(n,"EBS Volume is not encrypted.","Enable encryption on EBS volumes to protect data at rest. Use the Encrypted property and optionally specify a KmsKeyId.","HIGH","Security",o,"cdkInsights")),a.VolumeType==="gp2"&&i.push(t(n,"EBS Volume uses gp2 storage type.","Consider migrating to gp3 for up to 20% cost savings with better baseline performance (3,000 IOPS and 125 MB/s throughput).","MEDIUM","Cost Optimization",o,"cdkInsights")),i.length>0&&(s[n]={issues:i}),s},{});var Bm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::EC2::Instance"&&r.Properties?.InstanceType?.toString().startsWith("t2")&&(s[n]={issues:[t(n,"EC2 instance is using an older t2 instance. Consider upgrading to t3 for better performance and cost savings.","Upgrade to a t3 instance for improved performance, lower latency, and better cost efficiency.","MEDIUM","Cost Optimization",F(r,n),"cdkInsights")]}),s),{});var Mm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::EC2::NatGateway"&&(s[n]={issues:[t(n,"NAT Gateway detected. NAT Gateways incur hourly charges (~$0.045/hr) plus data processing fees (~$0.045/GB).","Consider alternatives like NAT instances for lower traffic, VPC endpoints for AWS services, or IPv6 egress-only internet gateways to reduce costs.","LOW","Cost Optimization",F(r,n),"cdkInsights")]}),s),{});var w0=[22,3389,3306,5432,1433,27017,6379],I0=e=>e.CidrIp==="0.0.0.0/0"||e.CidrIpv6==="::/0",T0=(e,t,s)=>t===void 0||s===void 0?!1:e>=t&&e<=s,Nm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EC2::SecurityGroup")return s;let i=[],o=F(r,n),a=r.Properties?.SecurityGroupIngress||[],c=r.Properties?.SecurityGroupEgress||[],u=a.some(d=>d.CidrIp==="0.0.0.0/0"),l=a.some(d=>d.CidrIpv6==="::/0");u&&i.push(t(n,"Security Group allows unrestricted IPv4 ingress (0.0.0.0/0).","Restrict security group rules to specific IPs and ports.","HIGH","Security",o,"cdkInsights")),l&&i.push(t(n,"Security Group allows unrestricted IPv6 ingress (::/0).","Restrict security group rules to specific IPs and ports.","HIGH","Security",o,"cdkInsights"));for(let d of a)if(I0(d)){for(let f of w0)if(T0(f,d.FromPort,d.ToPort)){i.push(t(n,`Security Group exposes port ${f} to the internet.`,"Restrict access to management and database ports. Use bastion hosts, VPN, or AWS Systems Manager Session Manager instead.","CRITICAL","Security",o,"cdkInsights"));break}}return c.some(d=>d.CidrIp==="0.0.0.0/0")&&i.push(t(n,"Security Group allows unrestricted egress to 0.0.0.0/0.","Consider restricting egress rules to specific destinations for defense in depth.","LOW","Security",o,"cdkInsights")),a.length===0&&c.length===0&&i.push(t(n,"Security Group has no ingress or egress rules defined.","Review if this security group is in use. Empty security groups may indicate orphaned resources or misconfiguration.","LOW","Operational Excellence",o,"cdkInsights")),i.length>0&&(s[n]={issues:i}),s},{});var k0=/(^|_)(secret|password|passwd|pwd|credential|private_key|api_key|api_secret|auth_token|access_key|access_secret|bearer_token|jwt_secret|encryption_key|signing_key)(_|$)/i,Wm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECS::TaskDefinition")return s;let i=[],o=F(r,n),a=r.Properties?.ContainerDefinitions||[];for(let c of a){let u=c.Environment||[];for(let l of u)k0.test(l.Name||"")&&i.push(t(n,`ECS task definition has sensitive environment variable "${l.Name}" in plaintext.`,'Use AWS Secrets Manager or SSM Parameter Store with the "secrets" property instead of plaintext environment variables.',"HIGH","Security",o,"cdkInsights"))}return i.length>0&&(s[n]={issues:i}),s},{});var jm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECS::TaskDefinition")return s;let i=[],o=F(r,n),a=r.Properties?.ContainerDefinitions||[];for(let c of a)c.LogConfiguration?.LogDriver||i.push(t(n,`ECS container "${c.Name||"unnamed"}" has no logging configuration.`,"Configure LogConfiguration with awslogs driver to send container logs to CloudWatch for monitoring and debugging.","MEDIUM","Operational Excellence",o,"cdkInsights"));return i.length>0&&(s[n]={issues:i}),s},{});var $m=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECS::TaskDefinition")return s;let i=[],o=F(r,n),a=r.Properties?.ContainerDefinitions||[];for(let c of a){let u=c.Memory||c.MemoryReservation,l=c.Cpu;!u&&!l&&i.push(t(n,`ECS container "${c.Name||"unnamed"}" has no CPU or memory limits defined.`,"Define CPU and Memory limits to prevent runaway containers and ensure predictable resource allocation.","LOW","Reliability",o,"cdkInsights"))}return i.length>0&&(s[n]={issues:i}),s},{});var Um=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElasticLoadBalancingV2::LoadBalancer")return s;let i=F(r,n);return(r.Properties?.LoadBalancerAttributes||[]).some(c=>c.Key==="deletion_protection.enabled"&&c.Value==="true")||(s[n]={issues:[t(n,"Load Balancer does not have deletion protection enabled.","Enable deletion protection to prevent accidental deletion of the load balancer in production environments.","MEDIUM","Reliability",i,"cdkInsights")]}),s},{});var Gm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElasticLoadBalancingV2::LoadBalancer")return s;let i=F(r,n);return(r.Properties?.LoadBalancerAttributes||[]).some(c=>c.Key==="access_logs.s3.enabled"&&c.Value==="true")||(s[n]={issues:[t(n,"Load Balancer does not have access logging enabled.","Enable access logging to S3 for security analysis, auditing, and troubleshooting of traffic patterns.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var zm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElasticLoadBalancingV2::Listener")return s;let i=F(r,n),o=r.Properties?.Protocol,a=r.Properties?.Port;return o==="HTTP"&&a!==80?s[n]={issues:[t(n,`Load Balancer listener uses HTTP protocol on port ${a}.`,"Use HTTPS protocol with a valid SSL certificate to encrypt traffic in transit.","HIGH","Security",i,"cdkInsights")]}:o==="HTTP"&&a===80&&((r.Properties?.DefaultActions||[]).some(l=>l.Type==="redirect"&&l.RedirectConfig?.Protocol==="HTTPS")||(s[n]={issues:[t(n,"Load Balancer HTTP listener on port 80 does not redirect to HTTPS.","Configure the HTTP listener to redirect to HTTPS to ensure encrypted traffic.","MEDIUM","Security",i,"cdkInsights")]})),s},{});var _0=["ELBSecurityPolicy-2016-08","ELBSecurityPolicy-TLS-1-0-2015-04","ELBSecurityPolicy-TLS-1-1-2017-01","ELBSecurityPolicy-2015-05"],qm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElasticLoadBalancingV2::Listener")return s;let i=F(r,n),o=r.Properties?.Protocol,a=r.Properties?.SslPolicy;return o!=="HTTPS"&&o!=="TLS"||a&&_0.includes(a)&&(s[n]={issues:[t(n,`Load Balancer listener uses outdated security policy (${a}).`,"Use ELBSecurityPolicy-TLS13-1-2-2021-06 or later for TLS 1.3 support, or at minimum ELBSecurityPolicy-TLS-1-2-2017-01 for TLS 1.2.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var Hm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Events::Rule")return s;let i=F(r,n),o=[];return r.Properties?.State!=="ENABLED"&&o.push(t(n,"EventBridge rule is disabled or not explicitly enabled.","Ensure the EventBridge rule State is set to ENABLED to trigger events as expected.","MEDIUM","Operational Excellence",i,"cdkInsights")),(!r.Properties?.Targets||Array.isArray(r.Properties.Targets)&&r.Properties.Targets.length===0)&&o.push(t(n,"EventBridge rule has no targets configured. Events matching this rule will be silently dropped.","Add at least one target (Lambda, SQS, SNS, Step Functions, etc.) to process matched events. Without targets, the rule matches events but takes no action.","HIGH","Reliability",i,"cdkInsights")),o.length>0&&(s[n]={issues:[...s[n]?.issues||[],...o]}),s},{});var Vm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::IAM::Policy"&&r.Type!=="AWS::IAM::Role")return s;let i=r.Properties?.Policies,o=[];if(Array.isArray(i))for(let u of i)u?.PolicyDocument&&o.push(u.PolicyDocument);let a=r.Properties?.PolicyDocument;a&&o.push(a);let c=[];for(let u of o){if(!u?.Statement)continue;let l=u.Statement;for(let p of l)if(p.Effect==="Allow"){let d=p.Action,f=p.Resource,m=d==="*"||Array.isArray(d)&&d.includes("*"),g=f==="*"||Array.isArray(f)&&f.includes("*");m&&g?c.push(t(n,"IAM policy allows all actions (*) on all resources (*). This grants administrative access.","Restrict both actions and resources to follow the principle of least privilege.","CRITICAL","Security",n,"cdkInsights")):m?c.push(t(n,"IAM policy allows all actions (*). This is overly permissive.","Specify only the required actions instead of using wildcards.","CRITICAL","Security",n,"cdkInsights")):g&&c.push(t(n,"IAM policy allows actions on all resources (*). This is overly permissive.","Restrict resources to specific ARNs instead of using wildcards.","HIGH","Security",n,"cdkInsights"))}}return c.length>0&&(s[n]={issues:c}),s},{});var L0=[/\/ServiceRole\/Resource$/,/\/Role\/Resource$/,/\/InstanceRole\/Resource$/,/CustomResourceProvider\/Role$/],P0=e=>L0.some(t=>t.test(e)),Km=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::IAM::Role")return s;let i=F(r,n);return P0(i)||r.Properties?.PermissionsBoundary||(s[n]={issues:[t(n,"IAM Role has no permission boundary configured.","Consider using permission boundaries to limit the maximum permissions for delegated access and prevent privilege escalation.","LOW","Security",i,"cdkInsights")]}),s},{});var Zm=/^\d{12}$/,Ym=/arn:aws:iam::(\d{12}):root/,O0=e=>{if(!e)return[];if(typeof e=="string"){if(Zm.test(e))return[e];let t=e.match(Ym);return t?[t[1]]:[]}return typeof e=="object"&&e.AWS?(Array.isArray(e.AWS)?e.AWS:[e.AWS]).flatMap(s=>{if(Zm.test(s))return[s];let n=s.match(Ym);return n?[n[1]]:[]}):[]},Jm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::IAM::Role")return s;let i=[],o=F(r,n),a=r.Properties?.AssumeRolePolicyDocument;if(a?.Statement){for(let c of a.Statement)if(c.Effect==="Allow"){let u=O0(c.Principal);for(let l of u)i.push(t(n,`IAM Role allows cross-account trust from account ${l}.`,"Verify this cross-account trust relationship is intentional and the external account is trusted. Consider adding conditions to restrict access.","MEDIUM","Security",o,"cdkInsights"))}}return i.length>0&&(s[n]={issues:i}),s},{});var B0=e=>typeof e=="string"?e==="*":typeof e=="object"?Object.values(e).some(t=>Array.isArray(t)?t.includes("*"):t==="*"):!1,Qm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>((r.Type==="AWS::KMS::Key"&&Array.isArray(r.Properties?.KeyPolicy?.Statement)?r.Properties.KeyPolicy.Statement:[]).some(a=>B0(a.Principal))&&(s[n]={issues:[t(n,"KMS key has a public policy.","Restrict the KMS key policy to specific IAM roles or users to prevent unauthorized access.","CRITICAL","Security",F(r,n),"cdkInsights")]}),s),{});var M0=/\b(secret|password|passwd|pwd|credential|private_key|api_key|api_secret|auth_token|access_key|access_secret|bearer_token|jwt_secret|encryption_key|signing_key)\b/i,Xm=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type==="AWS::Lambda::Function"){let i=Object.entries(r.Properties?.Environment?.Variables||{}).filter(([o])=>M0.test(o)).map(([o])=>t(n,`Lambda function contains sensitive environment variable: ${o}.`,"Store sensitive environment variables in AWS Secrets Manager or SSM Parameter Store instead of plaintext environment variables.","HIGH","Security",F(r,n),"cdkInsights"));i.length>0&&(s[n]={issues:i})}return s},{});var ef=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type==="AWS::Lambda::Function"){let i=r.Properties?.MemorySize;typeof i=="number"&&i>1024&&(s[n]={issues:[t(n,"Lambda function has high memory allocation.","Consider reducing memory for cost savings.","MEDIUM","Cost Optimization",F(r,n),"cdkInsights")]})}return s},{});var tf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Lambda::Function")return s;let i=F(r,n);return r.Properties?.ReservedConcurrentExecutions===void 0&&(s[n]={issues:[t(n,"Lambda function has no reserved concurrency configured.","Consider setting ReservedConcurrentExecutions to prevent the function from consuming all available account concurrency and to control scaling behavior.","LOW","Reliability",i,"cdkInsights")]}),s},{});var sf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Lambda::Function")return s;let i=F(r,n);return r.Properties?.DeadLetterConfig?.TargetArn||(s[n]={issues:[t(n,"Lambda function has no Dead Letter Queue configured.","Configure a Dead Letter Queue (SQS or SNS) to capture failed async invocations for debugging, monitoring, and retry processing.","MEDIUM","Reliability",i,"cdkInsights")]}),s},{});var N0={nodejs:"nodejs22.x","nodejs4.3":"nodejs22.x","nodejs4.3-edge":"nodejs22.x","nodejs6.10":"nodejs22.x","nodejs8.10":"nodejs22.x","nodejs10.x":"nodejs22.x","nodejs12.x":"nodejs22.x","nodejs14.x":"nodejs22.x","nodejs16.x":"nodejs22.x","nodejs18.x":"nodejs22.x","python2.7":"python3.13","python3.6":"python3.13","python3.7":"python3.13","python3.8":"python3.13","python3.9":"python3.13",java8:"java21","java8.al2":"java21",java11:"java21","dotnetcore1.0":"dotnet8","dotnetcore2.0":"dotnet8","dotnetcore2.1":"dotnet8","dotnetcore3.1":"dotnet8","dotnet5.0":"dotnet8",dotnet6:"dotnet8","ruby2.5":"ruby3.3","ruby2.7":"ruby3.3","go1.x":"provided.al2023"},nf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Lambda::Function")return s;let i=r.Properties?.Runtime;if(typeof i!="string")return s;let o=N0[i];return o&&(s[n]={issues:[t(n,`Lambda function uses deprecated runtime "${i}". This runtime has reached or is approaching end-of-life and will no longer receive security patches.`,`Upgrade to "${o}" for continued security patches, performance improvements, and long-term support.`,"HIGH","Security",F(r,n),"cdkInsights")]}),s},{});var rf=(e,t)=>Object.values(e.Resources||{}).some(n=>n.Type==="AWS::EC2::NatGateway")?Object.entries(e.Resources||{}).reduce((n,[r,i])=>{if(i.Type!=="AWS::Lambda::Function")return n;let o=F(i,r),a=i.Properties?.VpcConfig;return a?.SubnetIds&&a.SubnetIds.length>0&&(n[r]={issues:[t(r,"Lambda function in VPC with NAT Gateway detected. NAT Gateway costs can accumulate quickly.","Evaluate if VPC attachment is necessary. Consider using VPC endpoints for AWS services to reduce NAT costs. NAT Gateway charges ~$0.045/hr plus $0.045/GB processed.","MEDIUM","Cost Optimization",o,"cdkInsights")]}),n},{}):{};var of=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::RDS::DBInstance"&&r.Properties?.StorageEncrypted!==!0&&(s[n]={issues:[t(n,"RDS instance is not encrypted.","Enable encryption to protect data at rest and meet compliance standards.","CRITICAL","Security",F(r,n),"cdkInsights")]}),s),{});var af=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::RDS::DBInstance")return s;let i=r.Properties??{},o=i.MultiAZ===!0,a=i.StorageType==="gp2",c=typeof i.StorageType>"u";return o&&(a||c)&&(s[n]={issues:[t(n,a?"RDS instance is using Multi-AZ with gp2 storage. Consider gp3 for lower costs.":"RDS instance is using Multi-AZ without explicitly setting a storage type. gp3 may offer better performance and cost savings.","Switch to gp3 storage for RDS to reduce costs and improve performance.","MEDIUM","Cost Optimization",F(r,n),"cdkInsights")]}),s},{});var cf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::RDS::DBInstance")return s;let i=F(r,n);return r.Properties?.PubliclyAccessible===!0&&(s[n]={issues:[t(n,"RDS instance is publicly accessible from the internet.","Set PubliclyAccessible to false and access the database through private subnets, bastion hosts, or VPN.","CRITICAL","Security",i,"cdkInsights")]}),s},{});var uf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::RDS::DBInstance")return s;let i=F(r,n),o=r.Properties?.BackupRetentionPeriod;return o===0?s[n]={issues:[t(n,"RDS instance has automated backups disabled (BackupRetentionPeriod is 0).","Enable automated backups with at least 7 days retention for production databases to enable point-in-time recovery.","HIGH","Reliability",i,"cdkInsights")]}:o!==void 0&&o<7&&(s[n]={issues:[t(n,`RDS backup retention period is only ${o} day(s).`,"Consider increasing backup retention to at least 7 days for production databases.","MEDIUM","Reliability",i,"cdkInsights")]}),s},{});var lf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::RDS::DBInstance")return s;let i=F(r,n);return r.Properties?.DeletionProtection!==!0&&(s[n]={issues:[t(n,"RDS instance does not have deletion protection enabled.","Enable DeletionProtection to prevent accidental database deletion.","MEDIUM","Reliability",i,"cdkInsights")]}),s},{});var pf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::S3::Bucket")return s;let i=[],o=r.Properties??{},a=F(r,n);o.BucketEncryption||i.push(t(n,"S3 Bucket lacks encryption.","Enable encryption at rest for better security.","HIGH","Security",a,"cdkInsights"));let c=o?.PublicAccessBlockConfiguration;return c?(c.BlockPublicAcls===!1&&i.push(t(n,"S3 Bucket allows public ACLs (BlockPublicAcls is false).","Set BlockPublicAcls to true to prevent public ACLs from being applied.","CRITICAL","Security",a,"cdkInsights")),c.BlockPublicPolicy===!1&&i.push(t(n,"S3 Bucket allows public bucket policies (BlockPublicPolicy is false).","Set BlockPublicPolicy to true to prevent public bucket policies.","CRITICAL","Security",a,"cdkInsights")),c.IgnorePublicAcls===!1&&i.push(t(n,"S3 Bucket does not ignore public ACLs (IgnorePublicAcls is false).","Set IgnorePublicAcls to true to ignore any public ACLs on the bucket.","HIGH","Security",a,"cdkInsights")),c.RestrictPublicBuckets===!1&&i.push(t(n,"S3 Bucket does not restrict public bucket access (RestrictPublicBuckets is false).","Set RestrictPublicBuckets to true to restrict access to the bucket to only authorized users.","HIGH","Security",a,"cdkInsights"))):i.push(t(n,"S3 Bucket has no PublicAccessBlockConfiguration defined.","Configure PublicAccessBlockConfiguration with BlockPublicAcls, BlockPublicPolicy, IgnorePublicAcls, and RestrictPublicBuckets all set to true.","HIGH","Security",a,"cdkInsights")),o.VersioningConfiguration||i.push(t(n,"S3 Bucket has no versioning enabled.","Enable versioning to protect against accidental deletions.","MEDIUM","Operational Excellence",a,"cdkInsights")),i.length>0&&(s[n]={issues:i}),s},{});var df=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::S3::Bucket"&&!r.Properties?.IntelligentTieringConfigurations&&(s[n]={issues:[t(n,"S3 Bucket does not use Intelligent-Tiering. Consider enabling it for cost optimization.","Enable Intelligent-Tiering for automatic cost optimization of infrequently accessed objects.","LOW","Cost Optimization",F(r,n),"cdkInsights")]}),s),{});var mf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::S3::Bucket")return s;let i=F(r,n);return(r.Properties?.LifecycleConfiguration?.Rules||[]).length===0&&(s[n]={issues:[t(n,"S3 bucket has no lifecycle policy configured.","Configure lifecycle rules to automatically transition objects to cheaper storage classes (e.g., Glacier) or delete old versions to optimize storage costs.","MEDIUM","Cost Optimization",i,"cdkInsights")]}),s},{});var W0=/\b(prod|production|critical|backup|dr|disaster|recovery|primary)\b/i,ff=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::S3::Bucket")return s;let i=F(r,n),o=r.Properties?.BucketName||n,a=r.Properties?.ReplicationConfiguration;return W0.test(o)&&!a?.Rules?.length&&(s[n]={issues:[t(n,"Critical S3 bucket does not have cross-region replication configured.","Consider enabling cross-region replication for disaster recovery and data durability on production/critical buckets.","LOW","Reliability",i,"cdkInsights")]}),s},{});var gf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{let i=r.Properties??{};return r.Type==="AWS::SecretsManager::Secret"&&i.PublicPolicy&&(s[n]={issues:[t(n,"Secret is publicly accessible.","Restrict secret access using IAM policies to ensure only authorized entities can retrieve it.","CRITICAL","Security",F(r,n),"cdkInsights")]}),s},{});var hf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::SNS::Topic"&&!r.Properties?.KmsMasterKeyId&&(s[n]={issues:[t(n,"SNS topic is not encrypted.","Enable AWS KMS encryption for SNS to protect sensitive messages in transit and at rest.","HIGH","Security",F(r,n),"cdkInsights")]}),s),{});var yf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::SQS::Queue"&&!r.Properties?.KmsMasterKeyId&&(s[n]={issues:[t(n,"SQS queue is not encrypted.","Enable AWS KMS encryption for SQS to protect message data in transit and at rest.","HIGH","Security",F(r,n),"cdkInsights")]}),s),{});var Df=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>(r.Type==="AWS::StepFunctions::StateMachine"&&r.Properties?.LoggingConfiguration===void 0&&(s[n]={issues:[t(n,"Step Function lacks logging configuration.","Enable logging for the Step Function using AWS CloudWatch to improve monitoring and debugging.","HIGH","Security",F(r,n),"cdkInsights")]}),s),{});var j0=e=>Object.values(e.Resources||{}).some(t=>t.Type==="Custom::S3BucketNotifications"),bf=e=>Object.values(e.Resources||{}).some(t=>t.Type==="AWS::Lambda::EventSourceMapping"),vf=e=>Object.values(e.Resources||{}).some(t=>t.Type==="AWS::Events::Rule"),Sf=(e,t)=>Object.values(e.Resources||{}).some(s=>s.Type!=="AWS::ElasticLoadBalancingV2::Listener"?!1:(s.Properties?.DefaultActions||s.Properties?.Actions)?.some(r=>r.TargetGroupArn?.startsWith(t))),$0=e=>Object.values(e.Resources||{}).some(t=>t.Type==="AWS::Lambda::Permission"&&t.Properties?.Principal==="apigateway.amazonaws.com"),vi=(e,t)=>Object.values(e.Resources||{}).some(s=>s.Type==="AWS::ApiGateway::Integration"&&typeof s.Properties?.Uri=="string"&&s.Properties.Uri.includes(t)),pr=(e,t)=>Object.values(e.Resources||{}).some(s=>s.Type==="AWS::IoT::TopicRule"&&s.Properties?.TopicRulePayload?.actions?.some(n=>Object.hasOwn(n,t))),U0=e=>Object.values(e.Resources||{}).some(t=>t.Type==="AWS::ECS::Service"),Cf=(e,t)=>Object.values(e.Resources||{}).some(s=>s.Type==="AWS::SNS::Subscription"&&s.Properties?.Protocol===t),xf=(e,t)=>{let s=[],n={},r={};for(let[o,a]of Object.entries(t)){let c=a.requiredResourceTypes||[];if(c.length!==0){r[o]=c.length;for(let u of c)n[u]||(n[u]=[]),n[u].push(o)}}let i={};for(let o of Object.values(e.Resources||{})){let a=o.Type,c=n[a];if(c){for(let u of c)if(i[u]=(i[u]||0)+1,i[u]===r[u]){let l=t[u],p=!0;switch(u){case"aws-s3-lambda":p=j0(e)||bf(e);break;case"aws-dynamodbstreams-lambda":p=bf(e);break;case"aws-eventbridge-lambda":p=vf(e);break;case"aws-alb-fargate":p=Sf(e,"arn:aws:ecs:");break;case"aws-alb-lambda":p=Sf(e,"arn:aws:lambda:");break;case"aws-apigateway-lambda":p=$0(e);break;case"aws-apigateway-sqs":p=vi(e,"sqs");break;case"aws-apigateway-dynamodb":p=vi(e,"dynamodb");break;case"aws-apigateway-kinesisstreams":p=vi(e,"kinesis");break;case"aws-apigateway-sagemakerendpoint":p=vi(e,"sagemaker");break;case"aws-iot-lambda":p=pr(e,"lambda");break;case"aws-iot-kinesisstreams":p=pr(e,"kinesis");break;case"aws-iot-kinesisfirehose-s3":p=pr(e,"firehose");break;case"aws-iot-sqs":p=pr(e,"sqs");break;case"aws-iot-s3":p=pr(e,"s3");break;case"aws-sns-lambda":p=Cf(e,"lambda");break;case"aws-sns-sqs":p=Cf(e,"sqs");break;case"aws-fargate-dynamodb":case"aws-fargate-eventbridge":case"aws-fargate-kinesisfirehose":case"aws-fargate-kinesisstreams":case"aws-fargate-opensearch":case"aws-fargate-s3":case"aws-fargate-secretsmanager":case"aws-fargate-sns":case"aws-fargate-sqs":case"aws-fargate-ssmstringparameter":case"aws-fargate-stepfunctions":p=U0(e);break;case"aws-eventbridge-kinesisfirehose-s3":case"aws-eventbridge-kinesisstreams":case"aws-eventbridge-sns":case"aws-eventbridge-sqs":case"aws-eventbridge-stepfunctions":p=vf(e);break}if(!p)continue;s.push({resourceId:l.className,issue:`Possible Pattern detected: ${l.friendlyName}`,recommendation:`Consider using the AWS Solutions Construct \`${l.className}\` from \`@aws-solutions-constructs/${u}\`.`,severity:"LOW",wafPillar:"Operational Excellence",docUrl:l.documentationUrl,githubUrl:l.githubUrl,constructPath:l.className,foundBy:"cdkInsights"}),delete r[u]}}}return s};var Af=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::WAFv2::WebACL")return s;let i=F(r,n),o=[],a=r.Properties?.DefaultAction;a?.Allow&&!a?.Block&&o.push(t(n,"WAF WebACL has default action set to Allow, which permits all traffic not matching rules.","Consider setting the default action to Block and explicitly allowing known-good traffic patterns for defense-in-depth.","MEDIUM","Security",i,"cdkInsights")),r.Properties?.VisibilityConfig?.CloudWatchMetricsEnabled||o.push(t(n,"WAF WebACL does not have CloudWatch metrics enabled.","Enable CloudWatchMetricsEnabled in VisibilityConfig to monitor WAF activity and detect potential attacks.","MEDIUM","Security",i,"cdkInsights"));let u=r.Properties?.Rules;return(!u||u.length===0)&&o.push(t(n,"WAF WebACL has no rules defined.","Add WAF rules to protect against common web exploits like SQL injection, XSS, and bot traffic.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Ff=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::WAFv2::WebACL"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::WAFv2::LoggingConfiguration"),r=new Set(n.map(([,i])=>{let o=i.Properties?.ResourceArn;return typeof o=="string"?o:o?.Ref?o.Ref:o?.["Fn::GetAtt"]?.[0]?o["Fn::GetAtt"][0]:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=F(a,o);return r.has(o)||n.some(([,l])=>{let p=l.Properties?.ResourceArn;return typeof p=="object"&&(p?.Ref===o||p?.["Fn::GetAtt"]?.[0]===o)})||(i[o]={issues:[t(o,"WAF WebACL does not have logging configured.","Enable WAF logging to capture detailed information about web requests for security analysis and compliance.","MEDIUM","Security",c,"cdkInsights")]}),i},{})};var Ef=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Logs::LogGroup")return s;let i=F(r,n);return r.Properties?.RetentionInDays===void 0&&(s[n]={issues:[t(n,"CloudWatch Log Group has no retention period set (logs retained indefinitely).","Set RetentionInDays to control storage costs. Consider 30-90 days for operational logs, longer for compliance requirements.","MEDIUM","Cost Optimization",i,"cdkInsights")]}),s},{});var Rf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Logs::LogGroup")return s;let i=F(r,n);return r.Properties?.KmsKeyId||(s[n]={issues:[t(n,"CloudWatch Log Group is not encrypted with a customer-managed KMS key.","Enable KMS encryption using KmsKeyId to protect sensitive log data at rest with customer-managed keys.","LOW","Security",i,"cdkInsights")]}),s},{});var wf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CloudWatch::Alarm")return s;let i=F(r,n),o=[],a=r.Properties?.AlarmActions,c=r.Properties?.OKActions,u=r.Properties?.InsufficientDataActions;return(!a||a.length===0)&&o.push(t(n,"CloudWatch Alarm has no alarm actions configured.","Add AlarmActions (SNS topic, Lambda, etc.) to receive notifications when the alarm state changes to ALARM.","MEDIUM","Operational Excellence",i,"cdkInsights")),r.Properties?.TreatMissingData||o.push(t(n,"CloudWatch Alarm does not specify how to treat missing data.","Set TreatMissingData to define alarm behavior when data points are missing (missing, ignore, breaching, or notBreaching).","LOW","Operational Excellence",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var If=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Route53::HostedZone"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Route53::DNSSEC"),r=new Set(n.map(([,i])=>{let o=i.Properties?.HostedZoneId;return typeof o=="string"?o:o?.Ref?o.Ref:null}).filter(Boolean));return s.reduce((i,[o,a])=>{if(a.Properties?.HostedZoneConfig?.Comment?.includes("private"))return i;let c=F(a,o);return r.has(o)||(i[o]={issues:[t(o,"Route53 Hosted Zone does not have DNSSEC signing enabled.","Enable DNSSEC to protect against DNS spoofing and cache poisoning attacks by cryptographically signing DNS records.","LOW","Security",c,"cdkInsights")]}),i},{})};var Tf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Route53::HealthCheck")return s;let i=F(r,n),o=[],a=r.Properties?.HealthCheckConfig;return a?.Type==="HTTP"&&o.push(t(n,"Route53 Health Check uses HTTP instead of HTTPS.","Use HTTPS for health checks to ensure the endpoint supports secure connections and to validate SSL certificates.","LOW","Security",i,"cdkInsights")),a?.RequestInterval===30&&o.push(t(n,"Route53 Health Check uses standard (30 second) request interval.","Consider using fast interval (10 seconds) for critical endpoints to detect failures more quickly.","LOW","Reliability",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var kf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Route53::HostedZone"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Route53::QueryLoggingConfig"),r=new Set(n.map(([,i])=>{let o=i.Properties?.HostedZoneId;return typeof o=="string"?o:o?.Ref?o.Ref:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=F(a,o);return r.has(o)||(i[o]={issues:[t(o,"Route53 Hosted Zone does not have query logging enabled.","Enable query logging to CloudWatch Logs for DNS query analysis, troubleshooting, and security monitoring.","LOW","Security",c,"cdkInsights")]}),i},{})};var _f=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElastiCache::ReplicationGroup"&&r.Type!=="AWS::ElastiCache::CacheCluster")return s;let i=F(r,n),o=[];return r.Properties?.AtRestEncryptionEnabled!==!0&&o.push(t(n,"ElastiCache cluster does not have encryption at rest enabled.","Enable AtRestEncryptionEnabled to protect cached data at rest using AWS-managed or customer-managed keys.","HIGH","Security",i,"cdkInsights")),r.Properties?.TransitEncryptionEnabled!==!0&&o.push(t(n,"ElastiCache cluster does not have encryption in transit enabled.","Enable TransitEncryptionEnabled to protect data during transfer between clients and the cache.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Lf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElastiCache::ReplicationGroup")return s;let i=F(r,n),o=[],a=r.Properties?.AuthToken,c=r.Properties?.TransitEncryptionEnabled;return!a&&c===!0&&o.push(t(n,"ElastiCache Redis cluster has transit encryption but no AUTH token configured.","Set AuthToken to require authentication for Redis connections, providing an additional security layer.","MEDIUM","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Pf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ElastiCache::ReplicationGroup")return s;let i=F(r,n),o=[],a=r.Properties?.AutomaticFailoverEnabled,c=r.Properties?.NumNodeGroups||1,u=r.Properties?.ReplicasPerNodeGroup||0;return a!==!0&&(c>1||u>0)&&o.push(t(n,"ElastiCache replication group has replicas but automatic failover is not enabled.","Enable AutomaticFailoverEnabled to automatically promote a replica to primary if the primary node fails.","MEDIUM","Reliability",i,"cdkInsights")),r.Properties?.MultiAZEnabled!==!0&&a===!0&&o.push(t(n,"ElastiCache replication group has automatic failover but Multi-AZ is not enabled.","Enable MultiAZEnabled to distribute nodes across availability zones for higher availability.","MEDIUM","Reliability",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Of=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECR::Repository")return s;let i=F(r,n),o=[];return r.Properties?.ImageScanningConfiguration?.ScanOnPush!==!0&&o.push(t(n,"ECR repository does not have image scanning on push enabled.","Enable ScanOnPush in ImageScanningConfiguration to automatically scan images for vulnerabilities when pushed.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Bf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECR::Repository")return s;let i=F(r,n);return r.Properties?.LifecyclePolicy?.LifecyclePolicyText||(s[n]={issues:[t(n,"ECR repository does not have a lifecycle policy configured.","Add a lifecycle policy to automatically clean up old or untagged images and reduce storage costs.","MEDIUM","Cost Optimization",i,"cdkInsights")]}),s},{});var Mf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::ECR::Repository")return s;let i=F(r,n);return r.Properties?.ImageTagMutability!=="IMMUTABLE"&&(s[n]={issues:[t(n,"ECR repository allows mutable image tags.","Set ImageTagMutability to IMMUTABLE to prevent image tags from being overwritten, ensuring deployment consistency.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var Nf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::OpenSearchService::Domain"&&r.Type!=="AWS::Elasticsearch::Domain")return s;let i=F(r,n),o=[];return r.Properties?.EncryptionAtRestOptions?.Enabled!==!0&&o.push(t(n,"OpenSearch domain does not have encryption at rest enabled.","Enable EncryptionAtRestOptions to protect indexed data at rest using AWS KMS.","HIGH","Security",i,"cdkInsights")),r.Properties?.NodeToNodeEncryptionOptions?.Enabled!==!0&&o.push(t(n,"OpenSearch domain does not have node-to-node encryption enabled.","Enable NodeToNodeEncryptionOptions to encrypt data in transit between nodes within the cluster.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Wf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::OpenSearchService::Domain"&&r.Type!=="AWS::Elasticsearch::Domain")return s;let i=F(r,n),o=[];r.Properties?.AdvancedSecurityOptions?.Enabled!==!0&&o.push(t(n,"OpenSearch domain does not have fine-grained access control enabled.","Enable AdvancedSecurityOptions to use IAM or internal user database for document-level and field-level security.","MEDIUM","Security",i,"cdkInsights"));let c=r.Properties?.VPCOptions;return(!c?.SubnetIds||c.SubnetIds.length===0)&&o.push(t(n,"OpenSearch domain is not deployed within a VPC.","Configure VPCOptions with subnet IDs to deploy the domain within a VPC for network isolation.","MEDIUM","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var jf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::OpenSearchService::Domain"&&r.Type!=="AWS::Elasticsearch::Domain")return s;let i=F(r,n),o=[],a=r.Properties?.LogPublishingOptions;return a?.AUDIT_LOGS?.Enabled||o.push(t(n,"OpenSearch domain does not have audit logging enabled.","Enable AUDIT_LOGS in LogPublishingOptions to track user activity for security and compliance monitoring.","LOW","Security",i,"cdkInsights")),a?.ES_APPLICATION_LOGS?.Enabled||o.push(t(n,"OpenSearch domain does not have application logging enabled.","Enable ES_APPLICATION_LOGS in LogPublishingOptions to capture error logs for troubleshooting.","LOW","Operational Excellence",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var $f=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::CertificateManager::Certificate")return s;let i=F(r,n),o=[];return r.Properties?.ValidationMethod==="EMAIL"&&o.push(t(n,"ACM certificate uses email validation instead of DNS validation.","Use DNS validation for automated certificate renewal. Email validation requires manual intervention for renewals.","LOW","Operational Excellence",i,"cdkInsights")),r.Properties?.CertificateTransparencyLoggingPreference==="DISABLED"&&o.push(t(n,"ACM certificate has certificate transparency logging disabled.","Enable certificate transparency logging for security monitoring and to detect misissued certificates.","LOW","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Uf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Backup::BackupPlan")return s;let i=F(r,n),o=[],c=r.Properties?.BackupPlan?.BackupPlanRule||[];for(let u of c){(u.CopyActions||[]).length===0&&o.push(t(n,`Backup rule "${u.RuleName||"unnamed"}" does not have cross-region copy configured.`,"Add CopyActions to replicate backups to another region for disaster recovery.","LOW","Reliability",i,"cdkInsights"));let p=u.Lifecycle;!p?.DeleteAfterDays&&!p?.MoveToColdStorageAfterDays&&o.push(t(n,`Backup rule "${u.RuleName||"unnamed"}" has no lifecycle configuration.`,"Set DeleteAfterDays or MoveToColdStorageAfterDays to manage backup retention and costs.","LOW","Cost Optimization",i,"cdkInsights"))}return o.length>0&&(s[n]={issues:o}),s},{});var Gf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Backup::BackupVault"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::Backup::BackupVaultLock"),r=new Set(n.map(([,i])=>{let o=i.Properties?.BackupVaultName;return typeof o=="string"?o:typeof o=="object"&&o?.Ref?o.Ref:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=F(a,o),u=[];a.Properties?.EncryptionKeyArn||u.push(t(o,"Backup vault uses default AWS-managed encryption key.","Specify a customer-managed KMS key using EncryptionKeyArn for additional control over encryption.","LOW","Security",c,"cdkInsights"));let p=a.Properties?.BackupVaultName,d=typeof p=="string"?p:typeof p=="object"?p?.Ref:void 0;return r.has(o)||d&&r.has(d)||u.push(t(o,"Backup vault does not have a vault lock configured.","Add a BackupVaultLock to enforce retention policies and prevent backup deletion for compliance requirements.","LOW","Security",c,"cdkInsights")),u.length>0&&(i[o]={issues:u}),i},{})};var zf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::EC2::VPC"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::EC2::FlowLog"),r=new Set(n.filter(([,i])=>i.Properties?.ResourceType==="VPC").map(([,i])=>{let o=i.Properties?.ResourceId;return typeof o=="string"?o:o?.Ref?o.Ref:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=F(a,o);return r.has(o)||(i[o]={issues:[t(o,"VPC does not have flow logs enabled.","Enable VPC Flow Logs to capture network traffic information for security analysis and troubleshooting.","MEDIUM","Security",c,"cdkInsights")]}),i},{})};var qf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EC2::SecurityGroup")return s;let i=F(r,n);if(r.Properties?.GroupName==="default"){let a=r.Properties?.SecurityGroupIngress||[],c=r.Properties?.SecurityGroupEgress||[];(a.length>0||c.length>0)&&(s[n]={issues:[t(n,"VPC default security group has rules configured.","Remove all rules from the default security group and use custom security groups instead. Default groups cannot be deleted but should have no rules.","MEDIUM","Security",i,"cdkInsights")]})}return s},{});var Hf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Kinesis::Stream")return s;let i=F(r,n),o=[],a=r.Properties?.StreamEncryption;return(!a?.EncryptionType||a.EncryptionType==="NONE")&&o.push(t(n,"Kinesis Data Stream does not have server-side encryption enabled.","Enable StreamEncryption with EncryptionType KMS to protect data at rest.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Vf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Kinesis::Stream")return s;let i=F(r,n),o=[];r.Properties?.RetentionPeriodHours===24&&o.push(t(n,"Kinesis Data Stream uses minimum retention period (24 hours).","Consider increasing RetentionPeriodHours for applications that need to replay or reprocess data during failures.","LOW","Reliability",i,"cdkInsights"));let c=r.Properties?.StreamModeDetails?.StreamMode;return o.length>0&&(s[n]={issues:o}),s},{});var Kf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::AppSync::GraphQLApi")return s;let i=F(r,n),o=[],a=r.Properties?.AuthenticationType;a==="API_KEY"&&o.push(t(n,"AppSync API uses API key authentication.","Consider using AWS_IAM, AMAZON_COGNITO_USER_POOLS, or OPENID_CONNECT for production workloads. API keys are best for development or public read-only access.","MEDIUM","Security",i,"cdkInsights"));let c=r.Properties?.AdditionalAuthenticationProviders;return a!=="AWS_IAM"&&(!c||c.length===0)&&o.push(t(n,"AppSync API does not have multiple authentication providers configured.","Consider adding AdditionalAuthenticationProviders for flexibility in authenticating different client types.","LOW","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Zf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::AppSync::GraphQLApi")return s;let i=F(r,n),o=[],a=r.Properties?.LogConfig;return a?a.FieldLogLevel==="NONE"&&o.push(t(n,"AppSync API has field-level logging disabled.","Set FieldLogLevel to ERROR or ALL to capture GraphQL resolver execution details.","LOW","Operational Excellence",i,"cdkInsights")):o.push(t(n,"AppSync API does not have logging configured.","Enable LogConfig to capture request/response logs in CloudWatch for debugging and monitoring.","MEDIUM","Operational Excellence",i,"cdkInsights")),r.Properties?.XrayEnabled!==!0&&o.push(t(n,"AppSync API does not have X-Ray tracing enabled.","Enable XrayEnabled for distributed tracing and performance analysis.","LOW","Operational Excellence",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Yf=(e,t)=>{let s=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::AppSync::GraphQLApi"),n=Object.entries(e.Resources||{}).filter(([,i])=>i.Type==="AWS::WAFv2::WebACLAssociation"),r=new Set(n.map(([,i])=>{let o=i.Properties?.ResourceArn;return typeof o=="string"?o:o?.["Fn::GetAtt"]?.[0]?o["Fn::GetAtt"][0]:null}).filter(Boolean));return s.reduce((i,[o,a])=>{let c=F(a,o);return r.has(o)||(i[o]={issues:[t(o,"AppSync API does not have AWS WAF protection.","Associate a WAF WebACL to protect against common web exploits and control access to the API.","MEDIUM","Security",c,"cdkInsights")]}),i},{})};var Jf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EKS::Cluster")return s;let i=F(r,n),o=[],a=r.Properties?.ResourcesVpcConfig,c=a?.EndpointPublicAccess,u=a?.EndpointPrivateAccess,l=a?.PublicAccessCidrs;return c===!0&&u!==!0&&o.push(t(n,"EKS cluster has only public endpoint access enabled.","Enable EndpointPrivateAccess to allow communication between nodes and the API server within the VPC.","MEDIUM","Security",i,"cdkInsights")),c===!0&&(!l||l.length===0||l.includes("0.0.0.0/0"))&&o.push(t(n,"EKS cluster public endpoint is accessible from the internet (0.0.0.0/0).","Restrict PublicAccessCidrs to specific IP ranges that need to access the Kubernetes API.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Qf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EKS::Cluster")return s;let i=F(r,n),o=[];return r.Properties?.EncryptionConfig?.some(u=>u.Resources?.includes("secrets"))||o.push(t(n,"EKS cluster does not have Kubernetes secrets encryption enabled.","Configure EncryptionConfig with a KMS key to encrypt secrets stored in etcd.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var Xf=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::EKS::Cluster")return s;let i=F(r,n),o=[],c=r.Properties?.Logging?.ClusterLogging?.EnabledTypes||[],u=c.map(d=>d.Type).filter(d=>!!d),p=["api","audit","authenticator","controllerManager","scheduler"].filter(d=>!u.includes(d));return p.length>0&&o.push(t(n,`EKS cluster is missing control plane logging for: ${p.join(", ")}.`,"Enable all control plane log types (api, audit, authenticator, controllerManager, scheduler) for comprehensive cluster monitoring.","MEDIUM","Operational Excellence",i,"cdkInsights")),c.length===0?(s[n]={issues:[t(n,"EKS cluster does not have any control plane logging enabled.","Enable control plane logging to CloudWatch for audit trails and troubleshooting Kubernetes API issues.","MEDIUM","Security",i,"cdkInsights")]},s):(o.length>0&&(s[n]={issues:o}),s)},{});var eg=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Redshift::Cluster")return s;let i=F(r,n),o=[];return r.Properties?.Encrypted!==!0&&o.push(t(n,"Redshift cluster does not have encryption at rest enabled.","Set Encrypted to true and specify a KmsKeyId to protect data at rest.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var tg=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Redshift::Cluster")return s;let i=F(r,n);return r.Properties?.PubliclyAccessible===!0&&(s[n]={issues:[t(n,"Redshift cluster is publicly accessible.","Set PubliclyAccessible to false and use VPC endpoints or bastion hosts for secure access.","CRITICAL","Security",i,"cdkInsights")]}),s},{});var sg=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Redshift::Cluster")return s;let i=F(r,n);return r.Properties?.LoggingProperties?.BucketName||(s[n]={issues:[t(n,"Redshift cluster does not have audit logging enabled.","Configure LoggingProperties with an S3 bucket to capture connection logs, user activity, and query activity.","MEDIUM","Security",i,"cdkInsights")]}),s},{});var ng=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::MSK::Cluster")return s;let i=F(r,n),o=[],a=r.Properties?.EncryptionInfo;a?.EncryptionAtRest?.DataVolumeKMSKeyId||o.push(t(n,"MSK cluster does not use a customer-managed KMS key for encryption at rest.","Specify DataVolumeKMSKeyId in EncryptionAtRest for additional control over data encryption.","LOW","Security",i,"cdkInsights"));let u=a?.EncryptionInTransit;return u?.ClientBroker!=="TLS"&&o.push(t(n,"MSK cluster does not enforce TLS encryption for client-broker communication.","Set ClientBroker to TLS in EncryptionInTransit to encrypt data between clients and brokers.","HIGH","Security",i,"cdkInsights")),u?.InCluster!==!0&&o.push(t(n,"MSK cluster does not have encryption enabled for inter-broker communication.","Set InCluster to true in EncryptionInTransit to encrypt data between brokers.","MEDIUM","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var rg=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::MSK::Cluster")return s;let i=F(r,n),o=[],a=r.Properties?.ClientAuthentication,c=(a?.Tls?.CertificateAuthorityArnList?.length??0)>0,u=a?.Sasl?.Scram?.Enabled===!0||a?.Sasl?.Iam?.Enabled===!0,l=a?.Unauthenticated?.Enabled===!0;return!c&&!u&&o.push(t(n,"MSK cluster does not have client authentication configured.","Enable SASL/SCRAM, IAM authentication, or mutual TLS for client authentication.","HIGH","Security",i,"cdkInsights")),l&&o.push(t(n,"MSK cluster allows unauthenticated access.","Disable unauthenticated access and require client authentication for all connections.","HIGH","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var ig=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::MSK::Cluster")return s;let i=F(r,n),o=[],c=r.Properties?.LoggingInfo?.BrokerLogs,u=c?.CloudWatchLogs?.Enabled===!0,l=c?.Firehose?.Enabled===!0,p=c?.S3?.Enabled===!0;return!u&&!l&&!p&&o.push(t(n,"MSK cluster does not have broker logging configured.","Enable broker logs to CloudWatch, Firehose, or S3 for monitoring and troubleshooting Kafka operations.","MEDIUM","Operational Excellence",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var og=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Glue::Job")return s;let i=F(r,n),o=[];return r.Properties?.SecurityConfiguration||o.push(t(n,"Glue job does not have a security configuration specified.","Create and attach a SecurityConfiguration to enable encryption for job bookmarks, S3 data, and CloudWatch logs.","MEDIUM","Security",i,"cdkInsights")),o.length>0&&(s[n]={issues:o}),s},{});var ag=(e,t)=>Object.entries(e.Resources||{}).reduce((s,[n,r])=>{if(r.Type!=="AWS::Glue::Connection")return s;let i=F(r,n),o=[],a=r.Properties?.ConnectionInput,c=a?.ConnectionType,u=a?.PhysicalConnectionRequirements;if(c==="JDBC"){u?.SubnetId||o.push(t(n,"Glue JDBC connection does not specify a VPC subnet.","Configure PhysicalConnectionRequirements with SubnetId and SecurityGroupIdList for network isolation.","MEDIUM","Security",i,"cdkInsights"));let p=a?.ConnectionProperties?.JDBC_CONNECTION_URL||"";typeof p=="string"&&!p.includes("ssl=true")&&!p.includes("useSSL=true")&&o.push(t(n,"Glue JDBC connection URL may not enforce SSL.","Ensure the JDBC connection URL includes SSL parameters to encrypt data in transit.","LOW","Security",i,"cdkInsights"))}return o.length>0&&(s[n]={issues:o}),s},{});var cg=()=>({iamPolicies:Vm,iamPermissionBoundary:Km,iamCrossAccountTrust:Jm,s3Buckets:pf,s3IntelligentTiering:df,s3LifecyclePolicy:mf,s3Replication:ff,securityGroups:Nm,ec2InstanceType:Bm,natGatewayUsage:Mm,ebsVolumes:Om,lambdaEnvironmentVariables:Xm,lambdaMemory:ef,lambdaReservedConcurrency:tf,lambdaDeadLetterQueue:sf,lambdaRuntime:nf,lambdaVpcNatWarning:rf,rdsEncryption:of,rdsMultiAZ:af,rdsPublicAccess:cf,rdsBackupRetention:uf,rdsDeletionProtection:lf,dynamoDBAutoScaling:Lm,dynamoDBStreams:Pm,cloudFrontHttpsOnly:Em,cloudFrontWafAssociation:Rm,cloudFrontLogging:wm,cloudFrontTls:Im,elbDeletionProtection:Um,elbLogging:Gm,elbHttpsListeners:zm,elbSecurityPolicy:qm,ecsSecrets:Wm,ecsLogging:jm,ecsResources:$m,cognitoPasswordPolicy:Tm,cognitoMfa:km,cognitoAdvancedSecurity:_m,wafWebAcl:Af,wafLogging:Ff,cloudWatchLogRetention:Ef,cloudWatchEncryption:Rf,cloudWatchAlarms:wf,route53Dnssec:If,route53HealthChecks:Tf,route53QueryLogging:kf,elastiCacheEncryption:_f,elastiCacheAuth:Lf,elastiCacheFailover:Pf,ecrScanning:Of,ecrLifecycle:Bf,ecrImmutableTags:Mf,openSearchEncryption:Nf,openSearchAccessControl:Wf,openSearchLogging:jf,acmValidation:$f,backupPlans:Uf,backupVault:Gf,vpcFlowLogs:zf,vpcDefaultSecurityGroup:qf,kinesisEncryption:Hf,kinesisRetention:Vf,appSyncAuth:Kf,appSyncLogging:Zf,appSyncWaf:Yf,eksPublicEndpoint:Jf,eksEncryption:Qf,eksLogging:Xf,redshiftEncryption:eg,redshiftPublicAccess:tg,redshiftLogging:sg,mskEncryption:ng,mskAuth:rg,mskLogging:ig,glueEncryption:og,glueConnections:ag,apiGateway:Am,secretsManager:gf,cloudTrailLogging:Fm,eventBridgeRules:Hm,kmsKeys:Qm,sns:hf,sqs:yf,stepFunctions:Df,crossResourceRelationships:Di,stackArchitecture:bi,solutionsPatterns:xf});var dr=(e={})=>{let{ttl:t=3e5,maxSize:s=1e3}=e,n=new Map,r=new Set,i=[],o=Date.now(),a=6e4,c=f=>Date.now()-f.timestamp>f.ttl,u=f=>{r.delete(f)},l=()=>{let f=0;for(let m=0;m<i.length;m++)r.has(i[m])&&(i[f++]=i[m]);i.length=f},p=()=>{let f=Date.now();if(f-o<a)return;o=f;let m=[];for(let[g,h]of n.entries())c(h)&&m.push(g);for(let g of m)n.delete(g),u(g);m.length>0&&l()},d=()=>{for(;n.size>=s&&i.length>0;){let f=i.shift();f&&r.has(f)&&(n.delete(f),r.delete(f))}};return{get(f){let m=n.get(f);if(m){if(c(m)){n.delete(f),u(f);return}return m.value}},set(f,m,g){n.size>=s*.9&&p(),d(),r.has(f)&&u(f),n.set(f,{value:m,timestamp:Date.now(),ttl:g??t}),r.add(f),i.push(f)},clear(){n.clear(),r.clear(),i.length=0},size(){return n.size},has(f){let m=n.get(f);return m?c(m)?(n.delete(f),u(f),!1):!0:!1}}},ug=(e,t={})=>{let s=dr(t);return(...n)=>{let r;try{r=JSON.stringify(n)}catch{return e(...n)}let i=s.get(r);if(i!==void 0)return i;let o=e(...n);return s.set(r,o),o}};var lg={IAM:["iamPolicies","iamPermissionBoundary","iamCrossAccountTrust"],S3:["s3Buckets","s3IntelligentTiering","s3LifecyclePolicy","s3Replication"],Lambda:["lambdaEnvironmentVariables","lambdaMemory","lambdaReservedConcurrency","lambdaDeadLetterQueue","lambdaRuntime","lambdaVpcNatWarning"],DynamoDB:["dynamoDBAutoScaling","dynamoDBStreams"],RDS:["rdsEncryption","rdsMultiAZ","rdsPublicAccess","rdsBackupRetention","rdsDeletionProtection"],EC2:["ec2InstanceType","natGatewayUsage","securityGroups","ebsVolumes"],SNS:["sns"],SQS:["sqs"],StepFunctions:["stepFunctions"],CloudTrail:["cloudTrailLogging"],ApiGateway:["apiGateway"],SecretsManager:["secretsManager"],KMS:["kmsKeys"],EventBridge:["eventBridgeRules"],CloudFront:["cloudFrontHttpsOnly","cloudFrontWafAssociation","cloudFrontLogging","cloudFrontTls"],ELB:["elbDeletionProtection","elbLogging","elbHttpsListeners","elbSecurityPolicy"],ECS:["ecsSecrets","ecsLogging","ecsResources"],Cognito:["cognitoPasswordPolicy","cognitoMfa","cognitoAdvancedSecurity"],WAF:["wafWebAcl","wafLogging"],CloudWatch:["cloudWatchLogRetention","cloudWatchEncryption","cloudWatchAlarms"],Route53:["route53Dnssec","route53HealthChecks","route53QueryLogging"],ElastiCache:["elastiCacheEncryption","elastiCacheAuth","elastiCacheFailover"],ECR:["ecrScanning","ecrLifecycle","ecrImmutableTags"],OpenSearch:["openSearchEncryption","openSearchAccessControl","openSearchLogging"],ACM:["acmValidation"],Backup:["backupPlans","backupVault"],VPC:["vpcFlowLogs","vpcDefaultSecurityGroup"],Kinesis:["kinesisEncryption","kinesisRetention"],AppSync:["appSyncAuth","appSyncLogging","appSyncWaf"],EKS:["eksPublicEndpoint","eksEncryption","eksLogging"],Redshift:["redshiftEncryption","redshiftPublicAccess","redshiftLogging"],MSK:["mskEncryption","mskAuth","mskLogging"],Glue:["glueEncryption","glueConnections"]},G0=Object.entries(lg).reduce((e,[t,s])=>{for(let n of s)e[n]=t;return e},{}),Ga=e=>{let t=new Set,s=[];for(let n of e)t.has(n)||(t.add(n),s.push(n));return s},pg=e=>{if(!e||e.length===0)return{services:["All services"],removedAllServices:!1,defaultedToAll:!0};let t=Ga(e),s=t.includes("All services"),n=t.filter(r=>r!=="All services");return s&&n.length>0?{services:n,removedAllServices:!0,defaultedToAll:!1}:{services:s?["All services"]:t,removedAllServices:!1,defaultedToAll:!1}},dg=(e,t)=>{if(e.length===0||e.includes("All services"))return Ga(t);let s=e.flatMap(n=>n==="All services"?t:lg[n]??[]);return Ga(s)},mr=e=>G0[e];var wt=Y(Zt()),Ln=process.env.NODE_ENV==="development",mc=process.env.CDK_INSIGHTS_VERBOSE==="true",uR=Ln||mc||process.env.CDK_INSIGHTS_ENABLE_LOGGING==="true",Ch=mc?wt.LogLevel.DEBUG:Ln?wt.LogLevel.INFO:wt.LogLevel.ERROR,lR=uR?[(0,wt.createConsoleTransport)({formatter:(0,wt.createJsonFormatter)(),level:Ch,useColors:!Ln})]:[],X=(0,wt.createLogger)({config:{level:Ch,serviceName:"cdk-insights",stage:Ln?"dev":"prod"},formatter:(0,wt.createJsonFormatter)(),transports:lR,env:{STAGE:Ln?"dev":"prod",LOG_LEVEL:mc?"DEBUG":Ln?"INFO":"ERROR"}}),Pn=e=>({debug:(t,s,n)=>X.debug(t,{component:e,...s},n),info:(t,s,n)=>X.info(t,{component:e,...s},n),warn:(t,s,n,r)=>X.warn(t,{component:e,...s},n,r),error:(t,s,n,r)=>X.error(t,{component:e,...s},n,r)}),He=Pn("cli"),tt=Pn("analysis"),MN=Pn("license"),ds=Pn("cache"),Ui=Pn("github"),ke=Pn("aspect");var pR={IAM:["AWS::IAM::"],S3:["AWS::S3::"],Lambda:["AWS::Lambda::"],DynamoDB:["AWS::DynamoDB::"],RDS:["AWS::RDS::"],EC2:["AWS::EC2::"],SNS:["AWS::SNS::"],SQS:["AWS::SQS::"],StepFunctions:["AWS::StepFunctions::"],CloudTrail:["AWS::CloudTrail::"],ApiGateway:["AWS::ApiGateway::","AWS::ApiGatewayV2::"],SecretsManager:["AWS::SecretsManager::"],KMS:["AWS::KMS::"],EventBridge:["AWS::Events::"],CloudFront:["AWS::CloudFront::"],ELB:["AWS::ElasticLoadBalancing::","AWS::ElasticLoadBalancingV2::"],ECS:["AWS::ECS::"],Cognito:["AWS::Cognito::"],WAF:["AWS::WAFv2::","AWS::WAF::"],CloudWatch:["AWS::CloudWatch::","AWS::Logs::"],Route53:["AWS::Route53::"],ElastiCache:["AWS::ElastiCache::"],ECR:["AWS::ECR::"],OpenSearch:["AWS::OpenSearchService::","AWS::Elasticsearch::"],ACM:["AWS::CertificateManager::"],Backup:["AWS::Backup::"],VPC:["AWS::EC2::VPC","AWS::EC2::FlowLog","AWS::EC2::SecurityGroup"],Kinesis:["AWS::Kinesis::"],AppSync:["AWS::AppSync::"],EKS:["AWS::EKS::"],Redshift:["AWS::Redshift::"],MSK:["AWS::MSK::"],Glue:["AWS::Glue::"]},GN=dr({ttl:3e5,maxSize:100});var dR=ug(cg,{ttl:6e5,maxSize:10}),mR=e=>{if(e.includes("All services")||e.length===0)return s=>!s.Type.startsWith("AWS::CDK::");let t=[];for(let s of e){if(s==="All services")continue;let n=pR[s];n&&t.push(...n)}return t.length===0?s=>!s.Type.startsWith("AWS::CDK::"):s=>!s.Type.startsWith("AWS::CDK::")&&t.some(n=>s.Type.startsWith(n))},fR=e=>{let t=new Map,s={CRITICAL:4,HIGH:3,MEDIUM:2,LOW:1};for(let n of e){let r=n.issue,i=t.get(r);i?s[n.severity]>s[i.severity]&&t.set(r,n):t.set(r,n)}return Array.from(t.values())},gR=(e,t,s,n)=>{let r={CRITICAL:0,HIGH:0,MEDIUM:0,LOW:0},i={},o=0;for(let a of Object.values(e))for(let c of a.issues){o++,r[c.severity]++;let u=c.ruleId?mr(c.ruleId)??"Other":"Other";i[u]=(i[u]||0)+1}return{totalResources:t,analyzedResources:Object.keys(e).length,totalFindings:o,findingsBySeverity:r,findingsByService:i,analysisTimeMs:Date.now()-n,servicesAnalyzed:s}},xh=(e,t,s=[],n={})=>hR(e,t,{selectedServices:s,solutionsRegistry:n,deduplicateFindings:!0,includeStatistics:!1}).findings,hR=(e,t,s={})=>{let n=Date.now(),{selectedServices:r=[],solutionsRegistry:i={},deduplicateFindings:o=!0}=s,a=dR(),c=new Set(["solutionsPatterns","stackArchitecture","crossResourceRelationships"]),u=Object.keys(a).filter(S=>!c.has(S)),{services:l}=pg(r),p=dg(l,u),d={},f=mR(l),m=Object.keys(e.Resources||{}).length,g=Object.entries(e.Resources||{}).filter(([,S])=>f(S)).reduce((S,[v,R])=>(S[v]=R,S),{}),h=[];for(let S of p)try{let v=a[S];if(typeof v!="function"){let k=mr(S)??S;tt.warn(`\u26A0\uFE0F Service check function for ${k} (${S}) is not available`);continue}let R=v({Resources:g},t);h.push(S);for(let[k,_]of Object.entries(R))d[k]||(d[k]={issues:[]}),d[k].issues.push(..._.issues)}catch(v){let R=mr(S)??S;tt.warn(`\u26A0\uFE0F Error in ${R} analysis (${S})`,{error:v instanceof Error?v.message:String(v)})}if(Object.keys(i).length>0)try{let S=a.solutionsPatterns({Resources:g},i);for(let v of S){let R=v.resourceId;d[R]||(d[R]={issues:[]}),d[R].issues.push(v)}}catch(S){tt.warn("\u26A0\uFE0F Error in solutions pattern analysis",{error:S instanceof Error?S.message:String(S)})}if(o)for(let S of Object.keys(d))d[S].issues=fR(d[S].issues);Object.keys(d).length===0&&tt.info(`\x1B[32m\u2705 No security or cost issues detected!\x1B[0m
|
|
87
|
+
`);let y=[...new Set(h.map(S=>mr(S)).filter(S=>S!==void 0))],D=gR(d,m,y,n);return{findings:d,statistics:D}};var st=e=>e?JSON.stringify(e).length:0,Ah=e=>{if(!e||typeof e!="object")return 0;let s=e.Statement;return Array.isArray(s)?s.length:s&&typeof s=="object"?1:0},Gi=(e,t)=>{if(!e)return null;if(typeof e=="string"&&t.has(e))return e;if(typeof e!="object")return null;let s=e;if("Ref"in s&&typeof s.Ref=="string"&&t.has(s.Ref))return s.Ref;if("Fn::GetAtt"in s){let n=s["Fn::GetAtt"];if(Array.isArray(n)&&typeof n[0]=="string"&&t.has(n[0]))return n[0];if(typeof n=="string"){let r=n.split(".")[0];if(t.has(r))return r}}return null};var Jt=e=>{if(!e||typeof e!="object")return[];let s=e.Statement;return Array.isArray(s)?s:s&&typeof s=="object"?[s]:[]},ie=(e,t)=>t<=0?0:e/t,ee=e=>e<1024?`${e} bytes`:`${(e/1024).toFixed(1)}KB`,ms=e=>{let s=(e.Properties||{}).Policies;return Array.isArray(s)?s.map(n=>({name:n.PolicyName||"unnamed",document:n.PolicyDocument})):[]};var re=(e,t)=>Object.entries(e).filter(([,s])=>s.Type===t),Fh=e=>{let t=new Set(Object.keys(e)),s=new Map;for(let[n,r]of Object.entries(e)){if(r.Type!=="AWS::Events::Rule")continue;let o=(r.Properties||{}).Targets;if(Array.isArray(o))for(let a of o){let c=a.DeadLetterConfig;if(!c?.Arn)continue;let u=Gi(c.Arn,t);if(!u)continue;let l=s.get(u)||[];l.push(n),s.set(u,l)}}return s},Eh=e=>{let t=new Map;for(let[s,n]of Object.entries(e)){if(n.Type!=="AWS::Events::Rule")continue;let r=n.Properties||{},i="default";typeof r.EventBusName=="string"?i=r.EventBusName:r.EventBusName&&typeof r.EventBusName=="object"&&(i=JSON.stringify(r.EventBusName));let o=t.get(i)||[];o.push(s),t.set(i,o)}return t};var Rh=(e,t,s)=>{let n=new Set(Object.keys(s)),r=t.Properties||{},i=r.SecurityGroupIngress||[],o=r.SecurityGroupEgress||[],a=Array.isArray(i)?i.length:0,c=Array.isArray(o)?o.length:0;for(let[,u]of Object.entries(s))u.Type==="AWS::EC2::SecurityGroupIngress"&&Gi(u.Properties?.GroupId,n)===e&&a++,u.Type==="AWS::EC2::SecurityGroupEgress"&&Gi(u.Properties?.GroupId,n)===e&&c++;return{inbound:a,outbound:c}};var L={SQS_POLICY_MAX_BYTES:8192,SQS_POLICY_MAX_STATEMENTS:20,IAM_INLINE_POLICY_MAX_BYTES:2048,IAM_MANAGED_POLICY_MAX_BYTES:6144,IAM_ROLE_AGGREGATE_INLINE_MAX_BYTES:10240,LAMBDA_ENV_MAX_BYTES:4096,LAMBDA_MAX_LAYERS:5,S3_BUCKET_POLICY_MAX_BYTES:20480,SNS_TOPIC_POLICY_MAX_BYTES:30720,EVENTBRIDGE_RULES_PER_BUS_DEFAULT:300,CFN_MAX_RESOURCES:500,CFN_TEMPLATE_MAX_BYTES_DIRECT:51200,CFN_TEMPLATE_MAX_BYTES_S3:460800,SECURITY_GROUP_MAX_INBOUND_RULES:60,SECURITY_GROUP_MAX_OUTBOUND_RULES:60},xe=.8;var wh=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::SQS::QueuePolicy");for(let[i,o]of r){let c=(o.Properties||{}).PolicyDocument;if(!c)continue;let u=st(c),l=Ah(c),p=o.Metadata?.["aws:cdk:path"]||i;u>=L.SQS_POLICY_MAX_BYTES?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`SQS queue policy is ${ee(u)}, exceeding the ${ee(L.SQS_POLICY_MAX_BYTES)} limit. Deployment will fail.`,"Consolidate policy statements into a single statement with broader conditions, or split targets across multiple queues. If using a shared DLQ with EventBridge targets, use Queue.fromQueueArn() to prevent CDK from auto-generating per-target statements.","CRITICAL","Reliability",p,"cdkInsights"))):ie(u,L.SQS_POLICY_MAX_BYTES)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`SQS queue policy is ${ee(u)} (${Math.round(ie(u,L.SQS_POLICY_MAX_BYTES)*100)}% of the ${ee(L.SQS_POLICY_MAX_BYTES)} limit). Adding more targets may cause deployment failure.`,"Consider consolidating policy statements or splitting targets across multiple queues before this limit is reached.","HIGH","Reliability",p,"cdkInsights"))),l>=L.SQS_POLICY_MAX_STATEMENTS?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`SQS queue policy has ${l} statements, reaching or exceeding the ${L.SQS_POLICY_MAX_STATEMENTS}-statement limit.`,"Consolidate statements using wildcard conditions or array-valued Action/Resource fields instead of one statement per target.","CRITICAL","Reliability",p,"cdkInsights"))):ie(l,L.SQS_POLICY_MAX_STATEMENTS)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`SQS queue policy has ${l} of ${L.SQS_POLICY_MAX_STATEMENTS} maximum statements (${Math.round(ie(l,L.SQS_POLICY_MAX_STATEMENTS)*100)}%).`,"Consider consolidating policy statements before this limit is reached.","HIGH","Reliability",p,"cdkInsights")))}return s};var Ih=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::IAM::Role"),i=re(n,"AWS::IAM::User");for(let[o,a]of[...r,...i]){let c=a.Metadata?.["aws:cdk:path"]||o,u=ms(a);for(let l of u){if(!l.document)continue;let p=st(l.document);p>=L.IAM_INLINE_POLICY_MAX_BYTES?(s[o]||(s[o]={issues:[]}),s[o].issues.push(t(o,`Inline policy "${l.name}" is ${ee(p)}, exceeding the ${ee(L.IAM_INLINE_POLICY_MAX_BYTES)} limit. Deployment will fail.`,"Convert this inline policy to a managed policy, or reduce the number of statements and actions. Use wildcard patterns where appropriate to consolidate permissions.","CRITICAL","Reliability",c,"cdkInsights"))):ie(p,L.IAM_INLINE_POLICY_MAX_BYTES)>=xe&&(s[o]||(s[o]={issues:[]}),s[o].issues.push(t(o,`Inline policy "${l.name}" is ${ee(p)} (${Math.round(ie(p,L.IAM_INLINE_POLICY_MAX_BYTES)*100)}% of the ${ee(L.IAM_INLINE_POLICY_MAX_BYTES)} limit). Adding more permissions may cause deployment failure.`,"Consider converting this inline policy to a managed policy before the limit is reached.","HIGH","Reliability",c,"cdkInsights")))}}return s};var Th=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::IAM::ManagedPolicy");for(let[i,o]of r){let c=(o.Properties||{}).PolicyDocument;if(!c)continue;let u=st(c),l=o.Metadata?.["aws:cdk:path"]||i;u>=L.IAM_MANAGED_POLICY_MAX_BYTES?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Managed policy is ${ee(u)}, exceeding the ${ee(L.IAM_MANAGED_POLICY_MAX_BYTES)} limit. Deployment will fail.`,"Split this managed policy into multiple smaller policies, or consolidate statements using wildcard patterns to reduce size.","CRITICAL","Reliability",l,"cdkInsights"))):ie(u,L.IAM_MANAGED_POLICY_MAX_BYTES)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Managed policy is ${ee(u)} (${Math.round(ie(u,L.IAM_MANAGED_POLICY_MAX_BYTES)*100)}% of the ${ee(L.IAM_MANAGED_POLICY_MAX_BYTES)} limit). Adding more permissions may cause deployment failure.`,"Consider splitting this managed policy into multiple policies before the limit is reached.","HIGH","Reliability",l,"cdkInsights")))}return s};var kh=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::IAM::Role");for(let[i,o]of r){let a=o.Metadata?.["aws:cdk:path"]||i,c=ms(o),u=0;for(let l of c)l.document&&(u+=st(l.document));u!==0&&(u>=L.IAM_ROLE_AGGREGATE_INLINE_MAX_BYTES?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Aggregate inline policy size is ${ee(u)} across ${c.length} policies, exceeding the ${ee(L.IAM_ROLE_AGGREGATE_INLINE_MAX_BYTES)} limit. Deployment will fail.`,"Convert some inline policies to managed policies to reduce the aggregate inline size. Consider consolidating overlapping permissions across policies.","CRITICAL","Reliability",a,"cdkInsights"))):ie(u,L.IAM_ROLE_AGGREGATE_INLINE_MAX_BYTES)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Aggregate inline policy size is ${ee(u)} across ${c.length} policies (${Math.round(ie(u,L.IAM_ROLE_AGGREGATE_INLINE_MAX_BYTES)*100)}% of the ${ee(L.IAM_ROLE_AGGREGATE_INLINE_MAX_BYTES)} limit). Adding more inline policies may cause deployment failure.`,"Consider converting some inline policies to managed policies before the aggregate limit is reached.","HIGH","Reliability",a,"cdkInsights"))))}return s};var _h=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::Lambda::Function");for(let[i,o]of r){let c=(o.Properties||{}).Environment;if(!c?.Variables)continue;let u=st(c.Variables),l=o.Metadata?.["aws:cdk:path"]||i;u>=L.LAMBDA_ENV_MAX_BYTES?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Lambda environment variables are ${ee(u)}, exceeding the ${ee(L.LAMBDA_ENV_MAX_BYTES)} limit. Deployment will fail.`,"Move large configuration values to SSM Parameter Store or Secrets Manager. Use a single JSON-encoded parameter instead of many individual environment variables.","CRITICAL","Reliability",l,"cdkInsights"))):ie(u,L.LAMBDA_ENV_MAX_BYTES)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Lambda environment variables are ${ee(u)} (${Math.round(ie(u,L.LAMBDA_ENV_MAX_BYTES)*100)}% of the ${ee(L.LAMBDA_ENV_MAX_BYTES)} limit). Adding more variables may cause deployment failure.`,"Consider moving some configuration values to SSM Parameter Store or Secrets Manager before the limit is reached.","HIGH","Reliability",l,"cdkInsights")))}return s};var Lh=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::Lambda::Function");for(let[i,o]of r){let c=(o.Properties||{}).Layers;if(!Array.isArray(c))continue;let u=c.length,l=o.Metadata?.["aws:cdk:path"]||i;u>L.LAMBDA_MAX_LAYERS?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Lambda function has ${u} layers, exceeding the maximum of ${L.LAMBDA_MAX_LAYERS} layers. Deployment will fail.`,"Consolidate layers by combining related dependencies into a single layer, or move some dependencies into the deployment package itself.","CRITICAL","Reliability",l,"cdkInsights"))):u===L.LAMBDA_MAX_LAYERS&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Lambda function has ${u} of ${L.LAMBDA_MAX_LAYERS} maximum layers. There is no headroom to add additional layers.`,"Consider consolidating layers by combining related dependencies into a single layer to free up a layer slot for future needs.","HIGH","Reliability",l,"cdkInsights")))}return s};var Ph=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::S3::BucketPolicy");for(let[i,o]of r){let c=(o.Properties||{}).PolicyDocument;if(!c)continue;let u=st(c),l=o.Metadata?.["aws:cdk:path"]||i;u>=L.S3_BUCKET_POLICY_MAX_BYTES?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`S3 bucket policy is ${ee(u)}, exceeding the ${ee(L.S3_BUCKET_POLICY_MAX_BYTES)} limit. Deployment will fail.`,"Consolidate policy statements or split resources across multiple buckets to reduce policy size.","CRITICAL","Reliability",l,"cdkInsights"))):ie(u,L.S3_BUCKET_POLICY_MAX_BYTES)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`S3 bucket policy is ${ee(u)} (${Math.round(ie(u,L.S3_BUCKET_POLICY_MAX_BYTES)*100)}% of the ${ee(L.S3_BUCKET_POLICY_MAX_BYTES)} limit). Adding more statements may cause deployment failure.`,"Consider consolidating policy statements or splitting resources across multiple buckets before this limit is reached.","HIGH","Reliability",l,"cdkInsights")))}return s};var Oh=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::SNS::TopicPolicy");for(let[i,o]of r){let c=(o.Properties||{}).PolicyDocument;if(!c)continue;let u=st(c),l=o.Metadata?.["aws:cdk:path"]||i;u>=L.SNS_TOPIC_POLICY_MAX_BYTES?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`SNS topic policy is ${ee(u)}, exceeding the ${ee(L.SNS_TOPIC_POLICY_MAX_BYTES)} limit. Deployment will fail.`,"Consolidate policy statements or split subscriptions across multiple topics to reduce policy size.","CRITICAL","Reliability",l,"cdkInsights"))):ie(u,L.SNS_TOPIC_POLICY_MAX_BYTES)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`SNS topic policy is ${ee(u)} (${Math.round(ie(u,L.SNS_TOPIC_POLICY_MAX_BYTES)*100)}% of the ${ee(L.SNS_TOPIC_POLICY_MAX_BYTES)} limit). Adding more statements may cause deployment failure.`,"Consider consolidating policy statements or splitting subscriptions across multiple topics before this limit is reached.","HIGH","Reliability",l,"cdkInsights")))}return s};var Bh=(e,t)=>{let s={},n=e.Resources||{},r=Eh(n);for(let[i,o]of r){let a=o.length,c=o[0],l=n[c]?.Metadata?.["aws:cdk:path"]||c;a>=L.EVENTBRIDGE_RULES_PER_BUS_DEFAULT?(s[c]||(s[c]={issues:[]}),s[c].issues.push(t(c,`EventBridge bus "${i}" has ${a} rules, reaching or exceeding the ${L.EVENTBRIDGE_RULES_PER_BUS_DEFAULT}-rule default limit. Deployment may fail.`,"Request a service quota increase for EventBridge rules per bus, or split rules across multiple event buses.","HIGH","Reliability",l,"cdkInsights"))):ie(a,L.EVENTBRIDGE_RULES_PER_BUS_DEFAULT)>=xe&&(s[c]||(s[c]={issues:[]}),s[c].issues.push(t(c,`EventBridge bus "${i}" has ${a} rules (${Math.round(ie(a,L.EVENTBRIDGE_RULES_PER_BUS_DEFAULT)*100)}% of the ${L.EVENTBRIDGE_RULES_PER_BUS_DEFAULT}-rule default limit).`,"Consider requesting a service quota increase or splitting rules across multiple event buses before this limit is reached.","MEDIUM","Reliability",l,"cdkInsights")))}return s};var Mh=(e,t)=>{let s={},n=Object.keys(e.Resources||{}).length,r="__TEMPLATE_LEVEL__";return n>=L.CFN_MAX_RESOURCES?(s[r]||(s[r]={issues:[]}),s[r].issues.push(t(r,`CloudFormation template contains ${n} resources, reaching or exceeding the ${L.CFN_MAX_RESOURCES}-resource limit. Deployment will fail.`,"Split the stack into multiple nested stacks or separate stacks to stay within the CloudFormation resource limit.","CRITICAL","Reliability","__TEMPLATE_LEVEL__","cdkInsights"))):ie(n,L.CFN_MAX_RESOURCES)>=xe&&(s[r]||(s[r]={issues:[]}),s[r].issues.push(t(r,`CloudFormation template contains ${n} resources (${Math.round(ie(n,L.CFN_MAX_RESOURCES)*100)}% of the ${L.CFN_MAX_RESOURCES}-resource limit).`,"Consider splitting the stack into multiple nested stacks or separate stacks before this limit is reached.","HIGH","Reliability","__TEMPLATE_LEVEL__","cdkInsights"))),s};var Nh=(e,t)=>{let s={},n=JSON.stringify(e).length,r="__TEMPLATE_LEVEL__";return n>=L.CFN_TEMPLATE_MAX_BYTES_S3?(s[r]||(s[r]={issues:[]}),s[r].issues.push(t(r,`CloudFormation template is ${ee(n)}, exceeding the ${ee(L.CFN_TEMPLATE_MAX_BYTES_S3)} S3 upload limit. Deployment will fail regardless of deployment method.`,"Split the stack into multiple nested stacks or separate stacks to reduce template size.","CRITICAL","Reliability","__TEMPLATE_LEVEL__","cdkInsights"))):ie(n,L.CFN_TEMPLATE_MAX_BYTES_S3)>=xe&&(s[r]||(s[r]={issues:[]}),s[r].issues.push(t(r,`CloudFormation template is ${ee(n)} (${Math.round(ie(n,L.CFN_TEMPLATE_MAX_BYTES_S3)*100)}% of the ${ee(L.CFN_TEMPLATE_MAX_BYTES_S3)} S3 upload limit).`,"Consider splitting the stack into multiple nested stacks or separate stacks before this limit is reached.","HIGH","Reliability","__TEMPLATE_LEVEL__","cdkInsights"))),n>=L.CFN_TEMPLATE_MAX_BYTES_DIRECT?(s[r]||(s[r]={issues:[]}),s[r].issues.push(t(r,`CloudFormation template is ${ee(n)}, exceeding the ${ee(L.CFN_TEMPLATE_MAX_BYTES_DIRECT)} direct upload limit. Template must be uploaded via S3.`,"Ensure the template is deployed via S3 (CDK does this by default). Consider splitting the stack if it continues to grow.","HIGH","Reliability","__TEMPLATE_LEVEL__","cdkInsights"))):ie(n,L.CFN_TEMPLATE_MAX_BYTES_DIRECT)>=xe&&(s[r]||(s[r]={issues:[]}),s[r].issues.push(t(r,`CloudFormation template is ${ee(n)} (${Math.round(ie(n,L.CFN_TEMPLATE_MAX_BYTES_DIRECT)*100)}% of the ${ee(L.CFN_TEMPLATE_MAX_BYTES_DIRECT)} direct upload limit).`,"Ensure the template is deployed via S3 if it exceeds the direct upload limit. Consider splitting the stack if it continues to grow.","HIGH","Reliability","__TEMPLATE_LEVEL__","cdkInsights"))),s};var Wh=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::EC2::SecurityGroup");for(let[i,o]of r){let{inbound:a,outbound:c}=Rh(i,o,n),u=o.Metadata?.["aws:cdk:path"]||i;a>=L.SECURITY_GROUP_MAX_INBOUND_RULES?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Security group has ${a} inbound rules, reaching or exceeding the ${L.SECURITY_GROUP_MAX_INBOUND_RULES}-rule limit. Deployment will fail.`,"Consolidate rules using CIDR ranges or prefix lists, or split workloads across multiple security groups.","CRITICAL","Reliability",u,"cdkInsights"))):ie(a,L.SECURITY_GROUP_MAX_INBOUND_RULES)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Security group has ${a} inbound rules (${Math.round(ie(a,L.SECURITY_GROUP_MAX_INBOUND_RULES)*100)}% of the ${L.SECURITY_GROUP_MAX_INBOUND_RULES}-rule limit).`,"Consider consolidating rules using CIDR ranges or prefix lists before this limit is reached.","HIGH","Reliability",u,"cdkInsights"))),c>=L.SECURITY_GROUP_MAX_OUTBOUND_RULES?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Security group has ${c} outbound rules, reaching or exceeding the ${L.SECURITY_GROUP_MAX_OUTBOUND_RULES}-rule limit. Deployment will fail.`,"Consolidate rules using CIDR ranges or prefix lists, or split workloads across multiple security groups.","CRITICAL","Reliability",u,"cdkInsights"))):ie(c,L.SECURITY_GROUP_MAX_OUTBOUND_RULES)>=xe&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Security group has ${c} outbound rules (${Math.round(ie(c,L.SECURITY_GROUP_MAX_OUTBOUND_RULES)*100)}% of the ${L.SECURITY_GROUP_MAX_OUTBOUND_RULES}-rule limit).`,"Consider consolidating rules using CIDR ranges or prefix lists before this limit is reached.","HIGH","Reliability",u,"cdkInsights")))}return s};var jh=(e,t)=>{let s={},n=e.Resources||{},r=Fh(n);for(let[i,o]of r){let a=o.length;if(a<=10)continue;let u=n[i]?.Metadata?.["aws:cdk:path"]||i;a>15?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`SQS queue is used as a shared DLQ by ${a} EventBridge rules. This many targets will cause CDK to auto-generate excessive per-target SQS policy statements, risking policy size limit breaches.`,"Use dedicated DLQs per rule group, or create a single consolidated SQS policy using Queue.fromQueueArn() to prevent CDK from auto-generating per-target policy statements.","CRITICAL","Reliability",u,"cdkInsights"))):(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`SQS queue is used as a shared DLQ by ${a} EventBridge rules. As more rules are added, CDK will auto-generate per-target SQS policy statements that may exceed the policy size limit.`,"Use dedicated DLQs per rule group, or create a single consolidated SQS policy using Queue.fromQueueArn() to prevent CDK from auto-generating per-target policy statements.","HIGH","Reliability",u,"cdkInsights")))}return s};var $h=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::Events::Rule");for(let[i,o]of r){let c=(o.Properties||{}).Targets;if(!Array.isArray(c))continue;let u=o.Metadata?.["aws:cdk:path"]||i,l=[];for(let p=0;p<c.length;p++)c[p].DeadLetterConfig||l.push(p);l.length>0&&(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`EventBridge rule has ${l.length} target(s) without a DeadLetterConfig. Failed invocations will be silently dropped after exhausting retries.`,"Configure a DeadLetterConfig with an SQS queue on each target to capture failed invocations for debugging and reprocessing.","MEDIUM","Reliability",u,"cdkInsights")))}return s};var Uh=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::Lambda::Function"),i=re(n,"AWS::Logs::LogGroup"),o=new Set;for(let[,a]of i){let c=a.Properties?.LogGroupName;typeof c=="string"&&o.add(c)}for(let[a,c]of r){let l=(c.Properties||{}).FunctionName;if(typeof l!="string")continue;let p=`/aws/lambda/${l}`;if(!o.has(p)){let d=c.Metadata?.["aws:cdk:path"]||a;s[a]||(s[a]={issues:[]}),s[a].issues.push(t(a,`Lambda function "${l}" does not have an explicit AWS::Logs::LogGroup resource. CloudWatch will auto-create a log group with no retention policy, leading to indefinite log retention and increased costs.`,"Define an explicit AWS::Logs::LogGroup with a RetentionInDays property for this Lambda function to control log retention and avoid unbounded storage costs.","LOW","Operational Excellence",d,"cdkInsights"))}}return s};var yR=e=>{for(let[,t]of Object.entries(e)){let s=t.Metadata?.["aws:cdk:path"];if(s&&/prod/i.test(s))return!0;if(t.Metadata){for(let n of Object.values(t.Metadata))if(typeof n=="string"&&/prod/i.test(n))return!0}}return!1},Gh=(e,t)=>{let s={},n=e.Resources||{},r=yR(n),i=[...re(n,"AWS::DynamoDB::Table"),...re(n,"AWS::DynamoDB::GlobalTable")];for(let[o,a]of i)if(!((a.Properties||{}).PointInTimeRecoverySpecification?.PointInTimeRecoveryEnabled===!0)){let p=a.Metadata?.["aws:cdk:path"]||o,d=r?"HIGH":"MEDIUM",f=r?" This appears to be a production stack, making data recovery capabilities especially important.":"";s[o]||(s[o]={issues:[]}),s[o].issues.push(t(o,`DynamoDB table does not have Point-in-Time Recovery (PITR) enabled.${f} Without PITR, accidental data deletions or corruption cannot be recovered.`,"Enable PointInTimeRecoverySpecification.PointInTimeRecoveryEnabled on this table to allow restoration to any point within the last 35 days.",d,"Reliability",p,"cdkInsights"))}return s};var zh=e=>{let t=e.Effect||"Allow",s=Array.isArray(e.Action)?[...e.Action].sort():typeof e.Action=="string"?[e.Action]:[],n=Array.isArray(e.Resource)?[...e.Resource].sort():typeof e.Resource=="string"?[e.Resource]:[];return`${t}|${s.join(",")}|${n.join(",")}`},qh=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::IAM::Role"),i=re(n,"AWS::IAM::Policy");for(let[o,a]of r){let c=a.Metadata?.["aws:cdk:path"]||o,u=[],l=ms(a);for(let f of l){if(!f.document)continue;let m=Jt(f.document);for(let g of m)u.push({key:zh(g),source:`inline policy "${f.name}"`})}for(let[,f]of i){let m=f.Properties||{},g=m.Roles;if(!Array.isArray(g)||!g.some(v=>typeof v=="string"?v===o:v&&typeof v=="object"?v.Ref===o:!1))continue;let y=m.PolicyDocument;if(!y)continue;let D=Jt(y),S=m.PolicyName||"unnamed";for(let v of D)u.push({key:zh(v),source:`attached policy "${S}"`})}let p=new Map;for(let{key:f,source:m}of u){let g=p.get(f)||[];g.push(m),p.set(f,g)}let d=0;for(let[,f]of p)f.length>1&&(d+=f.length-1);d>0&&(s[o]||(s[o]={issues:[]}),s[o].issues.push(t(o,`IAM role has ${d} duplicate policy statement(s) across its inline and attached policies. Duplicate statements increase policy size without adding permissions.`,"Consolidate duplicate statements into a single policy. Review inline policies and attached AWS::IAM::Policy resources for overlapping Effect + Action + Resource combinations.","LOW","Security",c,"cdkInsights")))}return s};var DR=e=>{let t=e.Effect||"Allow",s=JSON.stringify(e.Principal||"*"),n=JSON.stringify(e.Condition||null);return`${t}|${s}|${n}`},bR=e=>{let t=e.Action;return Array.isArray(t)?t:typeof t=="string"?[t]:[]},Hh=(e,t)=>{let s={},n=e.Resources||{},r=[...re(n,"AWS::SQS::QueuePolicy"),...re(n,"AWS::SNS::TopicPolicy")];for(let[i,o]of r){let c=(o.Properties||{}).PolicyDocument;if(!c)continue;let u=Jt(c);if(u.length<=2)continue;let l=o.Metadata?.["aws:cdk:path"]||i,p=new Map;for(let h=0;h<u.length;h++){let y=DR(u[h]),D=bR(u[h]),S=p.get(y)||[];S.push({actions:D,index:h}),p.set(y,S)}let d=0;for(let[,h]of p)h.length>1&&(d+=h.length-1);if(d<=0||d<2)continue;let f=u.length,g=d/f>.5?"MEDIUM":"LOW";s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`Policy has ${f} statements, of which ${d} could be consolidated. Multiple statements share the same Effect, Principal, and Condition but differ only in Action values.`,"Consolidate statements that share the same Effect, Principal, and Condition into a single statement with an Action array. This reduces policy size and improves readability.",g,"Reliability",l,"cdkInsights"))}return s};var vR=[{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/service-role\/AWSLambdaBasicExecutionRole$/,name:"AWSLambdaBasicExecutionRole",actions:["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/service-role\/AWSLambdaVPCAccessExecutionRole$/,name:"AWSLambdaVPCAccessExecutionRole",actions:["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents","ec2:CreateNetworkInterface","ec2:DescribeNetworkInterfaces","ec2:DeleteNetworkInterface"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/AmazonDynamoDBReadOnlyAccess$/,name:"AmazonDynamoDBReadOnlyAccess",actions:["dynamodb:BatchGetItem","dynamodb:GetItem","dynamodb:Query","dynamodb:Scan","dynamodb:DescribeTable","dynamodb:DescribeReservedCapacity","dynamodb:DescribeReservedCapacityOfferings","dynamodb:ListTables","dynamodb:DescribeStream","dynamodb:ListStreams"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/AmazonDynamoDBFullAccess$/,name:"AmazonDynamoDBFullAccess",actions:["dynamodb:*"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/AmazonS3ReadOnlyAccess$/,name:"AmazonS3ReadOnlyAccess",actions:["s3:Get*","s3:List*"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/AmazonS3FullAccess$/,name:"AmazonS3FullAccess",actions:["s3:*"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/AmazonSQSFullAccess$/,name:"AmazonSQSFullAccess",actions:["sqs:*"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/AmazonSNSFullAccess$/,name:"AmazonSNSFullAccess",actions:["sns:*"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/CloudWatchFullAccess$/,name:"CloudWatchFullAccess",actions:["cloudwatch:*","logs:*"]},{pattern:/^arn:aws[a-z-]*:iam::aws:policy\/AWSStepFunctionsFullAccess$/,name:"AWSStepFunctionsFullAccess",actions:["states:*"]}],SR=(e,t)=>{if(e===t)return!0;let s=t.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${s}$`,"i").test(e)},Vh=(e,t)=>{let s={},n=e.Resources||{},r=re(n,"AWS::IAM::Role");for(let[i,o]of r){let c=(o.Properties||{}).ManagedPolicyArns;if(!Array.isArray(c)||c.length===0)continue;let u=[];for(let m of c)if(typeof m=="string"){for(let g of vR)if(g.pattern.test(m))for(let h of g.actions)u.push({action:h,policyName:g.name})}if(u.length===0)continue;let l=ms(o),p=[];for(let m of l){if(!m.document)continue;let g=Jt(m.document);for(let h of g){if((h.Effect||"Allow")!=="Allow")continue;let D=Array.isArray(h.Action)?h.Action:typeof h.Action=="string"?[h.Action]:[];for(let S of D)for(let v of u)if(SR(S,v.action)){p.push({action:S,policyName:v.policyName,inlinePolicy:m.name});break}}}if(p.length===0)continue;let d=o.Metadata?.["aws:cdk:path"]||i,f=[...new Set(p.map(m=>m.policyName))];s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,`IAM role has ${p.length} inline action(s) that overlap with permissions already granted by managed policy(ies): ${f.join(", ")}. Redundant inline statements increase policy size without adding permissions.`,"Remove redundant inline policy statements that are already covered by attached managed policies. Review the managed policy permissions before adding inline actions.","LOW","Security",d,"cdkInsights"))}return s};var CR=new Set(["aws:SourceArn","aws:SourceAccount","aws:PrincipalOrgID","aws:SourceVpce"]),xR=e=>{if(e==="*")return!0;if(e&&typeof e=="object"&&!Array.isArray(e)){let t=e,s=t.AWS;if(s==="*"||Array.isArray(s)&&s.includes("*")||t.Service==="*")return!0}return!1},AR=e=>{if(!e||typeof e!="object")return!1;let t=e;for(let s of Object.values(t))if(s&&typeof s=="object"){let n=s;for(let r of Object.keys(n))if(CR.has(r))return!0}return!1},Kh=(e,t)=>{let s={},n=e.Resources||{},r=[];for(let[i,o]of re(n,"AWS::SQS::QueuePolicy")){let a=o.Metadata?.["aws:cdk:path"]||i;r.push([i,o.Properties?.PolicyDocument,a])}for(let[i,o]of re(n,"AWS::SNS::TopicPolicy")){let a=o.Metadata?.["aws:cdk:path"]||i;r.push([i,o.Properties?.PolicyDocument,a])}for(let[i,o]of re(n,"AWS::S3::BucketPolicy")){let a=o.Metadata?.["aws:cdk:path"]||i;r.push([i,o.Properties?.PolicyDocument,a])}for(let[i,o]of re(n,"AWS::KMS::Key")){let a=o.Metadata?.["aws:cdk:path"]||i;r.push([i,o.Properties?.KeyPolicy,a])}for(let[i,o,a]of r){if(!o)continue;let c=Jt(o);for(let u of c){if((u.Effect||"Allow")!=="Allow"||!xR(u.Principal))continue;let p=u.Condition,d=p!=null;d&&AR(p)||(d?(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,'Resource policy has a statement with Principal: "*" and a Condition that does not use a strongly restrictive key (aws:SourceArn, aws:SourceAccount, aws:PrincipalOrgID, or aws:SourceVpce). The current condition may not sufficiently limit access.',"Replace or supplement the existing Condition with aws:SourceArn, aws:SourceAccount, aws:PrincipalOrgID, or aws:SourceVpce to ensure only trusted sources can access this resource.","MEDIUM","Security",a,"cdkInsights"))):(s[i]||(s[i]={issues:[]}),s[i].issues.push(t(i,'Resource policy has a statement with Principal: "*" and no Condition. This allows any AWS account or anonymous user to invoke the allowed actions.',"Add a restrictive Condition using aws:SourceArn, aws:SourceAccount, aws:PrincipalOrgID, or aws:SourceVpce to limit access to trusted sources.","HIGH","Security",a,"cdkInsights"))))}}return s};var FR=[{ruleId:"TL-LIMIT-001",title:"SQS Queue Policy Size Limit",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:wh,description:"SQS queue policies must be under 8KB / 20 statements. Commonly exceeded when CDK auto-generates per-target policy statements for shared DLQs."},{ruleId:"TL-LIMIT-002",title:"IAM Inline Policy Size Limit",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:Ih,description:"Each IAM inline policy must be under 2,048 bytes when URL-encoded."},{ruleId:"TL-LIMIT-003",title:"IAM Managed Policy Size Limit",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:Th,description:"IAM managed policies must be under 6,144 bytes."},{ruleId:"TL-LIMIT-004",title:"IAM Role Aggregate Inline Policy Size",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:kh,description:"Total size of all inline policies on a single IAM role must be under 10,240 bytes."},{ruleId:"TL-LIMIT-005",title:"Lambda Environment Variables Size Limit",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:_h,description:"Lambda environment variables must total under 4KB including keys and values."},{ruleId:"TL-LIMIT-006",title:"Lambda Layers Limit",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:Lh,description:"Lambda functions can have a maximum of 5 layers."},{ruleId:"TL-LIMIT-007",title:"S3 Bucket Policy Size Limit",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:Ph,description:"S3 bucket policies must be under 20KB."},{ruleId:"TL-LIMIT-008",title:"SNS Topic Policy Size Limit",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:Oh,description:"SNS topic policies must be under 30KB."},{ruleId:"TL-LIMIT-009",title:"EventBridge Rules Per Bus Limit",category:"serviceLimits",defaultSeverity:"HIGH",wafPillar:"Reliability",check:Bh,description:"Default quota is 300 EventBridge rules per event bus."},{ruleId:"TL-LIMIT-010",title:"CloudFormation Stack Resource Count",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:Mh,description:"CloudFormation stacks have a hard limit of 500 resources."},{ruleId:"TL-LIMIT-011",title:"CloudFormation Template Size",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:Nh,description:"CloudFormation templates have a 51KB limit (direct) or 460KB limit (S3)."},{ruleId:"TL-LIMIT-012",title:"Security Group Rules Limit",category:"serviceLimits",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:Wh,description:"Security groups have a default limit of 60 inbound and 60 outbound rules."},{ruleId:"TL-XRES-001",title:"Shared DLQ with Too Many EventBridge Targets",category:"crossResourceAntiPatterns",defaultSeverity:"CRITICAL",wafPillar:"Reliability",check:jh,description:"CDK generates one SQS policy statement per EventBridge target. Too many targets sharing a DLQ causes the policy to exceed the 8KB limit."},{ruleId:"TL-XRES-002",title:"EventBridge Targets Without DLQ",category:"crossResourceAntiPatterns",defaultSeverity:"MEDIUM",wafPillar:"Reliability",check:$h,description:"EventBridge rule targets should have a Dead Letter Queue for failed event delivery."},{ruleId:"TL-XRES-003",title:"Lambda Without Explicit Log Group",category:"crossResourceAntiPatterns",defaultSeverity:"LOW",wafPillar:"Operational Excellence",check:Uh,description:"Lambda functions without explicit CloudWatch Log Groups use auto-created groups with infinite retention."},{ruleId:"TL-XRES-004",title:"DynamoDB Without Point-in-Time Recovery",category:"crossResourceAntiPatterns",defaultSeverity:"MEDIUM",wafPillar:"Reliability",check:Gh,description:"DynamoDB tables should have PITR enabled, especially in production stacks."},{ruleId:"TL-XRES-005",title:"Duplicate IAM Policy Statements",category:"crossResourceAntiPatterns",defaultSeverity:"LOW",wafPillar:"Security",check:qh,description:"Duplicate policy statements across a role waste policy size budget and may indicate copy-paste errors."},{ruleId:"TL-POL-001",title:"Redundant SQS/SNS Policy Statements",category:"policyAnalysis",defaultSeverity:"MEDIUM",wafPillar:"Reliability",check:Hh,description:"Policy statements that could be consolidated to reduce policy size."},{ruleId:"TL-POL-002",title:"IAM Overlapping Managed and Inline Policies",category:"policyAnalysis",defaultSeverity:"LOW",wafPillar:"Security",check:Vh,description:"Inline policy statements that duplicate permissions from attached managed policies."},{ruleId:"TL-POL-003",title:"Overly Broad Resource Policy Principals",category:"policyAnalysis",defaultSeverity:"HIGH",wafPillar:"Security",check:Kh,description:"Resource policies with wildcard (*) principals without restrictive conditions."}],fc=(e,t,s)=>{let n={};for(let r of FR)if(!(s&&s.length>0&&!s.some(o=>r.ruleId.toLowerCase().includes(o.toLowerCase())||r.category.toLowerCase().includes(o.toLowerCase())||r.title.toLowerCase().includes(o.toLowerCase()))))try{let i=r.check(e,t);for(let[o,a]of Object.entries(i)){n[o]||(n[o]={issues:[]});for(let c of a.issues)c.ruleId=r.ruleId;n[o].issues.push(...a.issues)}}catch{}return n};var Sr={DEFAULT_MAX_CONCURRENT:5,DEFAULT_RETRY_ATTEMPTS:3,DEFAULT_RETRY_DELAY_MS:1e3,DEFAULT_TIMEOUT_MS:60*1e3};var Zi=Y(require("node:crypto")),Ve=Y(require("node:fs")),Yi=Y(require("node:path"));var ER=["CI","BUILD_ID","BUILD_NUMBER","CIRCLECI","TRAVIS","GITHUB_ACTIONS","GITLAB_CI","JENKINS_URL","BITBUCKET_BUILD_NUMBER","TEAMCITY_VERSION","BAMBOO_BUILDKEY","GO_PIPELINE_NAME","BUILDKITE","DRONE","SEMAPHORE","APPVEYOR","WERCKER","CODEBUILD_BUILD_ID","AWS_CODEBUILD_BUILD_ID","TF_BUILD","CIRRUS_CI","NETLIFY","VERCEL","RENDER","HEROKU_TEST_RUN_ID"],Cr=()=>ER.some(e=>!!process.env[e]);var ct=Y(require("node:fs")),Yh=Y(require("node:os")),Hi=Y(require("node:path"));var RR={features:{staticAnalysis:{free:!0,pro:!0,trial:!0,team:!0},multiStackAnalysis:{free:!0,pro:!0,trial:!0,team:!0},localAnalysis:{free:!0,pro:!0,trial:!0,team:!0},basicServiceChecks:{free:!0,pro:!0,trial:!0,team:!0},aiAnalysis:{free:!1,pro:!0,trial:!0,team:!0},contextualFixes:{free:!1,pro:!0,trial:!0,team:!0},smartPrioritization:{free:!1,pro:!0,trial:!0,team:!0},naturalLanguageExplanations:{free:!1,pro:!0,trial:!0,team:!0},customAITraining:{free:!1,pro:!1,trial:!1,team:!0},githubIntegration:{free:!1,pro:!0,trial:!0,team:!0},teamDashboards:{free:!1,pro:!0,trial:!0,team:!0},collaborativeCommenting:{free:!1,pro:!1,trial:!1,team:!0},sharedConfigurations:{free:!1,pro:!0,trial:!0,team:!0},jsonOutput:{free:!0,pro:!0,trial:!0,team:!0},tableOutput:{free:!0,pro:!0,trial:!0,team:!0},markdownOutput:{free:!0,pro:!0,trial:!0,team:!0},pdfReports:{free:!1,pro:!0,trial:!0,team:!0},executiveSummaries:{free:!1,pro:!1,trial:!1,team:!0},customBrandedReports:{free:!1,pro:!1,trial:!1,team:!0},customRuleSets:{free:!1,pro:!0,trial:!0,team:!0},advancedCompliance:{free:!1,pro:!0,trial:!0,team:!0},cloudAnalysis:{free:!1,pro:!0,trial:!0,team:!0},parallelAnalysis:{free:!1,pro:!0,trial:!0,team:!0},caching:{free:!1,pro:!0,trial:!0,team:!0},largeProjectSupport:{free:!1,pro:!0,trial:!0,team:!0},advancedFiltering:{free:!1,pro:!1,trial:!1,team:!0},apiAccess:{free:!1,pro:!1,trial:!1,team:!0},webhookNotifications:{free:!1,pro:!1,trial:!1,team:!0},cicdIntegration:{free:!1,pro:!1,trial:!1,team:!0},customIntegrations:{free:!1,pro:!1,trial:!1,team:!0},roleBasedAccess:{free:!1,pro:!1,trial:!1,team:!0},teamAnalytics:{free:!1,pro:!1,trial:!1,team:!0},auditTrails:{free:!1,pro:!1,trial:!1,team:!0},ssoIntegration:{free:!1,pro:!1,trial:!1,team:!0},multiTenantSupport:{free:!1,pro:!1,trial:!1,team:!0},whiteLabeling:{free:!1,pro:!1,trial:!1,team:!0},customBranding:{free:!1,pro:!1,trial:!1,team:!0},communitySupport:{free:!0,pro:!0,trial:!0,team:!0},emailSupport:{free:!1,pro:!0,trial:!0,team:!0},prioritySupport:{free:!1,pro:!1,trial:!1,team:!0},dedicatedAccountManager:{free:!1,pro:!1,trial:!1,team:!0},customTraining:{free:!1,pro:!1,trial:!1,team:!0},soc2Compliance:{free:!1,pro:!0,trial:!0,team:!0},hipaaCompliance:{free:!1,pro:!0,trial:!0,team:!0},fedrampCompliance:{free:!1,pro:!1,trial:!1,team:!0},customCompliance:{free:!1,pro:!1,trial:!1,team:!0}}},wR=(e=RR)=>({isFeatureEnabled:(o,a)=>e.features[o]?.[a]??!1,getEnabledFeatures:o=>Object.entries(e.features).filter(([,a])=>a[o]).map(([a])=>a),getAllFeatures:()=>Object.keys(e.features),getFeatureTiers:o=>e.features[o],getUpgradePath:(o,a)=>{let c=["free","pro","trial","team"],u=c.indexOf(a);for(let l=u+1;l<c.length;l++){let p=c[l];if(e.features[o]?.[p])return{required:!0,tier:p,path:`https://cdkinsights.dev/pricing?tier=${p}&feature=${o}`}}return null}}),xr=wR();var Zh=(e,t,s)=>{let n=xr.getUpgradePath(e,t),r=s?` for ${s}`:"";return n?`\u{1F4A1} Upgrade to ${n.tier} to access ${e}${r}. Visit: ${n.path}`:`\u26A0\uFE0F ${e}${r} is not available for your current tier.`};var zi=Hi.join(Yh.homedir(),".cdk-insights","cache"),Mj=Hi.join(zi,"analysis-cache.json"),gc=Hi.join(zi,"cache-stats.json"),Vs={totalHits:0,totalMisses:0,totalSets:0,totalClears:0,cacheSize:0,maxCacheSize:1e3},On=null,qi=!1,IR=()=>{try{if(ct.existsSync(gc)){let e=ct.readFileSync(gc,"utf-8");try{Vs={...Vs,...JSON.parse(e)}}catch(t){ds.warn("Could not parse cache statistics file",{error:t instanceof Error?t.message:String(t)})}}}catch(e){ds.warn("Could not load cache statistics",{error:e instanceof Error?e.message:String(e)})}},hc=()=>{qi=!0,!On&&(On=setTimeout(()=>{qi&&Jh(),On=null},5e3))},Jh=()=>{try{TR(),ct.writeFileSync(gc,JSON.stringify(Vs,null,2),"utf-8"),qi=!1}catch(e){ds.warn("Could not save cache statistics",{error:e instanceof Error?e.message:String(e)})}},yc=()=>{On&&(clearTimeout(On),On=null),qi&&Jh()};process.on("exit",yc);process.on("SIGINT",()=>{yc(),process.exit(0)});process.on("SIGTERM",()=>{yc(),process.exit(0)});IR();var TR=()=>{ct.existsSync(zi)||ct.mkdirSync(zi,{recursive:!0})};var Qh=()=>{Vs.totalHits++,hc()},Vi=()=>{Vs.totalMisses++,hc()},Xh=()=>{Vs.totalSets++,Vs.cacheSize++,hc()};var Bn=Yi.join(process.env.HOME||process.env.USERPROFILE||"",".cdk-insights","cache","analysis-cache.json"),kR=()=>{let e=Yi.dirname(Bn);Ve.existsSync(e)||Ve.mkdirSync(e,{recursive:!0})},_R=()=>{if(Cr())return new Map;try{if(Ve.existsSync(Bn)){let e=JSON.parse(Ve.readFileSync(Bn,"utf-8")),t=new Map,s=Date.now();for(let[n,r]of e.entries||[])s-r.timestamp<=r.ttl&&t.set(n,r);return t}}catch(e){ds.warn("Could not load cache from disk",{error:e instanceof Error?e.message:String(e)})}return new Map},ey=e=>{if(!Cr())try{kR();let t={entries:Array.from(e.entries()),timestamp:Date.now(),version:"1.0"};Ve.writeFileSync(Bn,JSON.stringify(t,null,2),"utf-8")}catch(t){ds.warn("Could not save cache to disk",{error:t instanceof Error?t.message:String(t)})}},LR=e=>{try{let t=Ve.statSync(e),s=Ve.readFileSync(e,"utf-8"),n=Zi.createHash("sha256").update(s).digest("hex");return{filePath:e,lastModified:t.mtime.getTime(),hash:n}}catch{return null}},PR=e=>{let t={};for(let s of e){let n=LR(s);n&&(t[s]=n)}return t},OR=(e,t)=>e?Zi.createHash("sha256").update(`${e}:${t||""}`).digest("hex").slice(0,16):"no-auth",BR=e=>Zi.createHash("sha256").update(JSON.stringify(e)).digest("hex"),ty=(e,t,s,n,r=[])=>{let i=OR(s,n),o=BR(t),a=PR(r);return{resourceId:e,authContext:i,resourceHash:o,fileHashes:a}},sy=e=>{let t=Object.entries(e.fileHashes).sort(([s],[n])=>s.localeCompare(n)).map(([s,n])=>`${s}:${n.hash}`).join("|");return`${e.resourceId}:${e.authContext}:${e.resourceHash}:${t}`};var Ki=class{cache;ttl;maxSize;disabled=!1;constructor(t={}){this.ttl=t.ttl||60*60*1e3,this.maxSize=t.maxSize||1e3,this.disabled=t.disabled||!1,this.disabled?this.cache=new Map:this.cache=_R()}setDisabled(t){this.disabled=t,t&&this.cache.clear()}get(t){if(this.disabled){Vi();return}let s=this.cache.get(t);if(!s){Vi();return}if(Date.now()-s.timestamp>s.ttl){this.cache.delete(t),Vi();return}return Qh(),s.value}set(t,s,n,r){this.disabled||(this.cache.size>=this.maxSize&&this.evictOldest(),this.cache.set(t,{value:s,timestamp:Date.now(),ttl:r??this.ttl,fileHashes:n.fileHashes,authContext:n.authContext,resourceHash:n.resourceHash}),Xh(),this.cache.size%10===0&&ey(this.cache))}has(t){return this.cache.has(t)}clear(){if(this.cache.clear(),!Cr())try{Ve.existsSync(Bn)&&Ve.unlinkSync(Bn)}catch(t){ds.warn("Could not clear disk cache",{error:t instanceof Error?t.message:String(t)})}}saveToDisk(){ey(this.cache)}size(){return this.cache.size}evictOldest(){let t,s=Date.now();for(let[n,r]of Array.from(this.cache.entries()))r.timestamp<s&&(s=r.timestamp,t=n);t&&this.cache.delete(t)}getStats(){return{size:this.cache.size,maxSize:this.maxSize,hitRate:0,totalHits:0,totalMisses:0}}getAllCachedResults(){return new Map(this.cache)}getCachedResultsForResources(t){let s=new Map;for(let[n,r]of Array.from(this.cache.entries())){let i=n.split(":")[0];t.includes(i)&&Date.now()-r.timestamp<=r.ttl&&s.set(i,r.value)}return s}hasCachedResult(t){for(let s of Array.from(this.cache.keys()))if(s.split(":")[0]===t)return!0;return!1}};var MR=new Set(["the","a","an","is","are","was","were","be","been","has","have","had","do","does","did","will","would","could","should","may","might","must","shall","can","this","that","these","those","it","its","to","for","of","in","on","at","by","with","from","or","and","not","no","but","if","then","else","when","where","resource","configuration","setting","configured","property","properties","which","lead","leads","leading","means","using","use","used","ensure","consider","also","such","most","more","any","all","some","other","each","every","necessary","unnecessary","recommended","default","specific","current","potential","possible","workloads","workload"]),NR=[["lacks","missing","without","absent","none","defined"],["encryption","encrypted","encrypt"],["configured","configuration","config","settings","setting"],["enabled","enable","active","activated"],["disabled","disable","inactive"],["public","publicly","open"],["access","accessible","accessibility"],["transit","transfer","transmission"],["rest","stored","storage"],["logging","logs","logged","log"],["dlq","dead","letter","queue"],["monitor","monitoring","observability"],["alarm","alarms","alert","alerts"],["unrestricted","permissive","overly"],["egress","outbound"],["ingress","inbound"],["recovery","backup","restore"],["pitr","point"],["function","functions"],["cluster","clusters"],["instance","instances"],["bucket","buckets"],["table","tables"],["domain","domains"],["node","nodes"],["policy","policies"],["rule","rules"],["subnet","subnets"],["high","higher","excessive","elevated"],["allocation","allocated","allocate"],["provisioned","provision"],["scaling","autoscaling","auto"],["restrict","restricted","restriction"],["expose","exposed","exposing","exposure"],["allow","allows","allowing"],["prevent","prevents","preventing"],["memory","ram","2gb","1gb"]],iy=new Map;for(let e of NR){let t=e[0];for(let s of e)iy.set(s,t)}var WR=e=>iy.get(e)||e,ny=e=>{if(!e)return new Set;let t=e.toLowerCase().replace(/[^\w\s]/g," ").replace(/\s+/g," ").trim().split(" ").filter(s=>s.length>2&&!MR.has(s)).map(WR);return new Set(t)},jR=(e,t)=>{if(e.size===0&&t.size===0)return 1;if(e.size===0||t.size===0)return 0;let s=[...e].filter(r=>t.has(r)).length,n=new Set([...e,...t]).size;return n>0?s/n:0},$R=.4,ry=3,Dc=(e,t)=>{let s=ny(e.issue),n=ny(t.issue);return s.size<ry||n.size<ry?!1:jR(s,n)>=$R},bc=e=>`${e.issue}::${e.severity}::${e.wafPillar}`,Ar=e=>{let{existing:t,incoming:s}=e,n=new Set(t.map(bc)),r=[];for(let i of s){let o=bc(i);n.has(o)||t.some(u=>Dc(i,u))||r.some(u=>Dc(i,u))||(n.add(o),r.push(i))}return r},Ji=(e,t)=>{let s=new Set,n=[];for(let r of e){let i=bc(r);s.has(i)||n.some(a=>Dc(r,a))||(s.add(i),n.push(r))}return n};var oy=Y(require("node:crypto")),ay=(e,t)=>{let s=`${e}:${t}`;return oy.createHash("sha256").update(s).digest("hex").slice(0,32)};var cy=e=>t=>{let s={},n={};return Object.entries(t).forEach(([r,i])=>{let o=e(i);s[o]=r,n[o]=i}),{redactedResources:n,mapping:s}};var uy=(e,t,s={})=>{let n=[];return e.forEach(r=>{let i=r.resourceId,o=s[i];if(!o&&i.includes("/")){let c=i.split("/"),u=c[c.length-2],l=Object.entries(t).find(([p,d])=>d.startsWith(u));l&&(o=l[1])}if(!o)return;let a=Object.entries(t).find(([,c])=>c===o)?.[0];if(!a){X.warn(`\u26A0\uFE0F Unable to find redacted ID for logical resource: ${o}`);return}n.push({...r,resourceId:a})}),n};var ly=(e=0)=>t=>`\x1B[${t+e}m`,py=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,dy=(e=0)=>(t,s,n)=>`\x1B[${38+e};2;${t};${s};${n}m`,Fe={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Vj=Object.keys(Fe.modifier),UR=Object.keys(Fe.color),GR=Object.keys(Fe.bgColor),Kj=[...UR,...GR];function zR(){let e=new Map;for(let[t,s]of Object.entries(Fe)){for(let[n,r]of Object.entries(s))Fe[n]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},s[n]=Fe[n],e.set(r[0],r[1]);Object.defineProperty(Fe,t,{value:s,enumerable:!1})}return Object.defineProperty(Fe,"codes",{value:e,enumerable:!1}),Fe.color.close="\x1B[39m",Fe.bgColor.close="\x1B[49m",Fe.color.ansi=ly(),Fe.color.ansi256=py(),Fe.color.ansi16m=dy(),Fe.bgColor.ansi=ly(10),Fe.bgColor.ansi256=py(10),Fe.bgColor.ansi16m=dy(10),Object.defineProperties(Fe,{rgbToAnsi256:{value(t,s,n){return t===s&&s===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(s/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(t){let s=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!s)return[0,0,0];let[n]=s;n.length===3&&(n=[...n].map(i=>i+i).join(""));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:t=>Fe.rgbToAnsi256(...Fe.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let s,n,r;if(t>=232)s=((t-232)*10+8)/255,n=s,r=s;else{t-=16;let a=t%36;s=Math.floor(t/36)/5,n=Math.floor(a/6)/5,r=a%6/5}let i=Math.max(s,n,r)*2;if(i===0)return 30;let o=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(s));return i===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(t,s,n)=>Fe.ansi256ToAnsi(Fe.rgbToAnsi256(t,s,n)),enumerable:!1},hexToAnsi:{value:t=>Fe.ansi256ToAnsi(Fe.hexToAnsi256(t)),enumerable:!1}}),Fe}var qR=zR(),It=qR;var Xi=Y(require("node:process"),1),fy=Y(require("node:os"),1),vc=Y(require("node:tty"),1);function yt(e,t=globalThis.Deno?globalThis.Deno.args:Xi.default.argv){let s=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(s+e),r=t.indexOf("--");return n!==-1&&(r===-1||n<r)}var{env:Ie}=Xi.default,Qi;yt("no-color")||yt("no-colors")||yt("color=false")||yt("color=never")?Qi=0:(yt("color")||yt("colors")||yt("color=true")||yt("color=always"))&&(Qi=1);function HR(){if("FORCE_COLOR"in Ie)return Ie.FORCE_COLOR==="true"?1:Ie.FORCE_COLOR==="false"?0:Ie.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Ie.FORCE_COLOR,10),3)}function VR(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function KR(e,{streamIsTTY:t,sniffFlags:s=!0}={}){let n=HR();n!==void 0&&(Qi=n);let r=s?Qi:n;if(r===0)return 0;if(s){if(yt("color=16m")||yt("color=full")||yt("color=truecolor"))return 3;if(yt("color=256"))return 2}if("TF_BUILD"in Ie&&"AGENT_NAME"in Ie)return 1;if(e&&!t&&r===void 0)return 0;let i=r||0;if(Ie.TERM==="dumb")return i;if(Xi.default.platform==="win32"){let o=fy.default.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in Ie)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(o=>o in Ie)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(o=>o in Ie)||Ie.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in Ie)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ie.TEAMCITY_VERSION)?1:0;if(Ie.COLORTERM==="truecolor"||Ie.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in Ie){let o=Number.parseInt((Ie.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ie.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ie.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ie.TERM)||"COLORTERM"in Ie?1:i}function my(e,t={}){let s=KR(e,{streamIsTTY:e&&e.isTTY,...t});return VR(s)}var ZR={stdout:my({isTTY:vc.default.isatty(1)}),stderr:my({isTTY:vc.default.isatty(2)})},gy=ZR;function hy(e,t,s){let n=e.indexOf(t);if(n===-1)return e;let r=t.length,i=0,o="";do o+=e.slice(i,n)+t+s,i=n+r,n=e.indexOf(t,i);while(n!==-1);return o+=e.slice(i),o}function yy(e,t,s,n){let r=0,i="";do{let o=e[n-1]==="\r";i+=e.slice(r,o?n-1:n)+t+(o?`\r
|
|
88
88
|
`:`
|
|
89
89
|
`)+s,r=n+1,n=e.indexOf(`
|
|
90
|
-
`,r)}while(n!==-1);return i+=e.slice(r),i}var{stdout:
|
|
91
|
-
`);return i!==-1&&(t=
|
|
92
|
-
${t}`,pw=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),dw=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),mw=(e,t,s)=>{let n=s===""?"":`with ${s.trim()}() `,r=lw.bind(null,n,t.toString());Object.defineProperty(r,"name",dw);let{writable:i,enumerable:o,configurable:a}=pw;Object.defineProperty(e,"toString",{value:r,writable:i,enumerable:o,configurable:a})};function pc(e,t,{ignoreNonConfigurable:s=!1}={}){let{name:n}=e;for(let r of Reflect.ownKeys(t))aw(e,t,r,s);return uw(e,t),mw(e,t,n),e}var Gi=new WeakMap,Mh=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let s,n=0,r=e.displayName||e.name||"<anonymous>",i=function(...o){if(Gi.set(i,++n),n===1)s=e.apply(this,o),e=void 0;else if(t.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return s};return pc(i,e),Gi.set(i,n),i};Mh.callCount=e=>{if(!Gi.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return Gi.get(e)};var Wh=Mh;var js=[];js.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&js.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&js.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var qi=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",dc=Symbol.for("signal-exit emitter"),mc=globalThis,fw=Object.defineProperty.bind(Object),fc=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(mc[dc])return mc[dc];fw(mc,dc,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,s){this.listeners[t].push(s)}removeListener(t,s){let n=this.listeners[t],r=n.indexOf(s);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(t,s,n){if(this.emitted[t])return!1;this.emitted[t]=!0;let r=!1;for(let i of this.listeners[t])r=i(s,n)===!0||r;return t==="exit"&&(r=this.emit("afterExit",s,n)||r),r}},zi=class{},gw=e=>({onExit(t,s){return e.onExit(t,s)},load(){return e.load()},unload(){return e.unload()}}),gc=class extends zi{onExit(){return()=>{}}load(){}unload(){}},hc=class extends zi{#o=yc.platform==="win32"?"SIGINT":"SIGHUP";#s=new fc;#e;#r;#d;#t={};#i=!1;constructor(t){super(),this.#e=t,this.#t={};for(let s of js)this.#t[s]=()=>{let n=this.#e.listeners(s),{count:r}=this.#s,i=t;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(r+=i.__signal_exit_emitter__.count),n.length===r){this.unload();let o=this.#s.emit("exit",null,s),a=s==="SIGHUP"?this.#o:s;o||t.kill(t.pid,a)}};this.#d=t.reallyExit,this.#r=t.emit}onExit(t,s){if(!qi(this.#e))return()=>{};this.#i===!1&&this.load();let n=s?.alwaysLast?"afterExit":"exit";return this.#s.on(n,t),()=>{this.#s.removeListener(n,t),this.#s.listeners.exit.length===0&&this.#s.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#i){this.#i=!0,this.#s.count+=1;for(let t of js)try{let s=this.#t[t];s&&this.#e.on(t,s)}catch{}this.#e.emit=(t,...s)=>this.#m(t,...s),this.#e.reallyExit=t=>this.#n(t)}}unload(){this.#i&&(this.#i=!1,js.forEach(t=>{let s=this.#t[t];if(!s)throw new Error("Listener not defined for signal: "+t);try{this.#e.removeListener(t,s)}catch{}}),this.#e.emit=this.#r,this.#e.reallyExit=this.#d,this.#s.count-=1)}#n(t){return qi(this.#e)?(this.#e.exitCode=t||0,this.#s.emit("exit",this.#e.exitCode,null),this.#d.call(this.#e,this.#e.exitCode)):0}#m(t,...s){let n=this.#r;if(t==="exit"&&qi(this.#e)){typeof s[0]=="number"&&(this.#e.exitCode=s[0]);let r=n.call(this.#e,t,...s);return this.#s.emit("exit",this.#e.exitCode,null),r}else return n.call(this.#e,t,...s)}},yc=globalThis.process,{onExit:jh,load:xM,unload:FM}=gw(qi(yc)?new hc(yc):new gc);var $h=Dr.default.stderr.isTTY?Dr.default.stderr:Dr.default.stdout.isTTY?Dr.default.stdout:void 0,hw=$h?Wh(()=>{jh(()=>{$h.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},Uh=hw;var Hi=!1,In={};In.show=(e=Dc.default.stderr)=>{e.isTTY&&(Hi=!1,e.write("\x1B[?25h"))};In.hide=(e=Dc.default.stderr)=>{e.isTTY&&(Uh(),Hi=!0,e.write("\x1B[?25l"))};In.toggle=(e,t)=>{e!==void 0&&(Hi=e),Hi?In.show(t):In.hide(t)};var bc=In;var Sr=H(vc(),1);var dt=H(require("node:process"),1);function Cc(){return dt.default.platform!=="win32"?dt.default.env.TERM!=="linux":!!dt.default.env.CI||!!dt.default.env.WT_SESSION||!!dt.default.env.TERMINUS_SUBLIME||dt.default.env.ConEmuTask==="{cmd::Cmder}"||dt.default.env.TERM_PROGRAM==="Terminus-Sublime"||dt.default.env.TERM_PROGRAM==="vscode"||dt.default.env.TERM==="xterm-256color"||dt.default.env.TERM==="alacritty"||dt.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Dw={info:te.blue("\u2139"),success:te.green("\u2714"),warning:te.yellow("\u26A0"),error:te.red("\u2716")},bw={info:te.blue("i"),success:te.green("\u221A"),warning:te.yellow("\u203C"),error:te.red("\xD7")},vw=Cc()?Dw:bw,br=vw;function Sc({onlyFirst:e=!1}={}){let s=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(s,e?void 0:"g")}var Cw=Sc();function vr(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Cw,"")}function Hh(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Vh(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Kh(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function Sw(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Zh(e,{ambiguousAsWide:t=!1}={}){return Sw(e),Vh(e)||Kh(e)||t&&Hh(e)?2:1}var Qh=H(Yh(),1),xw=new Intl.Segmenter,Fw=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u");function xc(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:s=!0,countAnsiEscapeCodes:n=!1}=t;if(n||(e=vr(e)),e.length===0)return 0;let r=0,i={ambiguousAsWide:!s};for(let{segment:o}of xw.segment(e)){let a=o.codePointAt(0);if(!(a<=31||a>=127&&a<=159)&&!(a>=8203&&a<=8207||a===65279)&&!(a>=768&&a<=879||a>=6832&&a<=6911||a>=7616&&a<=7679||a>=8400&&a<=8447||a>=65056&&a<=65071)&&!(a>=55296&&a<=57343)&&!(a>=65024&&a<=65039)&&!Fw.test(o)){if((0,Qh.default)().test(o)){r+=2;continue}r+=Zh(a,i)}}return r}function Fc({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var Ac=H(require("node:process"),1);function Ec(){let{env:e}=Ac.default,{TERM:t,TERM_PROGRAM:s}=e;return Ac.default.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||s==="Terminus-Sublime"||s==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Ft=H(require("node:process"),1),Aw=3,wc=class{#o=0;start(){this.#o++,this.#o===1&&this.#s()}stop(){if(this.#o<=0)throw new Error("`stop` called more times than `start`");this.#o--,this.#o===0&&this.#e()}#s(){Ft.default.platform==="win32"||!Ft.default.stdin.isTTY||(Ft.default.stdin.setRawMode(!0),Ft.default.stdin.on("data",this.#r),Ft.default.stdin.resume())}#e(){Ft.default.stdin.isTTY&&(Ft.default.stdin.off("data",this.#r),Ft.default.stdin.pause(),Ft.default.stdin.setRawMode(!1))}#r(t){t[0]===Aw&&Ft.default.emit("SIGINT")}},Ew=new wc,Rc=Ew;var ww=H(vc(),1),Tc=class{#o=0;#s=!1;#e=0;#r=-1;#d=0;#t;#i;#n;#m;#g;#u;#l;#p;#h;#a;#c;color;constructor(t){typeof t=="string"&&(t={text:t}),this.#t={color:"cyan",stream:Cr.default.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#t.color,this.spinner=this.#t.spinner,this.#g=this.#t.interval,this.#n=this.#t.stream,this.#u=typeof this.#t.isEnabled=="boolean"?this.#t.isEnabled:Fc({stream:this.#n}),this.#l=typeof this.#t.isSilent=="boolean"?this.#t.isSilent:!1,this.text=this.#t.text,this.prefixText=this.#t.prefixText,this.suffixText=this.#t.suffixText,this.indent=this.#t.indent,Cr.default.env.NODE_ENV==="test"&&(this._stream=this.#n,this._isEnabled=this.#u,Object.defineProperty(this,"_linesToClear",{get(){return this.#o},set(s){this.#o=s}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#r}}),Object.defineProperty(this,"_lineCount",{get(){return this.#e}}))}get indent(){return this.#p}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#p=t,this.#f()}get interval(){return this.#g??this.#i.interval??100}get spinner(){return this.#i}set spinner(t){if(this.#r=-1,this.#g=void 0,typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#i=t}else if(!Ec())this.#i=Sr.default.line;else if(t===void 0)this.#i=Sr.default.dots;else if(t!=="default"&&Sr.default[t])this.#i=Sr.default[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#h}set text(t=""){this.#h=t,this.#f()}get prefixText(){return this.#a}set prefixText(t=""){this.#a=t,this.#f()}get suffixText(){return this.#c}set suffixText(t=""){this.#c=t,this.#f()}get isSpinning(){return this.#m!==void 0}#y(t=this.#a,s=" "){return typeof t=="string"&&t!==""?t+s:typeof t=="function"?t()+s:""}#D(t=this.#c,s=" "){return typeof t=="string"&&t!==""?s+t:typeof t=="function"?s+t():""}#f(){let t=this.#n.columns??80,s=this.#y(this.#a,"-"),n=this.#D(this.#c,"-"),r=" ".repeat(this.#p)+s+"--"+this.#h+"--"+n;this.#e=0;for(let i of vr(r).split(`
|
|
93
|
-
`))this.#e+=Math.max(1,Math.ceil(
|
|
94
|
-
`),this)}stop(){return this.#u?(clearInterval(this.#m),this.#m=void 0,this.#r=0,this.clear(),this.#t.hideCursor&&
|
|
95
|
-
`;return this.stop(),this.#n.write(l),this}};function
|
|
96
|
-
${
|
|
97
|
-
`);let i=[];for(let o of n){if(o.enabled===!1||o.skip?.())continue;let a=
|
|
98
|
-
\u274C Error in ${o.title}:`),c),c}}return r&&this.showSummary(i),i}createResourceProgressBar(t,s="Analyzing resources"){let n=0,r=process.stdout.isTTY===!0;return{update:(i=1)=>{n+=i;let o=(n/t*100).toFixed(1),a=`${n}/${t}`;r?process.stdout.write(`\r${
|
|
90
|
+
`,r)}while(n!==-1);return i+=e.slice(r),i}var{stdout:Dy,stderr:by}=gy,Sc=Symbol("GENERATOR"),Mn=Symbol("STYLER"),Fr=Symbol("IS_EMPTY"),vy=["ansi","ansi","ansi256","ansi16m"],Nn=Object.create(null),YR=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let s=Dy?Dy.level:0;e.level=t.level===void 0?s:t.level};var JR=e=>{let t=(...s)=>s.join(" ");return YR(t,e),Object.setPrototypeOf(t,Er.prototype),t};function Er(e){return JR(e)}Object.setPrototypeOf(Er.prototype,Function.prototype);for(let[e,t]of Object.entries(It))Nn[e]={get(){let s=eo(this,xc(t.open,t.close,this[Mn]),this[Fr]);return Object.defineProperty(this,e,{value:s}),s}};Nn.visible={get(){let e=eo(this,this[Mn],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Cc=(e,t,s,...n)=>e==="rgb"?t==="ansi16m"?It[s].ansi16m(...n):t==="ansi256"?It[s].ansi256(It.rgbToAnsi256(...n)):It[s].ansi(It.rgbToAnsi(...n)):e==="hex"?Cc("rgb",t,s,...It.hexToRgb(...n)):It[s][e](...n),QR=["rgb","hex","ansi256"];for(let e of QR){Nn[e]={get(){let{level:s}=this;return function(...n){let r=xc(Cc(e,vy[s],"color",...n),It.color.close,this[Mn]);return eo(this,r,this[Fr])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);Nn[t]={get(){let{level:s}=this;return function(...n){let r=xc(Cc(e,vy[s],"bgColor",...n),It.bgColor.close,this[Mn]);return eo(this,r,this[Fr])}}}}var XR=Object.defineProperties(()=>{},{...Nn,level:{enumerable:!0,get(){return this[Sc].level},set(e){this[Sc].level=e}}}),xc=(e,t,s)=>{let n,r;return s===void 0?(n=e,r=t):(n=s.openAll+e,r=t+s.closeAll),{open:e,close:t,openAll:n,closeAll:r,parent:s}},eo=(e,t,s)=>{let n=(...r)=>ew(n,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(n,XR),n[Sc]=e,n[Mn]=t,n[Fr]=s,n},ew=(e,t)=>{if(e.level<=0||!t)return e[Fr]?"":t;let s=e[Mn];if(s===void 0)return t;let{openAll:n,closeAll:r}=s;if(t.includes("\x1B"))for(;s!==void 0;)t=hy(t,s.close,s.open),s=s.parent;let i=t.indexOf(`
|
|
91
|
+
`);return i!==-1&&(t=yy(t,r,n,i)),n+t+r};Object.defineProperties(Er.prototype,Nn);var tw=Er(),t$=Er({level:by?by.level:0});var ne=tw;var Tr=Y(require("node:process"),1);var kc=Y(require("node:process"),1);var Rr=Y(require("node:process"),1);var sw=(e,t,s,n)=>{if(s==="length"||s==="prototype"||s==="arguments"||s==="caller")return;let r=Object.getOwnPropertyDescriptor(e,s),i=Object.getOwnPropertyDescriptor(t,s);!nw(r,i)&&n||Object.defineProperty(e,s,i)},nw=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},rw=(e,t)=>{let s=Object.getPrototypeOf(t);s!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,s)},iw=(e,t)=>`/* Wrapped ${e}*/
|
|
92
|
+
${t}`,ow=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),aw=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),cw=(e,t,s)=>{let n=s===""?"":`with ${s.trim()}() `,r=iw.bind(null,n,t.toString());Object.defineProperty(r,"name",aw);let{writable:i,enumerable:o,configurable:a}=ow;Object.defineProperty(e,"toString",{value:r,writable:i,enumerable:o,configurable:a})};function Ac(e,t,{ignoreNonConfigurable:s=!1}={}){let{name:n}=e;for(let r of Reflect.ownKeys(t))sw(e,t,r,s);return rw(e,t),cw(e,t,n),e}var to=new WeakMap,Sy=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let s,n=0,r=e.displayName||e.name||"<anonymous>",i=function(...o){if(to.set(i,++n),n===1)s=e.apply(this,o),e=void 0;else if(t.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return s};return Ac(i,e),to.set(i,n),i};Sy.callCount=e=>{if(!to.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return to.get(e)};var Cy=Sy;var Ks=[];Ks.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ks.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ks.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var so=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Fc=Symbol.for("signal-exit emitter"),Ec=globalThis,uw=Object.defineProperty.bind(Object),Rc=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Ec[Fc])return Ec[Fc];uw(Ec,Fc,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,s){this.listeners[t].push(s)}removeListener(t,s){let n=this.listeners[t],r=n.indexOf(s);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(t,s,n){if(this.emitted[t])return!1;this.emitted[t]=!0;let r=!1;for(let i of this.listeners[t])r=i(s,n)===!0||r;return t==="exit"&&(r=this.emit("afterExit",s,n)||r),r}},no=class{},lw=e=>({onExit(t,s){return e.onExit(t,s)},load(){return e.load()},unload(){return e.unload()}}),wc=class extends no{onExit(){return()=>{}}load(){}unload(){}},Ic=class extends no{#o=Tc.platform==="win32"?"SIGINT":"SIGHUP";#s=new Rc;#e;#r;#d;#t={};#i=!1;constructor(t){super(),this.#e=t,this.#t={};for(let s of Ks)this.#t[s]=()=>{let n=this.#e.listeners(s),{count:r}=this.#s,i=t;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(r+=i.__signal_exit_emitter__.count),n.length===r){this.unload();let o=this.#s.emit("exit",null,s),a=s==="SIGHUP"?this.#o:s;o||t.kill(t.pid,a)}};this.#d=t.reallyExit,this.#r=t.emit}onExit(t,s){if(!so(this.#e))return()=>{};this.#i===!1&&this.load();let n=s?.alwaysLast?"afterExit":"exit";return this.#s.on(n,t),()=>{this.#s.removeListener(n,t),this.#s.listeners.exit.length===0&&this.#s.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#i){this.#i=!0,this.#s.count+=1;for(let t of Ks)try{let s=this.#t[t];s&&this.#e.on(t,s)}catch{}this.#e.emit=(t,...s)=>this.#m(t,...s),this.#e.reallyExit=t=>this.#n(t)}}unload(){this.#i&&(this.#i=!1,Ks.forEach(t=>{let s=this.#t[t];if(!s)throw new Error("Listener not defined for signal: "+t);try{this.#e.removeListener(t,s)}catch{}}),this.#e.emit=this.#r,this.#e.reallyExit=this.#d,this.#s.count-=1)}#n(t){return so(this.#e)?(this.#e.exitCode=t||0,this.#s.emit("exit",this.#e.exitCode,null),this.#d.call(this.#e,this.#e.exitCode)):0}#m(t,...s){let n=this.#r;if(t==="exit"&&so(this.#e)){typeof s[0]=="number"&&(this.#e.exitCode=s[0]);let r=n.call(this.#e,t,...s);return this.#s.emit("exit",this.#e.exitCode,null),r}else return n.call(this.#e,t,...s)}},Tc=globalThis.process,{onExit:xy,load:c$,unload:u$}=lw(so(Tc)?new Ic(Tc):new wc);var Ay=Rr.default.stderr.isTTY?Rr.default.stderr:Rr.default.stdout.isTTY?Rr.default.stdout:void 0,pw=Ay?Cy(()=>{xy(()=>{Ay.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},Fy=pw;var ro=!1,Wn={};Wn.show=(e=kc.default.stderr)=>{e.isTTY&&(ro=!1,e.write("\x1B[?25h"))};Wn.hide=(e=kc.default.stderr)=>{e.isTTY&&(Fy(),ro=!0,e.write("\x1B[?25l"))};Wn.toggle=(e,t)=>{e!==void 0&&(ro=e),ro?Wn.show(t):Wn.hide(t)};var _c=Wn;var kr=Y(Lc(),1);var Dt=Y(require("node:process"),1);function Pc(){return Dt.default.platform!=="win32"?Dt.default.env.TERM!=="linux":!!Dt.default.env.CI||!!Dt.default.env.WT_SESSION||!!Dt.default.env.TERMINUS_SUBLIME||Dt.default.env.ConEmuTask==="{cmd::Cmder}"||Dt.default.env.TERM_PROGRAM==="Terminus-Sublime"||Dt.default.env.TERM_PROGRAM==="vscode"||Dt.default.env.TERM==="xterm-256color"||Dt.default.env.TERM==="alacritty"||Dt.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var mw={info:ne.blue("\u2139"),success:ne.green("\u2714"),warning:ne.yellow("\u26A0"),error:ne.red("\u2716")},fw={info:ne.blue("i"),success:ne.green("\u221A"),warning:ne.yellow("\u203C"),error:ne.red("\xD7")},gw=Pc()?mw:fw,wr=gw;function Oc({onlyFirst:e=!1}={}){let s=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(s,e?void 0:"g")}var hw=Oc();function Ir(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(hw,"")}function Iy(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Ty(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function ky(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function yw(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function _y(e,{ambiguousAsWide:t=!1}={}){return yw(e),Ty(e)||ky(e)||t&&Iy(e)?2:1}var Oy=Y(Py(),1),Dw=new Intl.Segmenter,bw=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u");function Bc(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:s=!0,countAnsiEscapeCodes:n=!1}=t;if(n||(e=Ir(e)),e.length===0)return 0;let r=0,i={ambiguousAsWide:!s};for(let{segment:o}of Dw.segment(e)){let a=o.codePointAt(0);if(!(a<=31||a>=127&&a<=159)&&!(a>=8203&&a<=8207||a===65279)&&!(a>=768&&a<=879||a>=6832&&a<=6911||a>=7616&&a<=7679||a>=8400&&a<=8447||a>=65056&&a<=65071)&&!(a>=55296&&a<=57343)&&!(a>=65024&&a<=65039)&&!bw.test(o)){if((0,Oy.default)().test(o)){r+=2;continue}r+=_y(a,i)}}return r}function Mc({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var Nc=Y(require("node:process"),1);function Wc(){let{env:e}=Nc.default,{TERM:t,TERM_PROGRAM:s}=e;return Nc.default.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||s==="Terminus-Sublime"||s==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Tt=Y(require("node:process"),1),vw=3,jc=class{#o=0;start(){this.#o++,this.#o===1&&this.#s()}stop(){if(this.#o<=0)throw new Error("`stop` called more times than `start`");this.#o--,this.#o===0&&this.#e()}#s(){Tt.default.platform==="win32"||!Tt.default.stdin.isTTY||(Tt.default.stdin.setRawMode(!0),Tt.default.stdin.on("data",this.#r),Tt.default.stdin.resume())}#e(){Tt.default.stdin.isTTY&&(Tt.default.stdin.off("data",this.#r),Tt.default.stdin.pause(),Tt.default.stdin.setRawMode(!1))}#r(t){t[0]===vw&&Tt.default.emit("SIGINT")}},Sw=new jc,$c=Sw;var Cw=Y(Lc(),1),Uc=class{#o=0;#s=!1;#e=0;#r=-1;#d=0;#t;#i;#n;#m;#g;#u;#l;#p;#h;#a;#c;color;constructor(t){typeof t=="string"&&(t={text:t}),this.#t={color:"cyan",stream:Tr.default.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#t.color,this.spinner=this.#t.spinner,this.#g=this.#t.interval,this.#n=this.#t.stream,this.#u=typeof this.#t.isEnabled=="boolean"?this.#t.isEnabled:Mc({stream:this.#n}),this.#l=typeof this.#t.isSilent=="boolean"?this.#t.isSilent:!1,this.text=this.#t.text,this.prefixText=this.#t.prefixText,this.suffixText=this.#t.suffixText,this.indent=this.#t.indent,Tr.default.env.NODE_ENV==="test"&&(this._stream=this.#n,this._isEnabled=this.#u,Object.defineProperty(this,"_linesToClear",{get(){return this.#o},set(s){this.#o=s}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#r}}),Object.defineProperty(this,"_lineCount",{get(){return this.#e}}))}get indent(){return this.#p}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#p=t,this.#f()}get interval(){return this.#g??this.#i.interval??100}get spinner(){return this.#i}set spinner(t){if(this.#r=-1,this.#g=void 0,typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#i=t}else if(!Wc())this.#i=kr.default.line;else if(t===void 0)this.#i=kr.default.dots;else if(t!=="default"&&kr.default[t])this.#i=kr.default[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#h}set text(t=""){this.#h=t,this.#f()}get prefixText(){return this.#a}set prefixText(t=""){this.#a=t,this.#f()}get suffixText(){return this.#c}set suffixText(t=""){this.#c=t,this.#f()}get isSpinning(){return this.#m!==void 0}#y(t=this.#a,s=" "){return typeof t=="string"&&t!==""?t+s:typeof t=="function"?t()+s:""}#D(t=this.#c,s=" "){return typeof t=="string"&&t!==""?s+t:typeof t=="function"?s+t():""}#f(){let t=this.#n.columns??80,s=this.#y(this.#a,"-"),n=this.#D(this.#c,"-"),r=" ".repeat(this.#p)+s+"--"+this.#h+"--"+n;this.#e=0;for(let i of Ir(r).split(`
|
|
93
|
+
`))this.#e+=Math.max(1,Math.ceil(Bc(i,{countAnsiEscapeCodes:!0})/t))}get isEnabled(){return this.#u&&!this.#l}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#u=t}get isSilent(){return this.#l}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#l=t}frame(){let t=Date.now();(this.#r===-1||t-this.#d>=this.interval)&&(this.#r=++this.#r%this.#i.frames.length,this.#d=t);let{frames:s}=this.#i,n=s[this.#r];this.color&&(n=ne[this.color](n));let r=typeof this.#a=="string"&&this.#a!==""?this.#a+" ":"",i=typeof this.text=="string"?" "+this.text:"",o=typeof this.#c=="string"&&this.#c!==""?" "+this.#c:"";return r+n+i+o}clear(){if(!this.#u||!this.#n.isTTY)return this;this.#n.cursorTo(0);for(let t=0;t<this.#o;t++)t>0&&this.#n.moveCursor(0,-1),this.#n.clearLine(1);return(this.#p||this.lastIndent!==this.#p)&&this.#n.cursorTo(this.#p),this.lastIndent=this.#p,this.#o=0,this}render(){return this.#l?this:(this.clear(),this.#n.write(this.frame()),this.#o=this.#e,this)}start(t){return t&&(this.text=t),this.#l?this:this.#u?this.isSpinning?this:(this.#t.hideCursor&&_c.hide(this.#n),this.#t.discardStdin&&Tr.default.stdin.isTTY&&(this.#s=!0,$c.start()),this.render(),this.#m=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.#n.write(`- ${this.text}
|
|
94
|
+
`),this)}stop(){return this.#u?(clearInterval(this.#m),this.#m=void 0,this.#r=0,this.clear(),this.#t.hideCursor&&_c.show(this.#n),this.#t.discardStdin&&Tr.default.stdin.isTTY&&this.#s&&($c.stop(),this.#s=!1),this):this}succeed(t){return this.stopAndPersist({symbol:wr.success,text:t})}fail(t){return this.stopAndPersist({symbol:wr.error,text:t})}warn(t){return this.stopAndPersist({symbol:wr.warning,text:t})}info(t){return this.stopAndPersist({symbol:wr.info,text:t})}stopAndPersist(t={}){if(this.#l)return this;let s=t.prefixText??this.#a,n=this.#y(s," "),r=t.symbol??" ",i=t.text??this.text,a=typeof i=="string"?(r?" ":"")+i:"",c=t.suffixText??this.#c,u=this.#D(c," "),l=n+r+a+u+`
|
|
95
|
+
`;return this.stop(),this.#n.write(l),this}};function oo(e){return new Uc(e)}var ye={text:ne.hex("#E4E4E7"),success:ne.hex("#22C55E"),info:ne.hex("#3B82F6"),warning:ne.hex("#F59E0B"),error:ne.hex("#EF4444"),comment:ne.hex("#71717A"),primary:ne.hex("#8B5CF6"),secondary:ne.hex("#06B6D4"),severity:{critical:ne.hex("#EF4444"),high:ne.hex("#F97316"),medium:ne.hex("#F59E0B"),low:ne.hex("#22C55E"),info:ne.hex("#3B82F6")}},Le={success:"\u2705",info:"\u2139\uFE0F",warning:"\u26A0\uFE0F",error:"\u274C",loading:"\u23F3",done:"\u{1F389}",analyze:"\u{1F50D}",scan:"\u{1F50E}",stack:"\u{1F4E6}",resource:"\u{1F527}",service:"\u2699\uFE0F",security:"\u{1F512}",performance:"\u26A1",cost:"\u{1F4B0}",phase1:"\u{1F4CB}",phase2:"\u{1F916}",phase3:"\u{1F4CA}",github:"\u{1F419}",issue:"\u{1F4CB}",gist:"\u{1F4C4}",critical:"\u{1F534}",high:"\u{1F7E0}",medium:"\u{1F7E1}",low:"\u{1F7E2}",sparkles:"\u2728",rocket:"\u{1F680}",brain:"\u{1F9E0}",shield:"\u{1F6E1}\uFE0F",lightning:"\u26A1",chart:"\u{1F4CA}",clock:"\u23F1\uFE0F",target:"\u{1F3AF}"},Gc=class e{static instance;static getInstance(){return e.instance||(e.instance=new e),e.instance}async runAnalysis(t){let{title:s,steps:n,showSummary:r=!0}=t;console.log(`
|
|
96
|
+
${ye.primary.bold(`${Le.rocket} ${s}`)}`),console.log(`${ye.comment("\u2500".repeat(60))}
|
|
97
|
+
`);let i=[];for(let o of n){if(o.enabled===!1||o.skip?.())continue;let a=oo({text:o.title,color:"blue",spinner:"dots"}).start();try{let c=await o.task();a.succeed(`${o.title} - Completed`),i.push(c)}catch(c){throw a.fail(`${o.title} - Failed`),console.error(ne.red(`
|
|
98
|
+
\u274C Error in ${o.title}:`),c),c}}return r&&this.showSummary(i),i}createResourceProgressBar(t,s="Analyzing resources"){let n=0,r=process.stdout.isTTY===!0;return{update:(i=1)=>{n+=i;let o=(n/t*100).toFixed(1),a=`${n}/${t}`;r?process.stdout.write(`\r${ye.info(`${Le.analyze} ${s}`)} ${a} (${o}%)`):console.log(`${Le.analyze} ${s} ${a} (${o}%)`),n>=t&&r&&process.stdout.write(`
|
|
99
99
|
`)},complete:()=>{r&&process.stdout.write(`
|
|
100
|
-
`)}}}createSingleLineProgressTracker(t,s="Analyzing resources with AI"){let n=0,r=0,i=0,o=0,a=Date.now(),c=a,u=0,l=process.stdout.isTTY===!0,p=0,
|
|
101
|
-
\u26A0\uFE0F Progress tracking interrupted`)},updateJobStatus:(
|
|
102
|
-
${
|
|
103
|
-
${
|
|
104
|
-
${
|
|
105
|
-
`)}section(t,s=
|
|
106
|
-
`)}}};var
|
|
107
|
-
${
|
|
108
|
-
`)},s=(I,
|
|
109
|
-
`)},g=(I,
|
|
110
|
-
`)},h=(I,
|
|
111
|
-
`)},
|
|
112
|
-
`)},
|
|
113
|
-
${
|
|
114
|
-
${
|
|
115
|
-
${
|
|
116
|
-
${
|
|
117
|
-
${
|
|
118
|
-
`)},displayQuotaWarning:I=>{let{currentResourcesAnalyzed:
|
|
119
|
-
${
|
|
120
|
-
${
|
|
121
|
-
`))}}},
|
|
100
|
+
`)}}}createSingleLineProgressTracker(t,s="Analyzing resources with AI"){let n=0,r=0,i=0,o=0,a=Date.now(),c=a,u=0,l=process.stdout.isTTY===!0,p=0,d=new Map,f=()=>{if(n===0)return"calculating...";let y=Date.now()-a,D=n/(y/1e3),v=(t-n)/D;return v<60?`${Math.ceil(v)}s`:v<3600?`${Math.ceil(v/60)}m`:`${Math.ceil(v/3600)}h`},m=()=>{let D=Math.floor(n/t*20),S=20-D;return"\u2588".repeat(D)+"\u2591".repeat(S)},g=()=>{let y=m(),D=f(),S=`${y} | ${n}/${t}`,v=D?` | ETA: ${D}`:"";l?(h(),process.stdout.write(`\r${ye.info(`${Le.analyze} ${s}`)} ${S}${v}`),u=S.length+v.length+s.length+10):n>p&&(p=n,console.log(`${Le.analyze} ${s} ${S}${v}`))},h=()=>{l&&u>0&&(process.stdout.write(`\r${" ".repeat(u)}\r`),u=0)};return{startJob:(y,D)=>{let S=d.get(D);S?S.status!=="active"&&(S.status==="timedOut"?o--:S.status==="failed"?i--:S.status==="completed"&&n--,r++,S.status="active",S.startTime=Date.now(),g()):(r++,d.set(D,{startTime:Date.now(),resourceType:D.split(":")[0]||"unknown",status:"active"}),g())},clearCurrentLine:()=>{h()},cleanup:()=>{h(),console.log(`
|
|
101
|
+
\u26A0\uFE0F Progress tracking interrupted`)},updateJobStatus:(y,D,S,v)=>{let R=Date.now();R-c>500&&(c=R,g())},completeJob:(y,D)=>{let S=d.get(D);S&&S.status==="active"&&(n++,r--,S.status="completed",S.completionTime=Date.now()-S.startTime,g())},failJob:(y,D,S)=>{let v=d.get(D);v&&v.status==="active"&&(i++,r--,v.status="failed",g())},timeoutJob:(y,D)=>{let S=d.get(D);S&&S.status==="active"&&(o++,r--,S.status="timedOut",g())},getStats:()=>({completed:n,active:r,failed:i,timedOut:o,total:t,percentage:(n/t*100).toFixed(1),elapsed:Math.floor((Date.now()-a)/1e3),eta:f()}),getResourceStatus:y=>d.get(y),getAllResourceStatuses:()=>new Map(d),showSummary:()=>{h();let y=Math.floor((Date.now()-a)/1e3),D=n>0?Math.round(y/n):0;console.log(`
|
|
102
|
+
${ye.primary.bold(`${Le.chart} Analysis Complete!`)}`),console.log(ye.comment("\u2500".repeat(50))),console.log(ye.success(`\u2705 Completed: ${n}`)),i>0&&console.log(ye.error(`\u274C Failed: ${i}`)),o>0&&console.log(ye.warning(`\u23F0 Timed out: ${o}`)),console.log(ye.comment(`\u23F1\uFE0F Total time: ${y}s`))}}}createSpinner(t){let s=oo({text:t,color:"blue",spinner:"dots"}).start();return{stop:n=>{n?s.succeed(n):s.stop()},fail:n=>{s.fail(n||"Failed")},warn:n=>{s.warn(n||"Warning")},info:n=>{s.info(n||"Info")}}}showSummary(t){console.log(`
|
|
103
|
+
${ye.primary.bold(`${Le.chart} Analysis Summary`)}`),console.log(ye.comment("\u2500".repeat(40))),console.log(ye.text(`Completed ${t.length} step${t.length===1?"":"s"} successfully!`))}header(t){console.log(`
|
|
104
|
+
${ye.primary.bold(`${Le.rocket} ${t}`)}`),console.log(`${ye.comment("\u2500".repeat(60))}
|
|
105
|
+
`)}section(t,s=Le.info){console.log(ye.primary.bold(`${s} ${t}`))}success(t,s=Le.success){console.log(ye.success(`${s} ${t}`))}info(t,s=Le.info){console.log(ye.info(`${s} ${t}`))}warning(t,s=Le.warning){console.log(ye.warning(`${s} ${t}`))}error(t,s=Le.error){console.log(ye.error(`${s} ${t}`))}comment(t,s=""){console.log(ye.comment(`${s} ${t}`))}phase1(t){console.log(ye.info(`${Le.phase1} Phase 1: ${t}`))}phase2(t){console.log(ye.primary(`${Le.phase2} Phase 2: ${t}`))}phase3(t){console.log(ye.secondary(`${Le.phase3} Phase 3: ${t}`))}severityBadge(t){switch(t.toUpperCase()){case"CRITICAL":return ye.severity.critical.bold(`${Le.critical} CRITICAL`);case"HIGH":return ye.severity.high.bold(`${Le.high} HIGH`);case"MEDIUM":return ye.severity.medium.bold(`${Le.medium} MEDIUM`);case"LOW":return ye.severity.low.bold(`${Le.low} LOW`);default:return ye.comment(t)}}divider(){console.log(ye.comment("\u2500".repeat(60)))}newline(){console.log("")}clearLine(){process.stdout.write(`\r${" ".repeat(process.stdout.columns)}\r`)}},ao=Gc.getInstance();var tu=Y(yD()),j={text:ne.hex("#E4E4E7"),success:ne.hex("#22C55E"),info:ne.hex("#3B82F6"),warning:ne.hex("#F59E0B"),error:ne.hex("#EF4444"),comment:ne.hex("#71717A"),primary:ne.hex("#8B5CF6"),secondary:ne.hex("#06B6D4"),severity:{critical:ne.hex("#EF4444"),high:ne.hex("#F97316"),medium:ne.hex("#F59E0B"),low:ne.hex("#22C55E"),info:ne.hex("#3B82F6")},accent:ne.hex("#F472B6")},Pe={success:"\u2705",info:"\u2139\uFE0F",warning:"\u26A0\uFE0F",error:"\u274C",loading:"\u23F3",done:"\u{1F389}",analyze:"\u{1F50D}",scan:"\u{1F50E}",search:"\u{1F50D}",check:"\u2705",fix:"\u{1F527}",create:"\u{1F4DD}",save:"\u{1F4BE}",upload:"\u{1F4E4}",download:"\u{1F4E5}",stack:"\u{1F4E6}",resource:"\u{1F527}",service:"\u2699\uFE0F",security:"\u{1F512}",performance:"\u26A1",cost:"\u{1F4B0}",phase1:"\u{1F4CB}",phase2:"\u{1F916}",phase3:"\u{1F4CA}",github:"\u{1F419}",issue:"\u{1F4CB}",gist:"\u{1F4C4}",critical:"\u{1F534}",high:"\u{1F7E0}",medium:"\u{1F7E1}",low:"\u{1F7E2}",sparkles:"\u2728",rocket:"\u{1F680}",brain:"\u{1F9E0}",shield:"\u{1F6E1}\uFE0F",lightning:"\u26A1",chart:"\u{1F4CA}",clock:"\u23F1\uFE0F",target:"\u{1F3AF}"},DD={log:console.log.bind(console),write:e=>process.stdout.write(e),clearScreen:()=>process.stdout.write("\x1B[2J\x1B[0f"),now:()=>Date.now(),columns:()=>process.stdout.columns??80},Jw=(e,t="",s=DD)=>{let n={current:0,total:e,width:40,label:t},r=()=>{let i=Math.max(0,n.total),o=Math.max(0,Math.min(n.current,i)),a=i>0?o/i*100:0,c=i>0?Math.round(n.width*o/i):0,u=Math.max(0,n.width-c),l="\u2588".repeat(c)+"\u2591".repeat(u),p=`${a.toFixed(1)}%`,d=n.label?`${n.label} `:"",f=`${o}/${i}`;s.write(`\r${j.info(`${Pe.loading} ${d}`)}${l} ${j.comment(`${p} (${f})`)}`)};return{update:i=>{n.current=i,r()},complete:()=>{s.write(`
|
|
106
|
+
`)}}};var Qw=(e=DD)=>{let t=I=>{e.log(`
|
|
107
|
+
${j.primary.bold(`\u{1F680} ${I}`)}`),e.log(`${j.comment("\u2500".repeat(60))}
|
|
108
|
+
`)},s=(I,T=Pe.info)=>{e.log(j.primary.bold(`${T} ${I}`))},n=(I,T=Pe.success)=>{e.log(j.success(`${T} ${I}`))},r=(I,T=Pe.info)=>{e.log(j.info(`${T} ${I}`))},i=(I,T=Pe.warning)=>{e.log(j.warning(`${T} ${I}`))},o=(I,T=Pe.error)=>{e.log(j.error(`${T} ${I}`))},a=(I,T="")=>{e.log(j.comment(`${T} ${I}`))},c=I=>e.log(j.info(`${Pe.phase1} ${I}`)),u=I=>e.log(j.primary(`${Pe.phase2} ${I}`)),l=I=>e.log(j.secondary(`${Pe.phase3} ${I}`)),p=(I,T)=>{e.log(j.info(`${Pe.analyze} Analyzing your CDK stack: ${j.text.bold(I)}`)),e.log(j.comment(` \u{1F4CA} Found ${T} resource${T===1?"":"s"} to analyze`))},d=(I,T,W)=>{let K=T>0?(I/T*100).toFixed(1):"0.0";e.log(j.comment(` ${W}: ${I}/${T} (${K}%)`))},f=(I,T,W,K=0,pe=0)=>{let U=T>0?(I/T*100).toFixed(1):"0.0",B=K>0||pe>0?` | \u26A1${K} \u{1F40C}${pe}`:"";e.log(j.comment(` ${W}: ${I}/${T} (${U}%)${B}`))},m=(I,T,W)=>{let K=T>0?(I/T*100).toFixed(1):"0.0";e.write(`\r${j.comment(` ${W}: ${I}/${T} (${K}%)`)}`),I===T&&e.write(`
|
|
109
|
+
`)},g=(I,T,W,K=0,pe=0)=>{let U=T>0?(I/T*100).toFixed(1):"0.0",B=K>0||pe>0?` | \u26A1${K} \u{1F40C}${pe}`:"";e.write(`\r${j.comment(` ${W}: ${I}/${T} (${U}%)${B}`)}`),I===T&&e.write(`
|
|
110
|
+
`)},h=(I,T,W,K="\u280B")=>{let pe=T>0?(I/T*100).toFixed(1):"0.0";e.write(`\r${j.comment(` ${K} ${W}: ${I}/${T} (${pe}%)`)}`),I===T&&e.write(`
|
|
111
|
+
`)},y=(I,T,W,K=0,pe=0,U="\u280B")=>{let B=T>0?(I/T*100).toFixed(1):"0.0",oe=K>0||pe>0?` | \u26A1${K} \u{1F40C}${pe}`:"";e.write(`\r${j.info(` ${U} ${W}: ${I}/${T} (${B}%)${oe}`)}`),I===T&&e.write(`
|
|
112
|
+
`)},D=(I,T="AI Analysis |{bar}| {percentage}% | {value}/{total} | ETA: {eta}s | {speed} items/s")=>new tu.default.SingleBar({format:j.comment(T),barCompleteChar:"\u2588",barIncompleteChar:"\u2591",hideCursor:!0,clearOnComplete:!0,stopOnComplete:!0,forceRedraw:!0,barsize:30},tu.default.Presets.shades_classic),S=(I,T,W,K)=>{let pe=I>1e3?`${(I/1e3).toFixed(1)}s`:`${I}ms`;e.log(j.success(`${Pe.done} Analysis complete in ${pe}`)),e.log(j.comment(` Success: ${T}, Failures: ${W}, Timeouts: ${K}`))},v=(I,T,W)=>{let K=W===0?"no issues":`${W} issue${W===1?"":"s"}`,pe=W===0?j.success:j.warning,U=W===0?Pe.success:Pe.warning;e.log(pe(` ${U} ${I} (${T}): ${K}`))},R=I=>{switch(I.toUpperCase()){case"CRITICAL":return j.severity.critical.bold(`${Pe.critical} CRITICAL`);case"HIGH":return j.severity.high.bold(`${Pe.high} HIGH`);case"MEDIUM":return j.severity.medium.bold(`${Pe.medium} MEDIUM`);case"LOW":return j.severity.low.bold(`${Pe.low} LOW`);default:return j.comment(I)}};return{header:t,section:s,success:n,info:r,warning:i,error:o,comment:a,phase1:c,phase2:u,phase3:l,analysisStart:p,analysisProgress:d,analysisProgressMixed:f,analysisProgressInPlace:m,analysisProgressInPlaceMixed:g,analysisProgressLive:h,analysisProgressLiveMixed:y,createSmoothProgressBar:D,analysisComplete:S,resourceAnalysis:v,severityBadge:R,summary:I=>{e.log(`
|
|
113
|
+
${j.primary.bold(`${Pe.chart} Analysis Summary`)}`),e.log(j.comment("\u2500".repeat(40))),e.log(j.text(`Total Resources: ${I.totalResources}`)),e.log(j.text(`Resources with Issues: ${I.resourcesWithIssues} (${I.percentWithIssues}%)`)),e.log(j.text(`Total Issues: ${I.totalIssues}`)),e.log(`
|
|
114
|
+
${j.primary.bold("Severity Breakdown:")}`),e.log(` ${R("CRITICAL")}: ${I.severityCounts.CRITICAL}`),e.log(` ${R("HIGH")}: ${I.severityCounts.HIGH}`),e.log(` ${R("MEDIUM")}: ${I.severityCounts.MEDIUM}`),e.log(` ${R("LOW")}: ${I.severityCounts.LOW}`);let T=Object.entries(I.wafIssues).filter(([,W])=>W>0);if(T.length>0){e.log(`
|
|
115
|
+
${j.primary.bold("WAF Pillar Impact:")}`);for(let[W,K]of T)e.log(j.text(` ${W}: ${K}`))}},githubIssueCreated:I=>{e.log(j.success(`${Pe.github} GitHub issue created successfully!`)),e.log(j.info(` ${I}`))},githubGistCreated:I=>{e.log(j.success(`${Pe.gist} Gist created for detailed report`)),e.log(j.info(` ${I}`))},createProgressBar:(I,T)=>Jw(I,T,e),spinner:(I,T)=>{let W=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],K=0,pe=null,U=()=>{pe&&(clearInterval(pe),pe=null),e.write(`\r${" ".repeat(I.length+3)}\r`)},B=()=>U();return process.once("exit",B),process.once("SIGINT",B),process.once("SIGTERM",B),pe=setInterval(()=>{e.write(`\r${j.info(W[K])} ${I}`),K=(K+1)%W.length},80),T().finally(()=>{process.removeListener("exit",B),process.removeListener("SIGINT",B),process.removeListener("SIGTERM",B),U()})},divider:()=>e.log(j.comment("\u2500".repeat(60))),newline:()=>e.log(""),clearLine:()=>{e.write(`\r${" ".repeat(e.columns())}\r`)},displayTrialStatus:I=>{if(!I.isTrial)return;let{currentResourcesAnalyzed:T,maxResources:W,remainingResources:K,trialExpired:pe,trialStart:U,trialEnd:B,tier:oe}=I,Ae=W>0?T/W*100:0,J=j.success,ae="\u{1F3AF}",be="Active";pe?(J=j.error,ae="\u23F0",be="Expired"):Ae>=90?(J=j.error,ae="\u26A0\uFE0F",be="Critical"):Ae>=80?(J=j.warning,ae="\u26A1",be="Warning"):Ae>=50&&(J=j.info,ae="\u{1F4CA}",be="Good"),e.log(`
|
|
116
|
+
${j.primary.bold("\u{1F381} CDK Insights Trial")}`),e.log(j.comment("\u2500".repeat(50))),e.log(`${ae} Status: ${J.bold(be)}`),oe&&e.log(`\u{1F4E6} Plan: ${j.info.bold(oe.charAt(0).toUpperCase()+oe.slice(1))}`);let Ee=30,Qs=Math.max(0,Math.min(100,Ae)),Xs=Math.round(Qs/100*Ee),$e=Math.max(0,Ee-Xs);if(e.log(`\u{1F4CA} Usage: ${"\u2588".repeat(Xs)}${"\u2591".repeat($e)} ${Ae.toFixed(1)}%`),e.log(` ${T} / ${W} resources analyzed`),e.log(` ${K} resources remaining`),U&&B){let Ou=Math.floor(e.now()/1e3),Bu=B-U,av=Ou-U,Mu=B-Ou,Nu=Bu>0?Math.max(0,Math.min(100,av/Bu*100)):0,Wu=Math.round(Nu/100*Ee),cv=Math.max(0,Ee-Wu);if(e.log(`\u23F1\uFE0F Trial Period: ${"\u2588".repeat(Wu)}${"\u2591".repeat(cv)} ${Nu.toFixed(1)}%`),Mu>0){let ju=Math.ceil(Mu/86400);e.log(` ${ju} day${ju!==1?"s":""} remaining`)}else e.log(" Trial expired")}e.log(`
|
|
117
|
+
${j.comment("\u{1F4A1} Next Steps:")}`),pe?(e.log(j.error(" \u274C Trial expired - upgrade to continue")),e.log(j.comment(" \u{1F517} https://cdkinsights.dev/pricing"))):Ae>=90?(e.log(j.warning(" \u26A0\uFE0F Usage limit nearly reached")),e.log(j.comment(" \u{1F517} https://cdkinsights.dev/pricing"))):Ae>=80?(e.log(j.info(" \u{1F4C8} Consider upgrading for unlimited analysis")),e.log(j.comment(" \u{1F517} https://cdkinsights.dev/pricing"))):e.log(j.success(" \u2705 Continue analyzing your infrastructure")),e.log(`${j.comment("\u2500".repeat(50))}
|
|
118
|
+
`)},displayQuotaWarning:I=>{let{currentResourcesAnalyzed:T,maxResources:W,requestedResources:K,isTrial:pe}=I;if(!pe)return;T+K>W&&(e.log(`
|
|
119
|
+
${j.warning.bold("\u26A0\uFE0F Trial Limit Exceeded")}`),e.log(j.comment("\u2500".repeat(40))),e.log(j.warning(` You've analyzed ${T}/${W} resources`)),e.log(j.warning(` This analysis would add ${K} more resources`)),e.log(j.warning(` Total would be ${T+K}/${W}`)),e.log(`
|
|
120
|
+
${j.info("\u{1F4CB} Falling back to static analysis only")}`),e.log(j.comment("\u{1F4A1} Upgrade to Pro for unlimited AI analysis: https://cdkinsights.dev/pricing")),e.log(`${j.comment("\u2500".repeat(40))}
|
|
121
|
+
`))}}},z=Qw();var bD=e=>e&&(e.Name||e.ResourceName||e.FunctionName)||"Unnamed";var su=null,vD=e=>{su=e};var nu=()=>{if(su&&!process.env.CI)try{su.saveToDisk(),He.info("\u{1F4BE} Cache saved to disk on exit")}catch(e){He.warn("\u26A0\uFE0F Could not save cache on exit",{error:e instanceof Error?e.message:String(e)})}};process.on("exit",nu);process.on("SIGINT",()=>{nu(),process.exit(0)});process.on("SIGTERM",()=>{nu(),process.exit(0)});var Xw={maxConcurrent:Sr.DEFAULT_MAX_CONCURRENT,retryAttempts:Sr.DEFAULT_RETRY_ATTEMPTS,retryDelay:Sr.DEFAULT_RETRY_DELAY_MS,timeoutMs:Sr.DEFAULT_TIMEOUT_MS},eI=e=>{if(!(e instanceof Error))return!1;let t=e.message??"";return t.startsWith("Polling timed out")||t==="Analysis timeout"||t.toLowerCase().includes("timeout")},tI=e=>{let t=dr({ttl:6e4,maxSize:1e3});return({analysisError:s,redactedId:n})=>{let r=s instanceof Error?s.message:"unknown",i=`${n}:${r}`,o=t.get(i)||0;return eI(s)?{status:"timeout",redactedId:n}:(t.set(i,o+1),o>e.retryAttempts?{status:"skipped",redactedId:n}:{status:"fail",redactedId:n,error:s})}},sI=({analyzeResource:e,redactionMapping:t,aggregatedResult:s,errorHandler:n,config:r,authToken:i,fingerprint:o,stackName:a,analysisCache:c,originalResources:u,relationships:l})=>async({redactedId:p,redactedResources:d,findingsByResource:f,progressTracker:m})=>{let g=f.get(p)||[],h=d[p];if(!h)return{status:"skipped",redactedId:p};let D=ty(p,h,i,o,[]),S=sy(D),v=t[p];if(!v)return{status:"skipped",redactedId:p};let R=v,k=()=>(s[R]||(s[R]={issues:[]}),s[R]),_=c.get(S);if(_){let Z=(_.issues||[]).map(q=>({...q,resource:R,resourceId:R})),V=k();return V.issues.push(...Ar({existing:V.issues,incoming:Z})),V.resourceName=_.resourceName,{status:"success",redactedId:p,resourceKey:R,remappedIssues:Z,resourceName:_.resourceName}}let x=ay(a,v),$=Ua(v,l,u),H={dependencies:$.dependencies,dependents:$.dependents,usageDescription:$.usageDescription};for(let Z=1;Z<=r.retryAttempts;Z++)try{let V=await Promise.race([e(a,x,h,h.Type,i,o,g,m,H),new Promise((I,T)=>setTimeout(()=>T(new Error("Analysis timeout")),r.timeoutMs))]);V.resourceId=R;let q=(V.issues||[]).map(I=>({...I,resource:R,resourceId:R})),M=k();return M.issues.push(...Ar({existing:M.issues,incoming:q})),M.resourceName=V.resourceName,c.set(S,V,D),{status:"success",redactedId:p,resourceKey:R,remappedIssues:q,resourceName:V.resourceName}}catch(V){if(Z===r.retryAttempts)return n({analysisError:V,redactedId:p});await new Promise(q=>setTimeout(q,r.retryDelay*2**(Z-1)))}return{status:"fail",redactedId:p,error:new Error("Max retries exceeded")}},nI=async(e,t,s)=>{let n=Math.max(1,Math.floor(t)),r=0,i=Array.from({length:Math.min(n,e.length)}).map(async()=>{for(;r<e.length;){let o=r;r+=1;let a=e[o];await s(a)}});await Promise.allSettled(i)},SD=({analyzeResource:e,redactResources:t,config:s=Xw})=>async({stackName:n,resources:r,authToken:i,existingFindingsMap:o,pathToLogicalId:a,fingerprint:c,noCache:u=!1,cacheConfig:l})=>{let p={},d=[],f={startTime:Date.now(),processedCount:0,successCount:0,failureCount:0,timeoutCount:0},{redactedResources:m,mapping:g}=t(r),h=uy(o,g,a),y=new Map;for(let M of h){let I=y.get(M.resourceId);I?I.push(M):y.set(M.resourceId,[M])}let D=Object.keys(m),S=D.length,v=As(r),R=new Ki({ttl:l?.ttl||3e5,maxSize:l?.maxSize||5e3,disabled:u||!l?.enabled});vD(R);let k=tI(s),_=sI({analyzeResource:e,redactionMapping:g,aggregatedResult:p,errorHandler:k,config:s,authToken:i,fingerprint:c,stackName:n,analysisCache:R,originalResources:r,relationships:v}),x=ao.createSingleLineProgressTracker(S,"Analyzing resources with AI");await nI(D,s.maxConcurrent,async M=>{He.debug(`Starting analysis for resource ${M}`,{redactedId:M,maxConcurrent:s.maxConcurrent});let I=await _({redactedId:M,redactedResources:m,findingsByResource:y,progressTracker:x});switch(f.processedCount++,He.debug(`Resource ${M} analysis result: ${I.status}`,{redactedId:M,status:I.status,hasProgressTracker:!!x}),I.status){case"success":f.successCount++,He.debug(`Resource ${M} completed successfully`,{redactedId:M,resourceKey:I.resourceKey});break;case"timeout":f.timeoutCount++,He.warn(`Resource ${M} timed out`,{redactedId:M}),d.push({redactedId:M,resourceData:m[M],resourceType:m[M].Type,existingFindings:y.get(M)||[]});break;case"fail":case"skipped":f.failureCount++,He.warn(`Resource ${M} failed or was skipped`,{redactedId:M,status:I.status});break}}),x.showSummary();let $=Date.now()-f.startTime,H=x.getStats();if(He.debug("Analysis completed with progress tracker stats",{progressTrackerStats:H,performanceMetrics:f,totalTime:$,totalResources:S,maxConcurrent:s.maxConcurrent}),z.analysisComplete($,f.successCount,f.failureCount,f.timeoutCount),f.failureCount>0||f.timeoutCount>0){z.newline(),z.info("\u{1F4CA} Performance Analysis:");let M=f.successCount>0?Math.round($/1e3/f.successCount):0;z.comment(` \u23F1\uFE0F Average completion time: ${M}s`),z.comment(` \u{1F4CA} Success rate: ${(f.successCount/S*100).toFixed(1)}%`)}if(d.length>0){z.newline(),z.warning("\u23F0 Timed Out Resources:"),z.comment(` \u{1F4CB} Total timed out: ${d.length}`);for(let M of d){if(z.comment(` \u274C ${M.resourceType}: ${M.redactedId}`),M.resourceData?.Properties){let T=M.resourceData.Properties,W=bD(T);z.comment(` \u{1F4DD} Name: ${W}`)}M.existingFindings.length>0&&z.comment(` \u{1F50D} Existing findings: ${M.existingFindings.length}`),M.resourceData?.Metadata&&z.comment(" \u{1F4CD} Has metadata: Yes"),["AWS::CloudFormation::Stack","AWS::Serverless::Application","AWS::ECS::Service"].includes(M.resourceType)&&z.comment(" \u26A0\uFE0F Complex resource type - may require extended analysis time")}z.newline(),z.info("\u{1F4A1} Tip: Some resources are taking longer to analyze than expected."),z.comment(" This is normal for complex resources. The analysis will continue with the remaining resources."),z.warning(`Retrying ${d.length} resource${d.length===1?"":"s"} that need a little more time...`)}let Z=new Set(Object.keys(p)),V=new Set(Object.values(g)),q=Array.from(V).filter(M=>!Z.has(M)||!p[M]?.issues?.length);if(q.length>0){let M=R.getCachedResultsForResources(q),I=0;for(let[T,W]of Array.from(M.entries())){if(p[T]?.issues?.length>0)continue;let K=(W.issues||[]).map(pe=>({...pe,resource:T,resourceId:T}));K.length>0&&(p[T]||(p[T]={issues:[]}),p[T].issues.push(...K),p[T].resourceName=W.resourceName,I+=K.length)}I>0}return p};var ru=require("node:child_process"),je=Y(require("node:fs")),iu=Y(require("node:os")),_r=Y(require("node:path"));var AD="1.0.0",rI={Security:"https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/",Reliability:"https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/","Performance Efficiency":"https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/","Cost Optimization":"https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/","Operational Excellence":"https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/",Sustainability:"https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/"},CD=e=>e.toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-"),iI=(e,t)=>{let s=0;if(s+=2e3,t){let n=Object.values(e).filter(r=>{let i=r.sources.cdkInsights?.issues??[],o=r.sources.cdkNag?.issues??[];return i.length>0||o.length>0});s+=n.length*100}for(let[,n]of Object.entries(e)){let r=n.sources.cdkInsights?.issues??[],i=n.sources.cdkNag?.issues??[];for(let o of[...r,...i])s+=o.issue.length,s+=o.recommendation?.length||0,s+=o.codeSnippet?.length||0,s+=500}return s},oI=e=>e?e.split(`
|
|
122
122
|
`).map(t=>t.trim()).filter(Boolean).join(`
|
|
123
|
-
`):"",
|
|
124
|
-
- **Recommendation:** ${
|
|
123
|
+
`):"",xD=e=>{let t=`- **Issue:** ${e.issue}`;if(e.recommendation&&(t+=`
|
|
124
|
+
- **Recommendation:** ${oI(e.recommendation)}`),e.sourceLocation){let{filePath:s,line:n,column:r,confidence:i}=e.sourceLocation;t+=`
|
|
125
125
|
- **${i==="high"?"\u{1F3AF}":i==="medium"?"\u{1F4CD}":"\u2753"} Source Location:** \`${s}:${n}:${r}\``}return e.context&&(e.context.property&&(t+=`
|
|
126
126
|
- **Property:** \`${e.context.property}\``),e.context.value&&(t+=`
|
|
127
127
|
- **Current Value:** \`${e.context.value}\``),e.context.expected&&(t+=`
|
|
128
128
|
- **Expected:** \`${e.context.expected}\``)),e.ruleId&&(t+=`
|
|
129
|
-
- **Rule:** \`${e.ruleId}\``),t},
|
|
129
|
+
- **Rule:** \`${e.ruleId}\``),t},uo=e=>{switch(e.toUpperCase()){case"CRITICAL":return"\u{1F534}\u{1F534}\u{1F534}";case"HIGH":return"\u{1F7E0}\u{1F7E0}\u{1F7E0}";case"MEDIUM":return"\u{1F7E1}\u{1F7E1}\u{1F7E1}";case"LOW":return"\u{1F7E2}\u{1F7E2}\u{1F7E2}";default:return"\u26AA\u26AA\u26AA"}},lo={CRITICAL:0,HIGH:1,MEDIUM:2,LOW:3},FD=(e,t,s)=>{let n=[];n.push(`# ${e}`),n.push(`_Generated by cdk-insights v${AD} on ${t.generatedAt}_`),n.push(`
|
|
130
130
|
CDK Insights has found **${t.totalIssues} issues** in **${t.totalResources} resources** scanned.
|
|
131
131
|
`),n.push("**Executive Summary:**"),n.push(`We discovered **${t.totalIssues} total issues** across **${t.totalResources} resources** (${t.percentWithIssues}% with issues).
|
|
132
132
|
`),n.push("**Top Priorities:**");let r=t.severityCounts.CRITICAL===1?"issue":"issues";t.severityCounts.CRITICAL&&n.push(`\u{1F534} ${t.severityCounts.CRITICAL} Critical severity ${r}`);let i=t.severityCounts.HIGH===1?"issue":"issues";t.severityCounts.HIGH&&n.push(`\u{1F7E0} ${t.severityCounts.HIGH} High severity ${i}`),n.push(""),n.push("| Metric | Count |"),n.push("| --------------------------- | :---: |"),n.push(`| Resources scanned | ${t.totalResources} |`),n.push(`| Resources with issues | ${t.resourcesWithIssues} |`),n.push(`| Total issues found | ${t.totalIssues} |`),n.push(`| % of resources with issues | ${t.percentWithIssues}% |
|
|
@@ -135,79 +135,79 @@ CDK Insights has found **${t.totalIssues} issues** in **${t.totalResources} reso
|
|
|
135
135
|
`),s&&(n.push(`---
|
|
136
136
|
`),n.push("## \u{1F4CB} Detailed Report"),n.push(`\u26A0\uFE0F **Full detailed report available at:** ${s}`),n.push(`
|
|
137
137
|
The detailed report includes:`),n.push("- Complete issue descriptions and recommendations"),n.push("- Source code locations and context"),n.push("- Code snippets and examples"),n.push("- WAF pillar classifications"),n.push("- Documentation links")),n.join(`
|
|
138
|
-
`)},
|
|
138
|
+
`)},aI=e=>e.ruleId?.startsWith("CDK-INSIGHTS-SENSITIVE")??!1,cI=e=>{let t=[];for(let[s,n]of Object.entries(e)){let r=[...n.sources.cdkInsights?.issues??[],...n.sources.cdkNag?.issues??[]].filter(aI);r.length>0&&t.push({resourceId:s,group:n,issues:r})}return t},uI=e=>{if(e.length===0)return[];let t=[];t.push(`---
|
|
139
139
|
`),t.push(`## \u{1F6A8} CRITICAL: Sensitive Data Detected
|
|
140
140
|
`),t.push("> **The following resources contain potential secrets and were NOT sent to CDK Insights servers.**"),t.push(`> Your sensitive data remains on your local machine.
|
|
141
141
|
`),t.push("| Resource | Type | Properties Flagged | Status |"),t.push("|----------|------|-------------------|--------|");for(let{group:s,issues:n}of e){let r=s.resourceName??s.friendlyName??s.resourceId,i=s.constructType??s.type??"Unknown",o=n.map(a=>{if(a.context?.property)return`\`${a.context.property}\``;let c=a.issue.match(/"([^"]+)"/);return c?`\`${c[1]}\``:"Unknown property"}).join(", ");t.push(`| ${r} | \`${i}\` | ${o} | \u{1F512} Not sent |`)}return t.push(`
|
|
142
142
|
### How to Fix
|
|
143
143
|
`),t.push(`Use AWS Secrets Manager or SSM Parameter Store to securely manage sensitive values:
|
|
144
144
|
`),t.push("```typescript"),t.push("// Instead of hardcoding secrets:"),t.push("environment: {"),t.push(' API_KEY: "sk_live_hardcoded_secret", // \u274C Bad'),t.push("}"),t.push(""),t.push("// Use Secrets Manager:"),t.push("import { Secret } from 'aws-cdk-lib/aws-secretsmanager';"),t.push(""),t.push("const apiKeySecret = Secret.fromSecretNameV2(this, 'ApiKey', 'my-api-key');"),t.push("environment: {"),t.push(" API_KEY: apiKeySecret.secretValue.unsafeUnwrap(), // \u2705 Good"),t.push("}"),t.push("```\n"),t.push(`\u{1F4DA} Learn more: [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
|
|
145
|
-
`),t},
|
|
145
|
+
`),t},jn=(e,t,s,n=!0,r={},i=!0)=>{let o=[],a=iI(t,i),c=i&&a<5e4;o.push(`# ${e}`),o.push(`_Generated by cdk-insights v${AD} on ${s.generatedAt}_`),o.push(`
|
|
146
146
|
CDK Insights has found **${s.totalIssues} issues** in **${s.totalResources} resources** scanned.
|
|
147
|
-
`);let u=
|
|
147
|
+
`);let u=cI(t);if(u.length>0&&o.push(...uI(u)),c){let f=new Map;for(let[,m]of Object.entries(t)){let g=m.sources.cdkInsights?.issues??[],h=m.sources.cdkNag?.issues??[];if(g.length===0&&h.length===0)continue;let y=m.resourceName??m.friendlyName??"Unknown";f.set(y,(f.get(y)||0)+1)}o.push("## Table of Contents");for(let[m,g]of Object.entries(t)){let h=g.sources.cdkInsights?.issues??[],y=g.sources.cdkNag?.issues??[];if(h.length===0&&y.length===0)continue;let D=g.resourceName??g.friendlyName??"Unknown";if((f.get(D)||0)>1&&g.cdkPath){let R=g.cdkPath.split("/");R.length>=3?D=R.slice(1).join("/"):R.length===2&&(D=R[1])}let v=CD(`${g.cdkPath}`);o.push(`- [${D}](#${v})`)}o.push(`
|
|
148
148
|
---
|
|
149
149
|
`)}o.push("**Executive Summary:**"),o.push(`We discovered **${s.totalIssues} total issues** across **${s.totalResources} resources** (${s.percentWithIssues}% with issues).
|
|
150
150
|
`),o.push("**Top Priorities:**");let l=s.severityCounts.CRITICAL===1?"issue":"issues";s.severityCounts.CRITICAL&&o.push(`\u{1F534} ${s.severityCounts.CRITICAL} Critical severity ${l}`);let p=s.severityCounts.HIGH===1?"issue":"issues";s.severityCounts.HIGH&&o.push(`\u{1F7E0} ${s.severityCounts.HIGH} High severity ${p}`),o.push(""),o.push("| Metric | Count |"),o.push("| --------------------------- | :---: |"),o.push(`| Resources scanned | ${s.totalResources} |`),o.push(`| Resources with issues | ${s.resourcesWithIssues} |`),o.push(`| Total issues found | ${s.totalIssues} |`),o.push(`| % of resources with issues | ${s.percentWithIssues}% |
|
|
151
|
-
`),o.push("### WAF Pillar Impact");for(let[m
|
|
151
|
+
`),o.push("### WAF Pillar Impact");for(let[f,m]of Object.entries(s.wafIssues))o.push(`- **${f}**: ${m}`);o.push(`
|
|
152
152
|
`),o.push("### Next Steps"),o.push("1. Triage \u{1F534} critical issues first"),o.push("2. Fix \u{1F7E0} high\u2010impact items next"),o.push("3. Schedule \u{1F7E1} medium\u2010priority tasks"),o.push(`4. Plan \u{1F7E2} low\u2010priority enhancements
|
|
153
|
-
`);for(let[
|
|
154
|
-
`),o.push(`<h2 id="${
|
|
153
|
+
`);let d=new Map;for(let[,f]of Object.entries(t)){let m=f.sources.cdkInsights?.issues??[],g=f.sources.cdkNag?.issues??[];if(m.length===0&&g.length===0)continue;let h=f.resourceName??f.friendlyName??"Unknown";d.set(h,(d.get(h)||0)+1)}for(let[f,m]of Object.entries(t)){let g=m.sources.cdkInsights?.issues??[],h=m.sources.cdkNag?.issues??[];if(g.length===0&&h.length===0)continue;let y=m.resourceName??m.friendlyName??"Unknown";if((d.get(y)||0)>1&&m.cdkPath){let x=m.cdkPath.split("/");x.length>=3?y=x.slice(1).join("/"):x.length===2&&(y=x[1])}o.push(`---
|
|
154
|
+
`),o.push(`<h2 id="${CD(m.cdkPath)}">Resource: ${y}</h2>
|
|
155
155
|
|
|
156
|
-
`);let
|
|
156
|
+
`);let S=[];if(m.constructType&&S.push(`**Type:** \`${m.constructType}\``),m.serviceCategory&&S.push(`**Category:** ${m.serviceCategory}`),m.sourceLocation){let{filePath:x,line:$,column:H,confidence:Z,enclosingScope:V}=m.sourceLocation,M=`**${Z==="high"?"\u{1F3AF}":Z==="medium"?"\u{1F4CD}":"\u2753"} Source:** \`${x}:${$}:${H}\``;V&&(M+=` (in \`${V}\`)`),S.push(M)}else if(m.rootSourceLocation||m.createdBy||m.searchHint){if(m.createdBy&&S.push(`**\u{1F517} ${m.createdBy}**`),m.rootSourceLocation){let{filePath:x,line:$,column:H,enclosingScope:Z}=m.rootSourceLocation,V=`**\u{1F4C2} Parent Source:** \`${x}:${$}:${H}\``;Z&&(V+=` (in \`${Z}\`)`),S.push(V)}m.searchHint&&S.push(`**\u{1F50D} ${m.searchHint}**`)}if(m.l2ConstructType&&m.l2ConstructId&&S.push(`**L2 Construct:** \`${m.l2ConstructId}\` (${m.l2ConstructType})`),m.parentPath&&S.push(`**Parent:** \`${m.parentPath}\``),m.childCount!==void 0&&m.childCount>0&&S.push(`**Children:** ${m.childCount}`),m.dependencies&&m.dependencies.length>0&&S.push(`**Depends On:** ${m.dependencies.map(x=>`\`${x}\``).join(", ")}`),m.tags&&Object.keys(m.tags).length>0){let x=Object.entries(m.tags).map(([$,H])=>`\`${$}=${H}\``).join(", ");S.push(`**Tags:** ${x}`)}if(S.length>0&&o.push(`${S.join(" | ")}
|
|
157
157
|
|
|
158
|
-
`),
|
|
158
|
+
`),m.sourceLocation?.codeSnippet?(o.push(`<details>
|
|
159
159
|
<summary>Source Code Context</summary>
|
|
160
160
|
|
|
161
161
|
\`\`\`typescript
|
|
162
|
-
`),o.push(
|
|
162
|
+
`),o.push(m.sourceLocation.codeSnippet),o.push(`
|
|
163
163
|
\`\`\`
|
|
164
164
|
</details>
|
|
165
165
|
|
|
166
|
-
`)):
|
|
166
|
+
`)):m.rootSourceLocation?.codeSnippet&&(o.push(`<details>
|
|
167
167
|
<summary>Parent Construct Source (this resource was created by this code)</summary>
|
|
168
168
|
|
|
169
169
|
\`\`\`typescript
|
|
170
|
-
`),o.push(
|
|
170
|
+
`),o.push(m.rootSourceLocation.codeSnippet),o.push(`
|
|
171
171
|
\`\`\`
|
|
172
172
|
</details>
|
|
173
173
|
|
|
174
|
-
`)),
|
|
175
|
-
`);for(let
|
|
174
|
+
`)),m.sensitiveProperties&&m.sensitiveProperties.length>0){let x=m.sensitiveProperties.filter($=>$.isDefault);if(x.length>0){o.push(`**\u26A0\uFE0F Properties using defaults:**
|
|
175
|
+
`);for(let $ of x)o.push(`- \`${$.path}\`: ${$.recommendation||"Review this property"}
|
|
176
176
|
`);o.push(`
|
|
177
|
-
`)}}
|
|
177
|
+
`)}}m.usesDefaults&&o.push(`> **Note:** This resource appears to use mostly default configuration. Consider explicitly setting security-relevant properties.
|
|
178
178
|
|
|
179
179
|
`),o.push(`**CDK Insights Issues:**
|
|
180
|
-
`);let
|
|
181
|
-
`),o.push(
|
|
182
|
-
`).map(
|
|
180
|
+
`);let R=(m.sources.cdkInsights?.issues??[]).slice().sort((x,$)=>lo[x.severity]-lo[$.severity]);if(R.length)for(let x of R){if(o.push(`### ${uo(x.severity)} ${x.severity} Severity Issue ${uo(x.severity)}
|
|
181
|
+
`),o.push(xD(x)),x.codeSnippet){let Z=x.codeSnippet.replace(/^```[a-z]*\n?/,"").replace(/```$/,"").split(`
|
|
182
|
+
`).map(V=>` ${V}`).join(`
|
|
183
183
|
`);o.push(`- **Potential Fix Example:**
|
|
184
184
|
|
|
185
185
|
\`\`\`ts
|
|
186
|
-
${
|
|
187
|
-
\`\`\``)}let
|
|
186
|
+
${Z}
|
|
187
|
+
\`\`\``)}let $=m.cdkPath??r[m.resourceId];o.push(`- **Source Path:** \`${$}\``),n&&m.docUrl&&o.push(`- **Documentation:** [View ${m.resourceName??m.friendlyName} Construct Docs](${m.docUrl})`);let H=rI[x.wafPillar];o.push(`- **WAF Pillar:** [${x.wafPillar}](${H})`),o.push("")}else o.push(`- _(no CDK Insights issues)_
|
|
188
188
|
`);o.push(`**CDK Nag Issues:**
|
|
189
|
-
`);let
|
|
190
|
-
`),o.push(
|
|
191
|
-
`).map(
|
|
189
|
+
`);let _=(m.sources.cdkNag?.issues??[]).slice().sort((x,$)=>lo[x.severity]-lo[$.severity]);if(_.length)for(let x of _){if(o.push(`### ${uo(x.severity)} ${x.severity} Severity CDK Nag Issue ${uo(x.severity)}
|
|
190
|
+
`),o.push(xD(x)),x.codeSnippet){let $=x.codeSnippet.replace(/^```[a-z]*\n?/,"").replace(/```$/,"").split(`
|
|
191
|
+
`).map(H=>` ${H}`).join(`
|
|
192
192
|
`);o.push(`- **Potential Fix Example:**
|
|
193
193
|
|
|
194
194
|
\`\`\`ts
|
|
195
|
-
${
|
|
195
|
+
${$}
|
|
196
196
|
\`\`\``)}o.push("")}else o.push(`- _(no CDK Nag issues)_
|
|
197
197
|
`)}return o.join(`
|
|
198
|
-
`)};var
|
|
198
|
+
`)};var ED=require("node:child_process");var lI=e=>/^[a-zA-Z0-9_.-]+$/.test(e),RD=(e="origin")=>{try{if(!lI(e))return Ui.error(`Invalid remote name: ${e}`),null;let s=(0,ED.execFileSync)("git",["remote","get-url",e],{encoding:"utf-8"}).trim().match(/(?:git@[^:]+:|https?:\/\/[^/]+\/)([^/]+)\/(.+?)(?:\.git)?$/);if(!s)return Ui.error("\u274C Could not determine GitHub repository. Make sure you are in a git repository with a GitHub remote."),null;let[,n,r]=s;return{owner:n,repo:r}}catch(t){return Ui.error(`Failed to get GitHub remote '${e}'`,{error:t instanceof Error?t.message:String(t)}),null}};var pI=8e3,ID=async({stackName:e,issueTitle:t,issueBody:s,ghCli:n,recommendations:r,summary:i})=>{let o=s,a=process.env.GITHUB_TOKEN,c=RD();if(!c){z.error("Could not determine GitHub repository. Make sure you are in a git repository with a GitHub remote.");return}if(o.length>65536){z.warning("Report too long; creating gist for full content and using summary for issue body\u2026");let u,l=r&&i?jn(e,r,i,!0,{},!0):s;if(a){let p={description:`Full CDK Insights report for stack ${e}`,public:!1,files:{"cdk-insights-report.md":{content:l}}};u=(await Gt.post("https://api.github.com/gists",p,{headers:{Authorization:`Bearer ${a}`,Accept:"application/vnd.github+json"}})).data.html_url}else if(n){let p,d;try{p=je.mkdtempSync(_r.join(iu.tmpdir(),"cdk-insights-gist-")),d=_r.join(p,"cdk-insights-report.md"),je.writeFileSync(d,l);let f=`Full CDK Insights report for stack ${e}`;u=(0,ru.execFileSync)("gh",["gist","create","--desc",f,"--",d],{encoding:"utf-8"}).trim()}catch(f){z.warning(`Failed to create gist: ${f instanceof Error?f.message:String(f)}`)}finally{if(d&&je.existsSync(d))try{je.unlinkSync(d)}catch{}if(p&&je.existsSync(p))try{je.rmdirSync(p)}catch{}}}u&&(z.githubGistCreated(u),r&&i?o=FD(e,i,u):o=`${s.split(`
|
|
199
199
|
---
|
|
200
200
|
`)[0]}
|
|
201
201
|
|
|
202
|
-
\u26A0\uFE0F Full report available at ${u}`)}if(a){let u={title:t,body:o};await
|
|
203
|
-
${a}`),
|
|
204
|
-
Issue body has been saved to: cdk-insights-issue-body.md`);try{
|
|
205
|
-
${o}`)};var
|
|
206
|
-
`);for(let
|
|
207
|
-
`);for(let u=0;u<c.length;u++){let l=c[u];if(l.includes("new")&&l.includes("this")&&(l.includes(n)||l.includes(r)))return{filePath:
|
|
208
|
-
\u{1F4DD} Analysis Summary for stack: ${e}`),
|
|
209
|
-
`),
|
|
210
|
-
`),
|
|
202
|
+
\u26A0\uFE0F Full report available at ${u}`)}if(a){let u={title:t,body:o};await Gt.post(`https://api.github.com/repos/${c.owner}/${c.repo}/issues`,u,{headers:{Authorization:`Bearer ${a}`,Accept:"application/vnd.github+json"}}),z.githubIssueCreated(`https://github.com/${c.owner}/${c.repo}/issues`)}else if(n){let u,l;try{u=je.mkdtempSync(_r.join(iu.tmpdir(),"cdk-insights-")),l=_r.join(u,"issue-body.md"),je.writeFileSync(l,o);let d=(0,ru.execFileSync)("gh",["issue","create","--title",t,"--body-file",l],{encoding:"utf-8"}).trim().match(/https:\/\/github\.com\/[^\s]+/),f=d?d[0]:`https://github.com/${c.owner}/${c.repo}/issues`;z.githubIssueCreated(f)}catch(p){z.warning("GitHub CLI failed. You may need to authenticate with `gh auth login`"),z.warning(`Error: ${p instanceof Error?p.message:"Unknown error"}`),z.warning("Falling back to web interface..."),wD(c,t,o)}finally{if(l&&je.existsSync(l))try{je.unlinkSync(l)}catch{}if(u&&je.existsSync(u))try{je.rmdirSync(u)}catch{}}}else wD(c,t,o)},wD=(e,t,s)=>{let n=`https://github.com/${e.owner}/${e.repo}/issues/new`,r=encodeURIComponent(t),i=encodeURIComponent(s),o=`${n}?title=${r}&body=${i}`;if(o.length>pI){z.warning(`Issue body is too long for URL (${o.length} chars). The content may be truncated in the browser.`),z.comment("Consider setting GITHUB_TOKEN environment variable or installing GitHub CLI (gh) for full support.");let a=`${n}?title=${r}`;z.info(`Please open this URL and paste the issue body manually:
|
|
203
|
+
${a}`),z.info(`
|
|
204
|
+
Issue body has been saved to: cdk-insights-issue-body.md`);try{je.writeFileSync("cdk-insights-issue-body.md",s)}catch(c){z.warning(`Failed to save issue body to file: ${c instanceof Error?c.message:String(c)}`)}}else z.info(`Please open this URL to create the issue:
|
|
205
|
+
${o}`)};var TD=require("node:child_process"),kD=()=>{try{return(0,TD.execFileSync)("gh",["--version"],{stdio:"ignore"}),!0}catch{return!1}};var LD=Y(require("node:crypto"));var dI=[/^AWS::/,/^arn:aws[a-z-]*:/,/^\[REDACTED\]$/,/^(true|false|enabled|disabled)$/i,/^(us|eu|ap|sa|ca|me|af)-(north|south|east|west|central)-\d$/,/^https:\/\/[a-z0-9-]+\.(amazonaws\.com|aws\.amazon\.com)/],mI=new Set(["Ref","Fn::GetAtt","Fn::Sub","Fn::Join","Fn::Select","Fn::Split","Fn::If","Fn::Equals","Fn::And","Fn::Or","Fn::Not","Fn::Condition","Fn::Base64","Fn::Cidr","Fn::FindInMap","Fn::GetAZs","Fn::ImportValue","Fn::Transform","Condition"]),fI=new Set(["SSEAlgorithm","Algorithm","KeySpec","CustomerMasterKeySpec","Protocol","Scheme","HttpMethod","AuthorizationType","Type","SslPolicy","SecurityPolicy","MinimumProtocolVersion","Runtime","Engine","EngineVersion","Handler","PackageType","Effect","Action","Principal","Resource","Condition","LogLevel","MetricsLevel","Status","State","Enabled","IpProtocol","CidrIp","CidrIpv6","FromPort","ToPort","Version","SchemaVersion"]),gI=e=>dI.some(t=>t.test(e)),hI=e=>{if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.keys(e);return t.length===1&&mI.has(t[0])},po=(e,t,s=0)=>{if(s>50)return"[DEEP_NESTED]";if(e==null||typeof e=="boolean"||typeof e=="number")return e;if(typeof e=="string")return e===""?"":t&&fI.has(t)||gI(e)?e:e.length>100?"[REDACTED_LONG_STRING]":"[REDACTED]";if(Array.isArray(e))return e.map(n=>po(n,void 0,s+1));if(typeof e=="object"){if(hI(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=po(i,r,s+1);return n}return"[REDACTED]"},ou=e=>{let t={Type:e.Type};return e.Properties&&(t.Properties=po(e.Properties,void 0,0)),e.Metadata&&(t.Metadata=po(e.Metadata,void 0,0)),e.DependsOn&&(t.DependsOn=e.DependsOn),e.Condition&&(t.Condition=e.Condition),e.DeletionPolicy&&(t.DeletionPolicy=e.DeletionPolicy),e.UpdateReplacePolicy&&(t.UpdateReplacePolicy=e.UpdateReplacePolicy),t};var yI=e=>{let t=JSON.stringify(e,Object.keys(e).sort());return LD.createHash("sha256").update(t).digest("hex").slice(0,32)},_D=(e,t)=>({Authorization:`Bearer ${e}`,"Content-Type":"application/json","x-cdk-insights-fingerprint":t,"x-cdk-insights-client":"cli"}),PD=(e,t)=>async(s,n,r,i,o,a,c,u,l)=>{let m=k=>new Promise(_=>setTimeout(_,k)),g,h=Date.now(),y=async()=>{let k=ou(r),_=yI(k),x={stackName:s,resourceId:n,resource:k,resourceType:i,resourceContentHash:_};l&&(x.context=l);let{data:$}=await e.post(`${t}/analyze`,x,{headers:_D(o,a)});if(!$?.jobId)throw new Error(`No jobId returned from analysis API for resource ${n}`);return $.jobId};try{g=await y(),u&&u.startJob(g,n),tt.info(`Started analysis job ${g} for resource ${n} (${i})`)}catch(k){let{message:_}=k,x=Gt.isAxiosError(k)&&k.response?.status===403;throw X.error(`Failed to start analysis for resource ${n}:`,{error:k}),x?new Error(`Authentication failed (403) for resource ${n}. Your auth token may be invalid or expired. Try running 'npx cdk-insights clear-cache' to refresh your authentication.`):new Error(`Failed to start analysis for resource ${n}: ${_||k}`)}let D=1e3,S=0,v=Date.now();for(let k=1;k<=30;k++){try{let _=Date.now()-h;tt.info(`Polling job ${g} for resource ${n} on attempt ${k}/30 (interval: ${D}ms, total elapsed: ${_}ms)`),u&&u.updateJobStatus(g,n,"polling",k);let x=await e.get(`${t}/analyze/${g}`,{headers:_D(o,a)});tt.info(`API Response for job ${g}: status=${x.data.status}, hasResult=${!!x.data.result}, resultType=${typeof x.data.result}`);let{status:$,result:H,error:Z}=x.data;if($==="completed"){if(!H)throw tt.error(`Job ${g} completed without result payload. Raw response: ${JSON.stringify(x.data)}`),new Error(`Job ${g} completed without result payload`);u&&u.completeJob(g,n);let q=Date.now()-v,M=Date.now()-h;return tt.info(`Job ${g} completed successfully in ${q}ms (attempt ${k}, total time: ${M}ms)`),H}if($==="failed"){u&&u.failJob(g,n,"Job failed");let q=Date.now()-h,M=Z||"Unknown error";throw tt.error(`Job ${g} failed after ${q}ms (attempt ${k}): ${M}`),new Error(`Analysis job ${g} failed for resource ${n}: ${M}`)}let V=Date.now()-v;if(V>5e3){let q=Math.min(D*1.5,3e3),M=Math.random()*500;D=Math.min(q+M,3e3),S=0,tt.info(`Job ${g} running for ${V}ms, using exponential backoff: ${Math.round(D)}ms`)}else S===0&&(D=1e3);v=Date.now()}catch(_){if(S++,_ instanceof Error){if(_.message.startsWith(`Analysis job ${g}`))throw _;X.error(`Error polling job ${g} for resource ${n} on attempt ${k}:`,{error:_.message})}else if(typeof _=="object"&&_!==null&&"response"in _){let x=_;x.response?.status===404?D=Math.min(D*1.2,3e3):(X.error(`Error polling job ${g} for resource ${n} on attempt ${k}:`,{error:x}),D=Math.min(D*1.5,3e3))}else X.error(`Unknown error polling job ${g} for resource ${n} on attempt ${k}:`,{error:_}),D=Math.min(D*1.5,3e3)}await m(D)}u&&u.timeoutJob(g,n);let R=Date.now()-h;throw tt.error(`Job ${g} timed out after ${R}ms (30 attempts, max interval: 3000ms)`),new Error(`Polling timed out after 30 attempts for job ${g} (resource ${n}) - total time: ${R}ms`)};var au=(e,t)=>e.filter(s=>t.some(n=>s.issue.toLowerCase().includes(n.toLowerCase())||s.wafPillar&&s.wafPillar.toLowerCase()===n.toLowerCase()));var St=Y(require("node:fs")),vt=Y(require("node:path"));var bt=new Map,cu=3e4,OD=500,DI=()=>{if(bt.size<=OD)return;let t=Array.from(bt.entries()).sort((s,n)=>s[1].timestamp-n[1].timestamp).slice(0,bt.size-OD);for(let[s]of t)bt.delete(s)},uu=e=>{let t=bt.get(e);if(t&&Date.now()-t.timestamp<cu)return t.content;try{let s=St.readFileSync(e,"utf-8");return DI(),bt.set(e,{content:s,timestamp:Date.now()}),s}catch{return null}},BD=(e,t=process.cwd())=>{try{let s=e.split("/").pop()||"",n=[s.replace(/Resource$/,""),s.replace(/Construct$/,""),s.replace(/Stack$/,""),s.replace(/[A-F0-9]{8,10}$/,""),s.replace(/[A-F0-9]{8}$/,""),s.replace(/[A-F0-9]{10}$/,""),s].filter(i=>i.length>2),r=[vt.join(t,"src"),vt.join(t,"lib"),vt.join(t,"cdk"),t];for(let i of r){if(!St.existsSync(i))continue;let o=lu(i);for(let a of o){let c=uu(a);if(c){for(let u of n)if(u&&u.length>2){let l=[new RegExp(`new\\s+(\\w+)\\s*\\(\\s*this\\s*,\\s*['"]${u}['"]`,"g"),new RegExp(`new\\s+(\\w+)\\s*\\(\\s*this\\s*,\\s*["']${u}["']`,"g"),new RegExp(`new\\s+(\\w+)\\s*\\(\\s*this\\s*,\\s*\`${u}\``,"g"),new RegExp(`new\\s+(\\w+)\\s*\\(\\s*this\\s*,\\s*${u}\\b`,"g"),new RegExp(`(\\w+)\\s*\\(\\s*this\\s*,\\s*['"]${u}['"]`,"g")];for(let p of l){let d=c.match(p);if(d){let f=c.split(`
|
|
206
|
+
`);for(let m=0;m<f.length;m++){let g=f[m];if(g.includes("this")&&p.test(g)){let h=d[1]||"Unknown";return{filePath:vt.relative(t,a),line:m+1,column:g.indexOf("new")+1,constructType:h}}}}}}}}}}catch{}return null},lu=e=>{let t=[],s=`ts_files_${e}`,n=bt.get(s);if(n&&Date.now()-n.timestamp<cu)try{return JSON.parse(n.content)}catch{bt.delete(s)}try{let r=St.readdirSync(e);for(let i of r){let o=vt.join(e,i),a=St.statSync(o);a.isDirectory()&&!i.startsWith(".")&&i!=="node_modules"&&i!=="dist"&&i!=="build"&&i!==".git"?t.push(...lu(o)):a.isFile()&&i.endsWith(".ts")&&!i.endsWith(".d.ts")&&t.push(o)}bt.set(s,{content:JSON.stringify(t),timestamp:Date.now()})}catch{}return t},bI=e=>{let t=[],s=`stack_files_${e}`,n=bt.get(s);if(n&&Date.now()-n.timestamp<cu)try{return JSON.parse(n.content)}catch{bt.delete(s)}try{let r=St.readdirSync(e);for(let i of r){let o=vt.join(e,i),a=St.statSync(o);if(a.isDirectory()&&!i.startsWith(".")&&i!=="node_modules"&&i!=="dist")(i==="cdk"||i==="lib"||i==="src")&&t.push(...lu(o));else if(a.isFile()&&i.endsWith(".ts")&&!i.endsWith(".d.ts")){let c=uu(o);c?.includes("Stack")&&c.includes("extends")&&t.push(o)}}bt.set(s,{content:JSON.stringify(t),timestamp:Date.now()})}catch{}return t};var MD=(e,t)=>{let s=Array.isArray(e)?e.map(String):typeof e=="string"?[e]:[],n=null;for(let r of s){if(r.includes("/dist/")||r.includes("\\dist\\"))continue;let i=[/(\/.*?\.ts):(\d+):(\d+)/,/at (.*?\.ts):(\d+):(\d+)/,/\((.*?\.ts):(\d+):(\d+)\)/,/(\/.*?\.tsx):(\d+):(\d+)/,/at (.*?\.tsx):(\d+):(\d+)/,/\((.*?\.tsx):(\d+):(\d+)\)/,/(\/.*?\.js):(\d+):(\d+)/,/at (.*?\.js):(\d+):(\d+)/,/\((.*?\.js):(\d+):(\d+)\)/];for(let o of i){let a=r.match(o);if(a){let[,c,u,l]=a,p=c.split(".").pop()?.toLowerCase()??"";if(p==="ts"||p==="tsx")return{filePath:c.startsWith("/")?c:`./${c}`,line:Number(u),column:Number(l)};p==="js"&&!n&&(n={filePath:c.startsWith("/")?c:`./${c}`,line:Number(u),column:Number(l)})}}}return n},WD=(e,t,s=process.cwd())=>{try{if(e&&typeof e=="object"&&"artifacts"in e){let c=e,u=t,l={};for(let f of Object.values(c.artifacts??{}))if(f.metadata)for(let[m,g]of Object.entries(f.metadata))l[m]=g;let p=Object.entries(l).filter(([,f])=>f.some(m=>m.type==="aws:cdk:logicalId"&&m.data===u));for(let[f,m]of p){let g=m.find(y=>y.type==="aws:cdk:info"&&typeof y.data=="string"&&y.data.startsWith("cdk-insights::"));if(g)try{let y=JSON.parse(g.data.replace("cdk-insights::",""));if(y.sourceLocation)return{filePath:y.sourceLocation.filePath,line:y.sourceLocation.line||1,column:y.sourceLocation.column||1,constructPath:f,stackName:f.split("/")[0]||"",logicalId:u,confidence:"high"}}catch{}let h=m.find(y=>y.type==="aws:cdk:cloudformation:stack-trace");if(h){let y=MD(h.data,f);if(y?.filePath){let D=vt.resolve(s,y.filePath);if(St.existsSync(D))return{...y,line:y.line??1,column:y.column??1,constructPath:f,stackName:f.split("/")[0]||"",logicalId:u,confidence:"high"}}}}for(let[f]of p){let m=BD(f,s);if(m)return{...m,line:m.line??1,column:m.column??1,constructPath:f,stackName:f.split("/")[0]||"",logicalId:u,confidence:"medium"}}let d=p[0]?.[0]||u;return ND(d,u,s)}let r=e,i=t,o=MD(r,i);if(o?.filePath){let c=vt.resolve(s,o.filePath);if(St.existsSync(c))return{...o,line:o.line??1,column:o.column??1,constructPath:i,confidence:"high"}}let a=BD(i,s);return a?{...a,line:a.line??1,column:a.column??1,constructPath:i,confidence:"medium"}:ND(i,i,s)}catch{return{filePath:t,line:1,column:1,constructPath:t,confidence:"low"}}},ND=(e,t,s)=>{let n=e.split("/").pop()||"",r=e.split("/")[0]||"",i=bI(s);for(let o of i)try{let a=uu(o);if(!a)continue;let c=a.split(`
|
|
207
|
+
`);for(let u=0;u<c.length;u++){let l=c[u];if(l.includes("new")&&l.includes("this")&&(l.includes(n)||l.includes(r)))return{filePath:vt.relative(s,o),line:u+1,column:l.indexOf("new")+1,constructPath:e,stackName:r,logicalId:t,confidence:"low"}}}catch{}return{filePath:e,line:1,column:1,constructPath:e,stackName:r,logicalId:t,confidence:"low"}};var Su=Y(require("node:fs"));var mo=e=>{switch(e.toUpperCase()){case"CRITICAL":return"\u{1F534}";case"HIGH":return"\u{1F7E0}";case"MEDIUM":return"\u{1F7E1}";case"LOW":return"\u{1F7E2}";default:return"\u26AA"}},Lr=(e,t)=>{X.info(`
|
|
208
|
+
\u{1F4DD} Analysis Summary for stack: ${e}`),X.info(`Total Resources Scanned: ${t.totalResources}`),X.info(`Resources with Issues: ${t.resourcesWithIssues} (${t.percentWithIssues}%)`),X.info(`Total Issues Found: ${t.totalIssues}
|
|
209
|
+
`),X.info("Severity Breakdown:"),X.info(` ${mo("CRITICAL")} Critical: ${t.severityCounts.CRITICAL}`),X.info(` ${mo("HIGH")} High: ${t.severityCounts.HIGH}`),X.info(` ${mo("MEDIUM")} Medium: ${t.severityCounts.MEDIUM}`),X.info(` ${mo("LOW")} Low: ${t.severityCounts.LOW}
|
|
210
|
+
`),X.info("WAF Pillar Impact:");for(let[s,n]of Object.entries(t.wafIssues))X.info(` ${s}: ${n}`);X.info(""),X.info("Top Priorities:"),t.severityCounts.CRITICAL>0&&X.info(" \u{1F534} Address Critical issues immediately (highest risk)"),t.severityCounts.HIGH>0&&X.info(" \u{1F7E0} Then handle High-severity issues"),t.severityCounts.MEDIUM>0&&X.info(" \u{1F7E1} Schedule Medium-severity tasks soon"),t.severityCounts.LOW>0&&X.info(" \u{1F7E2} Plan Low-severity enhancements at your convenience"),X.info("")};var XI=Tb(),eT=e=>{switch(e){case"CRITICAL":return"\u{1F534}";case"HIGH":return"\u{1F536}";case"MEDIUM":return"\u{1F7E1}";case"LOW":return"\u{1F7E2}";default:return"\u26AA"}},tT=(e,t)=>{let s=e.sourceLocation||t?.sourceLocation;if(s){let{filePath:n,line:r,column:i,confidence:o}=s,a=o==="high"?"\u{1F3AF}":o==="medium"?"\u{1F4CD}":"\u2753",c=n.length>40?`...${n.slice(-37)}`:n;return`${a} ${c}:${r}:${i}`}if(t?.rootSourceLocation){let{filePath:n,line:r,column:i}=t.rootSourceLocation;return`\u{1F517} ${n.length>40?`...${n.slice(-37)}`:n}:${r}:${i}`}return t?.createdBy?`\u{1F517} ${t.createdBy.length>28?`${t.createdBy.slice(0,25)}...`:t.createdBy}`:""};var kb={CRITICAL:4,HIGH:3,MEDIUM:2,LOW:1},Nr=e=>{let t=new XI({head:["Resource","Stack","Severity","Service","Issue","Location"],colWidths:[20,15,10,15,40,30],wordWrap:!0}),s=[];for(let[,n]of Object.entries(e)){let r=[...n.sources?.cdkInsights?.issues??[],...n.sources?.cdkNag?.issues??[]];for(let i of r){let o=i.constructType||n.constructType||n.type||"Unknown",a=tT(i,n);s.push({issue:i,group:n,service:o,sourceLocation:a})}}s.sort((n,r)=>{let i=kb[n.issue.severity]||0;return(kb[r.issue.severity]||0)-i});for(let{issue:n,group:r,service:i,sourceLocation:o}of s)t.push([r.friendlyName||r.resourceId,n.stackName||"Unknown",`${eT(n.severity)} ${n.severity}`,i,n.issue,o||n.locationHint||""]);console.log(t.toString())};var Lb=Y(require("node:fs"));var{version:nT}=bu(),_b={CRITICAL:0,HIGH:1,MEDIUM:2,LOW:3},Pb=(e,t,s)=>{let n=Object.entries(s).map(([o,a])=>{let c=[...a.sources?.cdkInsights?.issues??[],...a.sources?.cdkNag?.issues??[]].slice().sort((l,p)=>_b[l.severity]-_b[p.severity]),u=Ji(c,a.cdkPath);return{resourceId:a.resourceId,logicalId:a.logicalId,cdkName:a.friendlyName,resourceName:a.resourceName,cdkPath:a.cdkPath,githubUrl:a.githubUrl,docUrl:a.docUrl,constructType:a.constructType,parentPath:a.parentPath,childCount:a.childCount,tags:a.tags,sourceLocation:a.sourceLocation,constructHierarchy:a.constructHierarchy,serviceCategory:a.serviceCategory,dependencies:a.dependencies,sensitiveProperties:a.sensitiveProperties,usesDefaults:a.usesDefaults,l2ConstructType:a.l2ConstructType,l2ConstructId:a.l2ConstructId,createdBy:a.createdBy,rootSourceLocation:a.rootSourceLocation,searchHint:a.searchHint,issues:u.map(l=>({issue:l.issue,recommendation:l.recommendation,severity:l.severity,wafPillar:l.wafPillar,codeSnippet:l.codeSnippet,locationHint:l.locationHint,foundBy:l.foundBy,sourceLocation:l.sourceLocation,stackName:l.stackName}))}}),r={stackName:e,generatedAt:new Date().toISOString(),version:nT,summary:t,recommendations:n},i=`${e}_analysis_report.json`;try{Lb.writeFileSync(i,JSON.stringify(r,null,2),"utf-8"),X.info(`\u{1F4C4} JSON report written to ${i}`)}catch(o){let a=o instanceof Error?o.message:String(o);throw X.error(`\u274C Failed to write JSON report to ${i}: ${a}`),new Error(`Failed to write analysis report: ${a}`)}};var{version:rT}=bu(),iT=e=>{switch(e){case"CRITICAL":case"HIGH":return"error";case"MEDIUM":return"warning";default:return"note"}},Ob=e=>{switch(e){case"CRITICAL":return 9;case"HIGH":return 7;case"MEDIUM":return 4;case"LOW":return 2;default:return 1}},Do=(e,t)=>{let s=[],n=[],r=new Set;for(let[i,o]of Object.entries(t)){let a=[...o.sources?.cdkInsights?.issues||[],...o.sources?.cdkNag?.issues||[]];for(let c of a){let u=oT(c);r.has(u)||(r.add(u),s.push({id:u,name:c.issue.slice(0,100),shortDescription:{text:c.issue},fullDescription:c.recommendation?{text:c.recommendation}:void 0,helpUri:c.docUrl||c.githubUrl,properties:{"security-severity":Ob(c.severity).toString(),tags:[c.wafPillar,c.severity,c.foundBy].filter(Boolean)}})),n.push({ruleId:u,level:iT(c.severity),message:{text:c.recommendation||c.issue},locations:[{physicalLocation:{artifactLocation:{uri:c.sourceLocation?.filePath||`cdk.out/${e}.template.json`,uriBaseId:"%SRCROOT%"},region:c.sourceLocation?{startLine:c.sourceLocation.line,startColumn:c.sourceLocation.column}:void 0}}],properties:{"security-severity":Ob(c.severity).toString(),wafPillar:c.wafPillar,recommendation:c.recommendation}})}}return{$schema:"https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",version:"2.1.0",runs:[{tool:{driver:{name:"cdk-insights",version:rT,informationUri:"https://cdkinsights.dev",rules:s}},results:n}]}},oT=e=>{let t=e.issue.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,50);return`CDK-${e.severity}-${t}`};var vu=Y(require("node:fs")),aT=e=>{switch(e){case"CRITICAL":case"HIGH":return"error";case"MEDIUM":return"warning";default:return"notice"}},cT=e=>e.replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A"),Bb=e=>e.replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C"),uT=(e,t)=>{let s=[];for(let[n,r]of Object.entries(t)){let i=[...r.sources?.cdkInsights?.issues||[],...r.sources?.cdkNag?.issues||[]];for(let o of i){let a=aT(o.severity),c=`[${o.severity}] ${o.issue.slice(0,100)}`,u=o.recommendation||o.issue,l=[`title=${Bb(c)}`];o.sourceLocation?.filePath&&(l.push(`file=${Bb(o.sourceLocation.filePath)}`),l.push(`line=${o.sourceLocation.line}`),o.sourceLocation.column&&l.push(`col=${o.sourceLocation.column}`)),s.push(`::${a} ${l.join(",")}::${cT(u)}`)}}return s},lT=(e,t,s,n)=>{let r=Object.values(s).reduce((a,c)=>a+c,0),i=`# \u{1F50D} CDK Insights Analysis: ${e}
|
|
211
211
|
|
|
212
212
|
`;i+=`| Metric | Value |
|
|
213
213
|
`,i+=`|--------|-------|
|
|
@@ -236,10 +236,10 @@ ${o}`)};var Vy=require("node:child_process"),Ky=()=>{try{return(0,Vy.execFileSyn
|
|
|
236
236
|
`),i+=`
|
|
237
237
|
`}return i+=`---
|
|
238
238
|
`,i+=`*Generated by [CDK Insights](https://cdkinsights.dev) at ${new Date().toISOString()}*
|
|
239
|
-
`,i},
|
|
240
|
-
--- Job Summary ---`),console.log(i)),process.env.GITHUB_OUTPUT)try{let a=process.env.GITHUB_OUTPUT,c=[`total_issues=${Object.values(s).reduce((u,l)=>u+l,0)}`,`critical_issues=${s.CRITICAL}`,`high_issues=${s.HIGH}`,`has_critical=${s.CRITICAL>0}`];
|
|
239
|
+
`,i},pT=e=>{let t=process.env.GITHUB_STEP_SUMMARY;if(!t)return!1;try{return vu.appendFileSync(t,e),!0}catch(s){return console.error("Failed to write GitHub step summary:",s),!1}},bo=(e,t,s,n)=>{let r=uT(e,t);for(let a of r)console.log(a);let i=lT(e,t,s,n);if(pT(i)||(console.log(`
|
|
240
|
+
--- Job Summary ---`),console.log(i)),process.env.GITHUB_OUTPUT)try{let a=process.env.GITHUB_OUTPUT,c=[`total_issues=${Object.values(s).reduce((u,l)=>u+l,0)}`,`critical_issues=${s.CRITICAL}`,`high_issues=${s.HIGH}`,`has_critical=${s.CRITICAL>0}`];vu.appendFileSync(a,`${c.join(`
|
|
241
241
|
`)}
|
|
242
|
-
`)}catch(a){console.error("Failed to write GitHub outputs:",a)}};var
|
|
242
|
+
`)}catch(a){console.error("Failed to write GitHub outputs:",a)}};var Mb=(e,t,s,n,r)=>{switch(X.info(`Generating output in format: ${e}`),e){case"markdown":{let i=jn(t,s,r,n),o=`${t}_analysis_report.md`;try{Su.writeFileSync(o,i),X.info(`\u{1F4C4} Saved Markdown report to ${o}`)}catch(a){let c=a instanceof Error?a.message:String(a);throw X.error(`\u274C Failed to write Markdown report to ${o}: ${c}`),new Error(`Failed to write Markdown report: ${c}`)}break}case"table":{Nr(s);break}case"json":Pb(t,r,s),X.info(`\u{1F4C4} JSON report written to: ${t}_analysis_report.json`);break;case"sarif":{let i=Do(t,s),o=`${t}_analysis_report.sarif`;try{Su.writeFileSync(o,JSON.stringify(i,null,2)),X.info(`\u{1F4C4} SARIF report written to: ${o}`),console.log(JSON.stringify(i,null,2))}catch(a){let c=a instanceof Error?a.message:String(a);throw X.error(`\u274C Failed to write SARIF report to ${o}: ${c}`),new Error(`Failed to write SARIF report: ${c}`)}break}case"github-actions":{bo(t,s,r.severityCounts,r.totalResources);break}default:Lr(t,r);break}};var vo=(e,t,s)=>{let n=0,r=0,i={CRITICAL:0,HIGH:0,MEDIUM:0,LOW:0},o={"Operational Excellence":0,Security:0,"Cost Optimization":0,Reliability:0,"Performance Efficiency":0,Sustainability:0};for(let u in e){let l=[...e[u].sources.cdkInsights?.issues??[],...e[u].sources.cdkNag?.issues??[]],p=!s||s.has(u);l.length>0&&p&&r++,n+=l.length;for(let d of l)i[d.severity]+=1,o[d.wafPillar]+=1}let a=t,c=a>0?Number.parseFloat((r/a*100).toFixed(1)):0;return{totalResources:a,resourcesWithIssues:r,percentWithIssues:c,totalIssues:n,severityCounts:i,wafIssues:o,generatedBy:"cdk-insights",generatedAt:new Date().toISOString()}};var Nb=Y(require("node:crypto")),Wb=e=>Nb.createHash("sha256").update(JSON.stringify(e)).digest("hex");var So=Y(require("node:fs")),jb=Y(require("node:path")),$b=e=>{let t=jb.join(e,"manifest.json");if(!So.existsSync(t))return{};try{return JSON.parse(So.readFileSync(t,"utf-8"))}catch{return{}}};var dT=[/depends\s*on.*(?:not\s*(?:be\s*)?available|may\s*not\s*exist|circular)/i,/dependson.*relationship/i,/resource.*depends.*another.*resource/i,/dependency.*(?:not\s*)?(?:be\s*)?ready/i,/lacks?\s*(?:meaningful\s*)?tags?(?:\s*for)?/i,/missing.*tags?.*(?:metadata|identification)/i,/no\s*tags?\s*(?:defined|configured|specified)/i,/does\s*not\s*have\s*any\s*tags/i,/tags?.*(?:auditing|cost\s*allocation|management)/i,/\[redacted\].*(?:incomplete|invalid|malformed|missing)/i,/incomplete.*\[redacted\]/i,/placeholder.*value/i,/missing.*closing.*brace/i,/replac(?:e|ing).*\[redacted\]/i,/\[redacted\].*(?:should|could|must)\s*be/i,/trust.*policy.*any.*service.*\[redacted\]/i,/any.*service.*within.*account.*\[redacted\]/i,/cdk.*metadata.*exposed/i,/metadata.*cdk.*path/i,/nat\s*gateway.*(?:move|associated).*(?:private\s*subnet|public\s*subnet.*risk)/i,/move.*nat\s*gateway.*private/i,/eip.*not\s*associated.*(?:instance|resource)/i,/elastic\s*ip.*not.*(?:associated|utilized|being\s*used)/i,/userdata\s*(?:script\s*)?is\s*empty/i,/empty.*userdata/i,/routetable.*(?:tags?|metadata)/i,/iam.*(?:policy|role).*(?:grants?|has).*(?:sts:assumerole|administratoraccess).*(?:overly\s*)?permissive/i,/inline\s*policy\s*grants?\s*unrestricted\s*access\s*to\s*all/i,/subnet.*mappubliciponlaunch.*(?:true|set)/i,/mappubliciponlaunch.*(?:expose|public\s*ip|internet)/i,/instances.*launched.*subnet.*public\s*ip/i],mT=[/tags?/i,/naming\s*convention/i,/resource\s*name.*not.*descriptive/i,/lacks?\s*description/i,/missing\s*description/i,/default\s*iam\s*role.*(?:broad|permissive)/i,/security\s*group.*(?:all\s*outbound|all\s*egress|unrestricted\s*egress)/i,/allows?\s*all\s*outbound\s*traffic/i],fT=e=>dT.some(t=>t.test(e)),gT=e=>mT.some(t=>t.test(e)),Ub=(e,t=!1)=>e.filter(s=>{let n=s.issue||"";return!(fT(n)||t&&gT(n))});var Gb=({staticRecommendations:e,aiRecommendations:t,recommendationMap:s,ruleFilter:n,filterIssuesByRule:r,_displayNameMap:i={}})=>{let o={...s};for(let[p,{issues:d}]of Object.entries(e))o[p]&&(o[p].sources||(o[p].sources={cdkInsights:{issues:[]},cdkNag:{issues:[]}}),o[p].sources.cdkInsights||(o[p].sources.cdkInsights={issues:[]}),o[p].sources.cdkInsights.issues.push(...d));let a=0,c=0,u=0,l=0;for(let[p,d]of Object.entries(t)){if(!d||!Array.isArray(d.issues)){X.warn(`\u26A0\uFE0F No AI issues for resource '${p}', skipping.`);continue}let f=p;if(!o[f]){X.warn(`\u26A0\uFE0F AI recommendations for unknown resource '${f}', skipping enrichment.`);continue}let m=o[f],g=n.length>0?r(d.issues,n):d.issues,y=Ub(g,m.isGenerated).map(S=>{switch(S.severity||(X.debug(`AI recommendation missing severity for resource '${f}', defaulting to MEDIUM`),S.severity="MEDIUM"),S.severity.toUpperCase()){case"CRITICAL":a++;break;case"HIGH":c++;break;case"MEDIUM":u++;break;case"LOW":l++;break;default:X.warn(`\u26A0\uFE0F Unknown severity '${S.severity}' for resource '${f}', defaulting to MEDIUM`),S.severity="MEDIUM",u++;break}return{resourceName:S.resourceName||m.resourceName,resourceId:f,friendlyName:m.friendlyName,displayName:m.displayName,locationHint:S.locationHint||m.locationHint,constructPath:m.cdkPath,githubUrl:m.githubUrl,docUrl:m.docUrl,issue:S.issue||"AI analysis issue",recommendation:S.recommendation||"No specific recommendation provided",severity:S.severity,wafPillar:(()=>{if(S.wafPillar)switch(S.wafPillar.toLowerCase().trim()){case"security":return"Security";case"operational excellence":return"Operational Excellence";case"cost optimization":return"Cost Optimization";case"reliability":return"Reliability";case"performance efficiency":return"Performance Efficiency";case"sustainability":return"Sustainability";default:return"Security"}return"Security"})(),codeSnippet:S.codeSnippet||"",foundBy:S.foundBy??"cdkInsights"}}),D=Ji(y,m.cdkPath);m.sources||(m.sources={cdkInsights:{issues:[]},cdkNag:{issues:[]}}),m.sources.cdkInsights||(m.sources.cdkInsights={issues:[]}),m.sources.cdkInsights.issues.push(...D)}return{updatedMap:o,criticalCount:a,highCount:c,mediumCount:u,lowCount:l}};var zb=e=>{if(!e||e.length===0)return 0;let t=e.length,s=new Map;for(let r of e)s.set(r,(s.get(r)||0)+1);let n=0;for(let r of s.values()){let i=r/t;n-=i*Math.log2(i)}return n},Cu=(e,t=!1)=>{if(e.length<16||hT(e)||zb(e)<(t?4:4.5))return!1;let r=/[A-Z]/.test(e),i=/[a-z]/.test(e),o=/[0-9]/.test(e),a=/[^A-Za-z0-9]/.test(e),c=[r,i,o,a].filter(Boolean).length;return t?c>=1:c>=2},hT=e=>{if(/^https?:\/\//i.test(e)||/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(e)||/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^arn:aws[a-z-]*:[a-z0-9-]+:[a-z0-9-]*:\d*:/.test(e)||/^(\/|\.\/|\.\.\/|[A-Za-z]:\\)/.test(e)||/^s3:\/\/[a-z0-9.-]+\//.test(e))return!0;if(/^[A-Za-z0-9+/]{4,}={0,2}$/.test(e)){let t=new Set(e).size;if(e.length>50&&t<10)return!0}return!!yT(e)},yT=e=>{let t=e.length;for(let s=1;s<=t/2;s++)if(e.slice(0,s).repeat(Math.ceil(t/s)).slice(0,t)===e)return!0;return!1};var DT=[/api[_-]?key/i,/secret[_-]?key/i,/^password$/i,/^passwd$/i,/credential/i,/private[_-]?key/i,/access[_-]?key/i,/auth[_-]?token/i,/bearer[_-]?token/i,/refresh[_-]?token/i,/client[_-]?secret/i,/app[_-]?secret/i,/secret[_-]?value/i,/aws[_-]?secret/i,/aws[_-]?access[_-]?key/i,/aws[_-]?session[_-]?token/i,/db[_-]?password/i,/database[_-]?password/i,/master[_-]?password/i,/master[_-]?user[_-]?password/i,/admin[_-]?password/i,/root[_-]?password/i,/connection[_-]?string/i,/stripe[_-]?key/i,/stripe[_-]?secret/i,/github[_-]?token/i,/gitlab[_-]?token/i,/slack[_-]?token/i,/slack[_-]?webhook/i,/discord[_-]?token/i,/twilio[_-]?token/i,/sendgrid[_-]?key/i,/mailgun[_-]?key/i,/datadog[_-]?key/i,/new[_-]?relic[_-]?key/i,/sentry[_-]?dsn/i,/webhook[_-]?secret/i,/signing[_-]?key/i,/signing[_-]?secret/i,/encryption[_-]?key/i,/jwt[_-]?secret/i,/hmac[_-]?key/i,/ssh[_-]?key/i,/ssh[_-]?private/i,/pem[_-]?key/i,/rsa[_-]?key/i],bT=[/^A[BGIK-Z][A-Z]{2}[0-9A-Z]{16}$/,/^[A-Za-z0-9/+=]{40}$/,/-----BEGIN (RSA |EC |DSA |OPENSSH |ENCRYPTED )?PRIVATE KEY-----/,/-----BEGIN PGP PRIVATE KEY BLOCK-----/,/^eyJ[A-Za-z0-9_-]+\.eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/,/^gh[pousr]_[A-Za-z0-9]{36,}$/,/^[srp]k_(live|test)_[A-Za-z0-9]{24,}$/,/^xox[bpas]-[A-Za-z0-9-]+$/,/^SK[a-f0-9]{32}$/i,/^SG\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/],vT=[/\{\{resolve:secretsmanager:/,/{{resolve:secretsmanager:/,/\{\{resolve:ssm:/,/{{resolve:ssm:/,/\{\{resolve:ssm-secure:/,/{{resolve:ssm-secure:/,/!Ref\s+\w+/,/!GetAtt\s+[\w.]+/,/!Sub\s+/,/\$\{[\w:.]+\}/,/\$\{Token\[/,/\[\[token:/i,/\${Token\[TOKEN\.\d+\]\}/,/^arn:aws[a-z-]*:[a-z0-9-]+:[a-z0-9-]*:\d*:/],ST=[/^<[^>]+>$/,/^CHANGE[_-]?ME$/i,/^REPLACE[_-]?ME$/i,/^TODO$/i,/^TODO:/i,/^FIXME$/i,/^XXX$/i,/^YOUR[_-]/i,/^INSERT[_-]/i,/^ENTER[_-]/i,/^\*+$/,/^x+$/i,/^\s*$/,/^default$/i,/^example$/i,/^sample$/i,/^test$/i,/^demo$/i,/^dummy$/i,/^fake$/i,/^mock$/i,/^placeholder$/i],xu=e=>DT.some(t=>t.test(e)),Au=e=>bT.some(t=>t.test(e)),Fu=e=>vT.some(t=>t.test(e)),Eu=e=>ST.some(t=>t.test(e)),Co=e=>{if(typeof e!="object"||e===null)return!1;let t=["Ref","Fn::GetAtt","Fn::Sub","Fn::Join","Fn::ImportValue","Fn::If","Fn::Select","Fn::Split","Fn::Base64","Fn::Cidr","Fn::FindInMap","Fn::GetAZs","Fn::Transform"],s=Object.keys(e);return s.length===1&&t.includes(s[0])},Ru=e=>{let t=[{patterns:[/api[_-]?key/i,/access[_-]?key/i],category:"api_key"},{patterns:[/password/i,/passwd/i],category:"password"},{patterns:[/private[_-]?key/i,/ssh[_-]?key/i,/pem[_-]?key/i,/rsa[_-]?key/i],category:"private_key"},{patterns:[/aws[_-]?secret/i,/aws[_-]?access/i],category:"aws_credentials"},{patterns:[/token/i,/bearer/i],category:"token"},{patterns:[/secret/i,/credential/i],category:"secret"},{patterns:[/connection[_-]?string/i,/database/i,/db[_-]/i],category:"database"},{patterns:[/webhook/i,/signing/i,/encryption/i,/hmac/i,/jwt/i],category:"encryption_key"}];for(let{patterns:s,category:n}of t)if(s.some(r=>r.test(e)))return n;return"secret"};var Wr=e=>{let t={api_key:`Use AWS Secrets Manager to store API keys securely:
|
|
243
243
|
|
|
244
244
|
// CDK TypeScript example:
|
|
245
245
|
import { Secret } from 'aws-cdk-lib/aws-secretsmanager';
|
|
@@ -394,14 +394,14 @@ ${o}`)};var Vy=require("node:child_process"),Ky=()=>{try{return(0,Vy.execFileSyn
|
|
|
394
394
|
);
|
|
395
395
|
|
|
396
396
|
See: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html`};return t[e]||t.secret||`Use AWS Secrets Manager or SSM Parameter Store to securely manage this value.
|
|
397
|
-
See: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html`};var
|
|
398
|
-
`),n=null,r;for(let i of s){if(i.includes("node_modules")||i.includes("aws-cdk-lib")||i.includes("cdk-insights"))continue;let o=i.match(/at\s+(?:new\s+)?(\w+(?:\.\w+)*)\s+\(/);o&&!r&&(r=o[1]);let a=i.match(/\(?([^()]+\.(ts|js|tsx|jsx)):(\d+):(\d+)\)?/);if(a){let[,c,u,l,p]=a,
|
|
397
|
+
See: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html`};var jr=(e,t)=>{switch(e){case"property_name":return t?`Property name "${t}" suggests this contains sensitive data`:"Property name suggests sensitive data";case"value_pattern":return"Value matches a known secret pattern (API key, token, or credential format)";case"high_entropy":return"Value has high entropy (appears random), which is characteristic of secrets";default:return"Value appears to contain sensitive data"}};var Gn={SEVERITY:"CRITICAL",WAF_PILLAR:"Security",RULE_ID_PREFIX:"CDK-INSIGHTS-SENSITIVE",FOUND_BY:"cdkInsights"};var qb=(e,t,s={})=>{let n=[];return s.disabled?{hasSensitiveData:!1,resourceId:t,resourceType:e.Type,findings:[]}:(e.Properties&&xo(e.Properties,"",n,s),{hasSensitiveData:n.length>0,resourceId:t,resourceType:e.Type,findings:n})},xT=new Set(["Tags"]),AT=e=>{if(!Array.isArray(e)||e.length===0)return!1;let t=e[0];return typeof t=="object"&&t!==null&&"Key"in t&&"Value"in t},xo=(e,t,s,n)=>{if(e!=null){if(typeof e=="string"){FT(e,t,s,n);return}if(Array.isArray(e)){if(AT(e))return;e.forEach((r,i)=>{xo(r,`${t}[${i}]`,s,n)});return}if(typeof e=="object"){if(Co(e))return;for(let[r,i]of Object.entries(e)){let o=t?`${t}.${r}`:r;if(!(xT.has(r)&&(Array.isArray(i)||typeof i=="object"))&&!n.ignoreProperties?.includes(o)){if(xu(r)){if(typeof i=="string"){if(!Hb(i,n)){let a=Ru(r)||"secret";s.push({propertyPath:o,propertyName:r,detectionReason:"property_name",detectionReasonMessage:jr("property_name",r),recommendation:Wr(a)})}}else Co(i)||xo(i,o,s,n);continue}xo(i,o,s,n)}}}}},FT=(e,t,s,n)=>{if(!Hb(e,n)){if(Au(e)){let r=t.split(".").pop()??t;s.push({propertyPath:t,propertyName:r,detectionReason:"value_pattern",detectionReasonMessage:jr("value_pattern"),recommendation:Wr("secret")});return}if(Cu(e,n.strictMode)){let r=t.split(".").pop()??t;s.push({propertyPath:t,propertyName:r,detectionReason:"high_entropy",detectionReasonMessage:jr("high_entropy"),recommendation:Wr("secret")})}}},Hb=(e,t)=>!!(!e||e.trim()===""||Fu(e)||Eu(e)||t.allowPatterns?.some(s=>e.includes(s)));var wu=(e,t)=>{let s=e.findings.map(r=>`"${r.propertyName}" at ${r.propertyPath}`).join(", "),n=e.findings.length;return{resourceId:e.resourceId,issue:n===1?`Sensitive data detected: ${s}. This resource was NOT sent to CDK Insights servers.`:`Sensitive data detected in ${n} properties: ${s}. This resource was NOT sent to CDK Insights servers.`,recommendation:"Use AWS Secrets Manager or SSM Parameter Store to securely manage sensitive values. See: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html",severity:Gn.SEVERITY,wafPillar:Gn.WAF_PILLAR,foundBy:Gn.FOUND_BY,constructPath:e.resourceId,constructType:e.resourceType,stackName:t,ruleId:Gn.RULE_ID_PREFIX,context:{property:e.findings.map(r=>r.propertyPath).join(", "),value:"[REDACTED]",expected:"AWS Secrets Manager or SSM Parameter Store reference"}}},Iu=(e,t={})=>{let s=[],n=[],r=0;for(let[i,o]of Object.entries(e)){let a=qb(o,i,t);s.push(a),a.hasSensitiveData&&(n.push(i),r+=a.findings.length)}return{totalResourcesScanned:Object.keys(e).length,resourcesWithSensitiveData:n.length,totalFindings:r,hasSkippedResources:n.length>0,skippedResourceIds:n,detectionResults:s}};var Vb=e=>{if(!e)return;let t=e.trim();if(t)return t.replace(/\/+$/,"")},Kb=e=>{let t=Vb(e);return t||(Vb("https://api.cdkinsights.dev/analysis/v1")??"")};var Xt=require("aws-cdk-lib"),Ur=require("cdk-nag"),_t=Y(require("node:fs")),lt=Y(require("node:path"));var _u="2.2.0",Lu="cdk-insights::",Pu=()=>process.env.CDK_DEBUG==="true"||(process.env.CDK_CONTEXT_JSON?.includes('"@aws-cdk/core:stackTrace":true')??!1)||(process.env.CDK_CONTEXT_JSON?.includes('"@aws-cdk/core:stackTrace": true')??!1),Tu=!1,ET=()=>{Tu||(Pu()||ke.info("\u{1F4A1} Tip: Set CDK_DEBUG=true for more accurate source location detection. Run: CDK_DEBUG=true cdk synth"),Tu=!0)},Fo=new Map,zn=new Map,fs=new Map,RT=e=>{let i={},o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(let l=0;l<o.length;l++)i[o[l]]=l;let a=[],c=0,u=0;for(let l of e){let p=i[l];if(p!==void 0)if(u+=(p&31)<<c,(p&32)!==0)c+=5;else{let d=u&1;u>>=1,a.push(d?-u:u),u=0,c=0}}return a},wT=e=>{let t=e;if(fs.has(t))return fs.get(t)??null;try{let s=_t.readFileSync(e,"utf-8"),n=s.match(/\/\/# sourceMappingURL=data:application\/json;base64,(.+)$/m);if(n){let o=Buffer.from(n[1],"base64").toString("utf-8"),a=JSON.parse(o);return fs.set(t,a),a}let r=s.match(/\/\/# sourceMappingURL=(.+)$/m);if(r){let o=lt.resolve(lt.dirname(e),r[1]);if(_t.existsSync(o)){let a=JSON.parse(_t.readFileSync(o,"utf-8"));return fs.set(t,a),a}}let i=`${e}.map`;if(_t.existsSync(i)){let o=JSON.parse(_t.readFileSync(i,"utf-8"));return fs.set(t,o),o}}catch{}return fs.set(t,null),null},IT=(e,t,s)=>{let n=wT(e);if(!n)return null;try{let r=n.mappings.split(";");if(t>r.length)return null;let i=0,o=0,a=0,c=0;for(let f=0;f<=Math.min(t-1,r.length-1);f++){let m=r[f].split(","),g=0;for(let h of m){if(!h)continue;let y=RT(h);if(y.length!==0&&(g+=y[0],y.length>=4&&(i+=y[1],o+=y[2],a+=y[3],y.length>=5&&(c+=y[4])),f===t-1&&g>=s))break}}let u=n.sources[i];if(!u)return null;let l=lt.dirname(e),p=lt.resolve(l,u),d=lt.relative(process.cwd(),p);return{source:d.startsWith(".")?d:`./${d}`,line:o+1,column:a+1,name:n.names?.[c]}}catch{return null}},Zb=(e,t="fallback")=>{let s=e.split(`
|
|
398
|
+
`),n=null,r;for(let i of s){if(i.includes("node_modules")||i.includes("aws-cdk-lib")||i.includes("cdk-insights"))continue;let o=i.match(/at\s+(?:new\s+)?(\w+(?:\.\w+)*)\s+\(/);o&&!r&&(r=o[1]);let a=i.match(/\(?([^()]+\.(ts|js|tsx|jsx)):(\d+):(\d+)\)?/);if(a){let[,c,u,l,p]=a,d=c.trim();!d.startsWith("/")&&!d.startsWith(".")&&(d=`./${d}`);let f=Number(l),m=Number(p);if((u==="js"||u==="jsx")&&(d.includes("/dist/")||d.includes("\\dist\\"))){let h=lt.resolve(process.cwd(),d),y=IT(h,f,m);if(y)return{filePath:y.source,line:y.line,column:y.column,confidence:"high",method:"source_map",enclosingScope:y.name||r,originalFile:d}}let g={filePath:d,line:f,column:m,confidence:t==="creation_stack"?"high":"medium",method:t,enclosingScope:r};if(u==="ts"||u==="tsx")return g;n||(n=g)}}return n??void 0},TT=(e,t,s,n)=>{let r=`${s}:${t}`;if(zn.has(r))return zn.get(r)??void 0;try{let i=process.cwd(),o=["lib","cdk","src","bin","stacks","cdk/stacks","infrastructure","apps"],a=t.split("/"),c=a.length>1?a[a.length-2]:"",u=e==="Resource"||e==="Default"?n||c||e:e||t.split("/").pop()||"";for(let l of o){let p=lt.join(i,l);if(!_t.existsSync(p))continue;let d=Yb(p);for(let f of d){let m=LT(f,u,c,i);if(m)return zn.set(r,m),m}}}catch{}zn.set(r,null)},Yb=(e,t=[])=>{try{let s=_t.readdirSync(e,{withFileTypes:!0});for(let n of s){let r=lt.join(e,n.name);n.isDirectory()&&!n.name.startsWith(".")&&n.name!=="node_modules"?Yb(r,t):n.isFile()&&(n.name.endsWith(".ts")||n.name.endsWith(".tsx"))&&t.push(r)}}catch{}return t},kT=(e,t,s=2)=>{let n=e.split(`
|
|
399
399
|
`),r=Math.max(0,t-1-s),i=Math.min(n.length,t+s);return n.slice(r,i).map((o,a)=>{let c=r+a+1;return`${c===t?">":" "}${c.toString().padStart(4)} | ${o}`}).join(`
|
|
400
|
-
`)},
|
|
401
|
-
`),n,r=0,i=0;for(let o=0;o<Math.min(t,s.length);o++){let a=s[o],c=a.match(/class\s+(\w+)/),u=a.match(/(?:function\s+(\w+)|(\w+)\s*[=:]\s*(?:async\s*)?\(|(\w+)\s*\([^)]*\)\s*(?:=>|\{))/);if(c)n=c[1],i=r;else if(u){let l=u[1]||u[2]||u[3];l&&n?n=`${n}.${l}`:l&&(n=l),i=r}if(r+=(a.match(/{/g)||[]).length,r-=(a.match(/}/g)||[]).length,r<=i&&n){let l=n.split(".");l.length>1&&(n=l.slice(0,-1).join("."))}}return n},
|
|
402
|
-
`),o=[],a=new RegExp(`new\\s+(\\w+)\\s*\\(\\s*(?:this|\\w+)\\s*,\\s*['"\`]${
|
|
403
|
-
`),c=
|
|
404
|
-
`),u=db(c,"metadata_trace");if(u)return u}let n=e.node.id,r=e.node.path,i=Ht.Stack.of(e),o=PT(n,r,i.stackName,t);return o||void 0}catch{}},MT=(e,t=10)=>{let s=e.node.scope,n=0;for(;s&&n<t;){let r=s.node.id,i=s.constructor.name;if(i==="Stack"||i==="App"||!r){s=s.node.scope,n++;continue}let o=fb(s,r);if(o)return{location:o,ancestorId:r,ancestorType:i};s=s.node.scope,n++}},WT=(e,t,s)=>{let n=e.constructor.name,r={CfnSubnet:"Vpc",CfnRouteTable:"Vpc or Subnet",CfnRoute:"Vpc or Subnet",CfnSubnetRouteTableAssociation:"Subnet",CfnInternetGateway:"Vpc",CfnVPCGatewayAttachment:"Vpc",CfnNatGateway:"Vpc (public subnet)",CfnEIP:"Vpc (for NAT Gateway)",CfnSecurityGroup:"Vpc or other L2 construct",CfnSecurityGroupIngress:"SecurityGroup",CfnSecurityGroupEgress:"SecurityGroup",CfnDBSubnetGroup:"DatabaseInstance or DatabaseCluster",CfnLogGroup:"Lambda Function or other service",CfnRole:"Lambda Function, ECS Task, or other service",CfnPolicy:"Role or User",CfnInstanceProfile:"Role"};if(t&&s)return`Created by ${t.replace(/\d+$/,"")} construct '${s}'`;let i=r[n];if(i){let o=e.node.scope;if(o&&o.node){let a=o.node.id,c=o.constructor.name.replace(/\d+$/,"");if(a&&c!=="Stack")return`Created by ${c} construct '${a}'`}return`Implicitly created by ${i}`}},jT=(e,t,s,n)=>{let r=[];t&&r.push(`'${t}'`);let i=e.split("/").filter(a=>a&&a!=="Resource"&&a!=="Default"&&!a.startsWith("Cfn")),o=i[i.length-1];if(o&&o!==t&&r.push(`'${o}'`),i.length>1){let a=i[i.length-2];a&&a!==t&&a!==o&&r.push(`'${a}'`)}if(s){let a=s.replace(/\d+$/,"");r.push(`new ${a}(`)}if(n){let a=n.split("::").pop()??"";a&&!r.some(c=>c.includes(a))&&r.push(`${a}`)}return r.length===0?`Search for: ${e}`:`Search for: ${r.slice(0,3).join(" or ")}`},$T={"AWS::S3":"Storage","AWS::DynamoDB":"Database","AWS::RDS":"Database","AWS::Lambda":"Compute","AWS::EC2":"Compute","AWS::ECS":"Containers","AWS::EKS":"Containers","AWS::IAM":"Security","AWS::KMS":"Security","AWS::SecretsManager":"Security","AWS::CloudWatch":"Management","AWS::CloudTrail":"Management","AWS::SNS":"Messaging","AWS::SQS":"Messaging","AWS::EventBridge":"Messaging","AWS::ApiGateway":"Networking","AWS::CloudFront":"Networking","AWS::ELB":"Networking","AWS::ElasticLoadBalancing":"Networking","AWS::VPC":"Networking","AWS::Route53":"Networking","AWS::Cognito":"Security","AWS::WAF":"Security","AWS::StepFunctions":"Integration","AWS::Kinesis":"Analytics","AWS::Glue":"Analytics","AWS::Athena":"Analytics","AWS::Redshift":"Analytics"},UT=[{pattern:/encryption|encrypted|kmsKey|sseSpecification/i,recommendation:"Enable encryption for data at rest",checkDefault:e=>e===!1||e===void 0||e===null},{pattern:/publicAccess|publicRead|publiclyAccessible/i,recommendation:"Restrict public access unless explicitly required",checkDefault:e=>e===!0},{pattern:/logging|accessLog|trailName/i,recommendation:"Enable logging for audit and compliance",checkDefault:e=>e===!1||e===void 0},{pattern:/versioning|versioningConfiguration/i,recommendation:"Enable versioning for data protection",checkDefault:e=>e===void 0||typeof e=="object"&&e!==null&&e.status!=="Enabled"},{pattern:/backupRetention|deletionProtection|deleteProtection/i,recommendation:"Configure backup and deletion protection",checkDefault:e=>e===!1||e===0||e===void 0},{pattern:/multiAz|multiAZ/i,recommendation:"Enable Multi-AZ for high availability",checkDefault:e=>e===!1},{pattern:/securityGroup|ingressRules|egressRules/i,recommendation:"Review security group rules"},{pattern:/iamRole|assumeRolePolicy|policyDocument/i,recommendation:"Review IAM permissions for least privilege"}],GT=e=>{try{let t=e.node.scope;if(!t)return{};let s=t.constructor.name;if(s.startsWith("Cfn")){let n=t.node?.scope;if(n)return{l2Type:n.constructor.name,l2Id:n.node?.id,l2Fqn:Du(n)}}else return{l2Type:s,l2Id:t.node?.id,l2Fqn:Du(t)}}catch{}return{}},Du=e=>{try{let t=e;if(t.constructor.__jsii__?.fqn)return t.constructor.__jsii__.fqn;if(typeof t.constructor.fqn=="string")return t.constructor.fqn;let s=e.constructor.name;return s.startsWith("Cfn")?`aws-cdk-lib.${s}`:s}catch{return}},qT=e=>{let t=[];try{let s=e;for(;s;)t.unshift({id:s.node.id,type:s.constructor.name,fqn:Du(s)}),s=s.node.scope}catch{}return t},zT=e=>{for(let[t,s]of Object.entries($T))if(e.startsWith(t))return s},HT=e=>{let t=[];try{let n=e.cfnProperties;if(!n)return t;let r=(o,a)=>{for(let{pattern:c,recommendation:u,checkDefault:l}of UT)if(c.test(o)){let p=l?l(a):void 0,m=null;typeof a=="boolean"||typeof a=="number"?m=a:a==null?m=null:typeof a=="string"&&!Ht.Token.isUnresolved(a)?m=a.length>50?`${a.substring(0,47)}...`:a:typeof a=="string"?m="[Token]":m="[Object]",t.push({path:o,value:m,isDefault:p,recommendation:p?u:void 0});break}},i=(o,a="")=>{for(let[c,u]of Object.entries(o)){let l=a?`${a}.${c}`:c;r(l,u),u&&typeof u=="object"&&!Array.isArray(u)&&!Ht.Token.isUnresolved(u)&&i(u,l)}};i(n)}catch{}return t},VT=e=>{try{let s=e.cfnProperties;if(!s)return!0;let n=0;for(let r of Object.values(s))r!==void 0&&!Ht.Token.isUnresolved(r)&&n++;return n<3}catch{return!1}},KT=(e,t={})=>{let{captureSourceLocation:s=!0,captureTags:n=!0,captureRelationships:r=!0,captureHierarchy:i=!0,captureDependencies:o=!0,captureSensitiveProperties:a=!0}=t;if(!("cfnResourceType"in e))return null;let c=Ht.Stack.of(e),u=e.node.path,l=e.constructor.name,p=e.node.id,m=e,d=m.cfnResourceType,f;try{f=c.getLogicalId(m)}catch{}let{l2Type:g,l2Id:h}=GT(e),b=h?`${h} (${g||l})`:`${p} (${l})`,y={source:"cdk_insights",version:bu,stackName:c.stackName,stackId:c.node.id,constructPath:u,constructType:l,friendlyName:b,timestamp:new Date().toISOString(),cfnResourceType:d};p&&(y.id=p),f&&(y.logicalId=f),g&&(y.l2ConstructType=g),h&&(y.l2ConstructId=h);let F=zT(d);if(F&&(y.serviceCategory=F),s){let v=fb(e,h);if(v)y.sourceLocation=v;else{let T=MT(e);T&&(y.rootSourceLocation=T.location),y.searchHint=jT(u,h,g,d)}let A=WT(e,g,h);A&&(y.createdBy=A)}if(r){let v=e.node.scope;v&&(y.parentPath=v.node.path),y.childCount=e.node.children.length}if(i){let v=qT(e);v.length>0&&(y.constructHierarchy=v)}if(o)try{let v=e.node.dependencies;if(v.length>0){let A=[];for(let T of v)if("cfnResourceType"in T)try{let _=c.getLogicalId(T);_&&A.push(_)}catch{}A.length>0&&(y.dependencies=A)}}catch{}if(a){let v=HT(e);v.length>0&&(y.sensitiveProperties=v),y.usesDefaults=VT(e)}if(n)try{let v=m.tagsRaw;if(v&&Object.keys(v).length>0)y.tags=v;else{let A=m.tags;if(A&&typeof A.renderTags=="function"){let T=A.renderTags();T&&Object.keys(T).length>0&&(y.tags=T)}}}catch{}try{let v=c.cdkVersion;v&&(y.cdkVersion=v)}catch{}return y},gb=(e,t,s={})=>{if(TT(),t)try{t.visit(e)}catch(r){xe.warn(`CDK-Nag error suppressed for ${e.node.path}: ${r.message}`)}let n=KT(e,{captureSourceLocation:s.captureSourceLocation,captureTags:s.captureTags,captureRelationships:s.captureRelationships,captureHierarchy:s.captureHierarchy,captureDependencies:s.captureDependencies,captureSensitiveProperties:s.captureSensitiveProperties});n&&Ht.Annotations.of(e).addInfo(`${vu}${JSON.stringify(n)}`)},hb=(e={})=>{let{logCompliance:t=!1,logNotApplicable:s=!1,verbose:n=!1}=e;return{onCompliance:r=>{t&&xe.debug(`\u2713 ${r.resource.logicalId} is compliant with ${r.ruleId}`)},onNonCompliance:r=>{xe.warn(`\u2717 ${r.resource.logicalId} is non-compliant with ${r.ruleId}: ${r.ruleInfo}`)},onSuppressed:r=>{n&&xe.info(`\u2298 ${r.ruleId} suppressed on ${r.resource.logicalId}: ${r.suppressionReason}`)},onError:r=>{xe.error(`\u26A0 ${r.ruleId} error during validation: ${r.errorMessage}`)},onSuppressedError:r=>{n&&xe.warn(`\u2298 ${r.ruleId} error suppressed: ${r.errorSuppressionReason}`)},onNotApplicable:r=>{s&&n&&xe.debug(`- ${r.ruleId} not applicable to ${r.resource.logicalId}`)}}},yb=(e={})=>{let{logCompliance:t=!0,logNotApplicable:s=!1,verbose:n=!1}=e;return{onCompliance:r=>{t&&xe.info(`Yay! ${r.resource.logicalId} is compliant with ${r.ruleId}`)},onNonCompliance:r=>{xe.warn(`Boo! ${r.resource.logicalId} is non-compliant with ${r.ruleId}`)},onSuppressed:r=>{n&&xe.info(`Hmmmm... ${r.ruleId} has been suppressed on ${r.resource.logicalId} with reason: ${r.suppressionReason}`)},onError:r=>{xe.error(`WHAT?!?! ${r.ruleId} encountered an error during validation!`)},onSuppressedError:r=>{n&&xe.warn(`PHEW! ${r.ruleId} error was suppressed: ${r.errorSuppressionReason}`)},onNotApplicable:r=>{s&&n&&xe.debug(`Meh. ${r.ruleId} and ${r.resource.logicalId} aren't related at all.`)}}},Db=(e={})=>{let{runNagChecks:t=!0,captureSourceLocation:s=!0,captureTags:n=!0,captureRelationships:r=!0,captureHierarchy:i=!0,captureDependencies:o=!0,captureSensitiveProperties:a=!0}=e,c=t?new Pr.AwsSolutionsChecks:null;return{visit:u=>{gb(u,c,{captureSourceLocation:s,captureTags:n,captureRelationships:r,captureHierarchy:i,captureDependencies:o,captureSensitiveProperties:a})}}},_r=class{options;constructor(t={}){this.options={logCompliance:!0,logNotApplicable:!1,verbose:!1,...t}}onCompliance(t){this.options.logCompliance&&xe.info(`Yay! ${t.resource.logicalId} is compliant with ${t.ruleId}`)}onNonCompliance(t){xe.warn(`Boo! ${t.resource.logicalId} is non-compliant with ${t.ruleId}`)}onSuppressed(t){this.options.verbose&&xe.info(`Hmmmm... ${t.ruleId} has been suppressed on ${t.resource.logicalId} with reason: ${t.suppressionReason}`)}onError(t){xe.error(`WHAT?!?! ${t.ruleId} encountered an error during validation!`)}onSuppressedError(t){this.options.verbose&&xe.warn(`PHEW! ${t.ruleId} error was suppressed: ${t.errorSuppressionReason}`)}onNotApplicable(t){this.options.logNotApplicable&&this.options.verbose&&xe.debug(`Meh. ${t.ruleId} and ${t.resource.logicalId} aren't related at all.`)}},fo=class extends Pr.NagPack{delegate;options;constructor(t){super(t),this.packName="CdkInsights",this.options={runNagChecks:t?.runNagChecks??!0,captureSourceLocation:t?.captureSourceLocation??!0,captureTags:t?.captureTags??!0,captureRelationships:t?.captureRelationships??!0,captureHierarchy:t?.captureHierarchy??!0,captureDependencies:t?.captureDependencies??!0,captureSensitiveProperties:t?.captureSensitiveProperties??!0,logger:t?.logger},this.loggers.push(new _r(this.options.logger)),this.delegate=new Pr.AwsSolutionsChecks}visit(t){gb(t,this.options.runNagChecks?this.delegate:null,this.options)}};var bb=()=>{mo.clear(),On.clear(),os.clear(),yu=!1},vb=()=>({sourceFiles:mo.size,constructLocations:On.size,sourceMaps:os.size});var ho=async(e,t)=>{try{return await e()}catch(s){return je.warn(`\u26A0\uFE0F Error in ${t.operationName}:`,{error:s}),t.fallbackValue}},ZT=e=>!e||e.length===0||e.includes("All services"),JT=(e,t)=>{if(ZT(t))return e;let s=new Set((t??[]).map(n=>`AWS::${n}::`));return Object.fromEntries(Object.entries(e).filter(([,n])=>{for(let r of s)if(n.Type.startsWith(r))return!0;return!1}))},YT=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>!t.Type.startsWith("AWS::CDK::"))),QT=e=>{let{stackName:t,pathToLogicalId:s}=e;return n=>({resourceId:n,friendlyName:s[n]??n,cdkPath:`${t}/${n}`,isGenerated:!1,sources:{cdkInsights:{issues:[]},cdkNag:{issues:[]}}})},go=(e,t,s)=>{let n=e[t];if(n)return n;let r=s(t);return e[t]=r,r},XT=e=>[...e.sources?.cdkInsights?.issues??[],...e.sources?.cdkNag?.issues??[]],Cb=e=>{for(let t of Object.values(e)){for(let s of t.sources?.cdkInsights?.issues??[])if(s.severity==="CRITICAL")return!0;for(let s of t.sources?.cdkNag?.issues??[])if(s.severity==="CRITICAL")return!0}return!1},eI=e=>{for(let[t,s]of Object.entries(e))(s.sources?.cdkInsights?.issues?.length??0)>0||(s.sources?.cdkNag?.issues?.length??0)>0||delete e[t];return e},tI=(e,t,s,n,r,i,o)=>({resourceId:e,issue:t,recommendation:s,severity:n,wafPillar:r,foundBy:o,constructPath:i}),sI=e=>{let{recommendationMap:t,stackName:s,stackResources:n,manifest:r}=e;try{let i=new Map,o=a=>{let c=i.get(a);if(c)return c;let u=sD(r,a);return i.set(a,u),u};return Object.entries(t).reduce((a,[c,u])=>{let l=u.cdkPath||c,p=o(l),m=n[c]?.Type||"Unknown",d=f=>({...f,...p?.filePath&&{sourceLocation:{filePath:p.filePath,line:p.line||1,column:p.column||1,confidence:p.confidence||"low"}},stackName:s,constructType:m});return a[c]={...u,sources:{cdkInsights:{issues:(u.sources?.cdkInsights?.issues??[]).map(d)},cdkNag:{issues:(u.sources?.cdkNag?.issues??[]).map(d)}}},a},{})}catch(i){return je.warn("\u26A0\uFE0F Could not enrich issues with source location:",{error:i}),t}},nI=e=>{let{authToken:t,fingerprint:s,tier:n,quotaValidation:r}=e,i=!!(t&&s&&n),o=!r||r.canRunStaticAnalysis,a=!r||r.canRunAIAnalysis,c=!!(n&&fr.isFeatureEnabled("aiAnalysis",n));return{hasAuth:i,canRunStatic:o,canRunAI:i&&c&&a,isAiEnabledByTier:c,canRunAIByQuota:a}},rI=async e=>{let{userResources:t,selectedServices:s,constructRegistry:n,canRunStatic:r}=e,i=Object.keys(t).length;return i===0?{}:r?(U.phase1(`Static analysis on ${i} resource${i===1?"":"s"}`),await ho(()=>Promise.resolve(ph({Resources:t},tI,s||[],n)),{operationName:"static analysis",fallbackValue:{}})??{}):(U.warning("\u26A0\uFE0F Static analysis skipped due to license restrictions"),{})},iI=async e=>{let{stackName:t,userResources:s,inlineFindings:n,pathToLogicalId:r,authToken:i,fingerprint:o,tier:a,noCache:c=!1,cache:u,capabilities:l}=e,p=Object.keys(s).length;if(p===0)return{};if(!l.hasAuth)return{};if(a&&!l.isAiEnabledByTier)return U.comment("\u{1F4A1} AI analysis is available with Pro tier - upgrade for deeper insights"),{};if(!l.canRunAIByQuota&&l.canRunStatic)return U.comment("\u{1F4A1} AI analysis skipped due to trial quota limits - upgrade to Pro for unlimited AI analysis"),{};if(!l.canRunAI)return{};if(!i||!o)return je.warn("AI analysis skipped: missing authToken or fingerprint"),{};U.phase2(`AI analysis on ${p} resource${p===1?"":"s"}`);let m=pb(),d=Yy(Nt,m),f=Ah(sb),g=My({analyzeResource:d,redactResources:f});return await ho(()=>g({stackName:t,resources:s,authToken:i,existingFindingsMap:n,pathToLogicalId:r,fingerprint:o,noCache:c,cacheConfig:u}),{operationName:"AI analysis",fallbackValue:{}})??{}},oI=e=>{let{recommendationMap:t,ruleFilter:s}=e;if(s.length===0)return t;for(let[n,r]of Object.entries(t)){let i=XT(r),o=Kc(i,s);if(o.length===0){delete t[n];continue}r.sources||(r.sources={cdkInsights:{issues:[]},cdkNag:{issues:[]}}),r.sources.cdkInsights||(r.sources.cdkInsights={issues:[]}),r.sources.cdkNag||(r.sources.cdkNag={issues:[]}),r.sources.cdkInsights.issues=o.filter(a=>a.foundBy==="cdkInsights"),r.sources.cdkNag.issues=o.filter(a=>a.foundBy==="cdkNag")}return t},aI=async e=>{let{stackName:t,recommendationMap:s,summary:n,tier:r}=e;if(!r||!fr.isFeatureEnabled("githubIntegration",r)){U.warning("GitHub integration is not available for your current tier"),U.comment(dh("githubIntegration",r??"free","GitHub integration"));return}let i=Ky(),o=!!process.env.GITHUB_TOKEN;if(!i&&!o){U.warning("GitHub CLI not found and GITHUB_TOKEN not set. Skipping issue creation."),U.comment("Install GitHub CLI (gh) or set GITHUB_TOKEN environment variable to enable issue creation.");return}U.section("Creating GitHub Issue","\u{1F419}");let a=kn(t,s,n);await ho(()=>Hy({stackName:t,issueTitle:`CDK Insights Analysis for ${t}`,issueBody:a,ghCli:i,recommendations:s,summary:n}),{operationName:"creating GitHub issue"})},Sb=async({stackName:e,stack:t,selectedServices:s,inlineFindings:n,recommendationMapPerStack:r,pathToLogicalId:i,constructRegistry:o,ruleFilter:a,authToken:c,fingerprint:u,output:l,withIssue:p,tier:m,noCache:d=!1,warnSensitive:f=!1,sensitiveDataDetection:g={},cache:h,quotaValidation:b,manifest:y})=>{let F=t.Resources??{},v=JT(F,s),A=YT(v),T=new Set(Object.keys(A)),_=T.size,E=nI({authToken:c,fingerprint:u,tier:m,quotaValidation:b}),z=QT({stackName:e,pathToLogicalId:i}),J=r[e]||{},Y=P=>{let V=z(P),le=J[P];return le?{...V,...le,sources:V.sources}:V},Q=E.canRunAI?Object.fromEntries(Object.keys(A).map(P=>[P,Y(P)])):{};for(let P of n)go(Q,P.resourceId,Y).sources.cdkNag.issues.push(P);let q=await rI({userResources:A,selectedServices:s,constructRegistry:o,canRunStatic:E.canRunStatic});for(let[P,V]of Object.entries(q)){let le=go(Q,P,Y),pe=V.issues??[];le.sources.cdkInsights.issues.push(...pe)}let B=hu(A,{disabled:g.disabled,ignoreProperties:g.ignoreProperties,allowPatterns:g.allowPatterns,strictMode:g.strictMode}),I=A;if(B.hasSkippedResources){let P=B.resourcesWithSensitiveData;U.warning(`\u{1F512} Sensitive data detected in ${P} resource${P===1?"":"s"} - NOT sent to CDK Insights servers`),I=Object.fromEntries(Object.entries(A).filter(([V])=>!B.skippedResourceIds.includes(V)));for(let V of B.detectionResults)if(V.hasSensitiveData){let le=go(Q,V.resourceId,Y),pe=gu(V,e);le.sources.cdkInsights.issues.push(pe)}}let k=await iI({stackName:e,userResources:I,inlineFindings:n,pathToLogicalId:i,authToken:c,fingerprint:u,tier:m,noCache:d,cache:h,capabilities:E});c&&u&&Object.keys(k).length>0&&U.phase3("Processing results...");let W=ob({staticRecommendations:{},aiRecommendations:k,recommendationMap:Q,ruleFilter:a,filterIssuesByRule:Kc});for(let[P,V]of Object.entries(W.updatedMap)){let le=go(Q,P,Y);le.sources.cdkInsights.issues.push(...gr({existing:le.sources.cdkInsights.issues,incoming:V.sources.cdkInsights.issues}))}oI({recommendationMap:Q,ruleFilter:a}),eI(Q);let G=sI({recommendationMap:Q,stackName:e,stackResources:A,manifest:y}),ne=ao(G,_,T),j=Object.keys(G).length>0;return r[e]=G,l&&l!=="table"&&eb(l,e,G,!0,ne),p&&j&&await aI({stackName:e,recommendationMap:G,summary:ne,tier:m}),{recommendationMap:G,summary:ne,hasIssues:j,scannedResourceCount:_,scannedResourceIds:T,stackName:e,sensitiveDataSummary:B,hasSensitiveData:B.hasSkippedResources}},cI=async({stacks:e,inlineFindings:t,pathToLogicalId:s,output:n,recommendationMapPerStack:r,withIssue:i,services:o,ruleFilter:a=[],authToken:c,fingerprint:u,failOnCritical:l,tier:p,noCache:m=!1,allowOveruse:d=!1,warnSensitive:f=!1,sensitiveDataDetection:g={},cache:h,quotaValidation:b})=>{if(je.info("\u{1F680} Starting CDK Insights analysis",{stackCount:Object.keys(e).length,stackNames:Object.keys(e),hasAuthToken:!!c,hasFingerprint:!!u,tier:p||"unknown",quotaValidation:b?{canRunStaticAnalysis:b.canRunStaticAnalysis,canRunAIAnalysis:b.canRunAIAnalysis,isTrial:b.quota?.isTrial}:null,services:o||["All services"],output:n||"table"}),b&&!b.quota.isTrial&&b.canRunAIAnalysis&&d){let q=b.quota.currentResourcesAnalyzed>=b.quota.maxResources,B=b.quota.wouldExceed;q?(U.warning(`\u26A0\uFE0F You have exceeded your paid allowance (${b.quota.currentResourcesAnalyzed}/${b.quota.maxResources} resources analyzed).`),U.warning(" Proceeding with AI analysis as --allow-overuse is enabled. Extra usage will be charged.")):B&&(U.warning(`\u26A0\uFE0F This analysis will exceed your paid allowance (${b.quota.currentResourcesAnalyzed}/${b.quota.maxResources} resources analyzed).`),U.warning(" Proceeding with AI analysis as --allow-overuse is enabled. Extra usage will be charged."))}let y=rb("cdk.out"),F=await ho(()=>lm(cm()),{operationName:"loading construct metadata",fallbackValue:{}})??{},v={},A=!1,T=!1,_=0,E=new Set,z=Object.keys(e),J=z.length,Y=q=>{let{stackName:B,map:I}=q;for(let[k,W]of Object.entries(I))v[`${B}:${k}`]=W};if(J>1)await Zi.runAnalysis({title:`Deep Analysis of ${J} CDK Stacks`,steps:z.map((q,B)=>({title:`Analyzing stack ${B+1}/${J}: ${q}`,task:async()=>{let I=e[q],k=await Sb({stackName:q,stack:I,selectedServices:o,inlineFindings:t,recommendationMapPerStack:r,pathToLogicalId:s,constructRegistry:F,ruleFilter:a,authToken:c,fingerprint:u,output:n,withIssue:i,tier:p,noCache:m,warnSensitive:f,sensitiveDataDetection:g,cache:h,quotaValidation:b,manifest:y});Y({stackName:k.stackName,map:k.recommendationMap}),_+=k.scannedResourceCount;for(let W of k.scannedResourceIds)E.add(`${k.stackName}:${W}`);return!A&&k.hasIssues&&(A=Cb(k.recommendationMap)),k.hasSensitiveData&&(T=!0),(n==="summary"||n==="table")&&U.summary(k.summary),k}})),showSummary:!0});else{let[q,B]=Object.entries(e)[0]??[];if(!q||!B)return{recommendationMaps:{},hasCriticalIssues:!1};let I=Object.entries(B.Resources||{}).filter(([,W])=>!W.Type.startsWith("AWS::CDK::")).length;U.analysisStart(q,I);let k=await Sb({stackName:q,stack:B,selectedServices:o,inlineFindings:t,recommendationMapPerStack:r,pathToLogicalId:s,constructRegistry:F,ruleFilter:a,authToken:c,fingerprint:u,output:n,withIssue:i,tier:p,noCache:m,warnSensitive:f,sensitiveDataDetection:g,cache:h,quotaValidation:b,manifest:y});Y({stackName:k.stackName,map:k.recommendationMap}),_+=k.scannedResourceCount;for(let W of k.scannedResourceIds)E.add(`${k.stackName}:${W}`);k.hasIssues&&(A=Cb(k.recommendationMap)),k.hasSensitiveData&&(T=!0),(n==="summary"||n==="table")&&U.summary(k.summary)}if(Object.keys(v).length>0&&J>1){let q=ao(v,_,E);if(n==="table"||n==="summary")U.section("Overall Analysis Summary","\u{1F4CA}"),Fr("Overall",q),Tr(v);else if(n==="sarif"){let B=io("consolidated",v),I="consolidated_analysis_report.sarif";xb.writeFileSync(I,JSON.stringify(B,null,2)),U.info(`\u{1F4C4} Consolidated SARIF report written to: ${I}`)}else n==="github-actions"&&oo("consolidated",v,q.severityCounts,_)}else if(n==="table"||n==="summary")if(Object.keys(v).length>0){let q=ao(v,_,E);U.section("Overall Analysis Summary","\u{1F4CA}"),Fr("Overall",q),Tr(v)}else U.success("No issues found across all stacks!");return{recommendationMaps:v,hasCriticalIssues:!!l&&A||T&&!f,hasSensitiveData:T}};0&&(module.exports={CDK_INSIGHTS_ANNOTATION_PREFIX,CDK_INSIGHTS_METADATA_VERSION,CdkInsightsAspect,ExtremelyHelpfulConsoleLogger,clearCaches,createCdkInsightsAspect,createCdkInsightsLogger,createExtremelyHelpfulConsoleLogger,getCacheStats,isCdkDebugEnabled,runAnalysis});
|
|
400
|
+
`)},_T=(e,t)=>{let s=e.split(`
|
|
401
|
+
`),n,r=0,i=0;for(let o=0;o<Math.min(t,s.length);o++){let a=s[o],c=a.match(/class\s+(\w+)/),u=a.match(/(?:function\s+(\w+)|(\w+)\s*[=:]\s*(?:async\s*)?\(|(\w+)\s*\([^)]*\)\s*(?:=>|\{))/);if(c)n=c[1],i=r;else if(u){let l=u[1]||u[2]||u[3];l&&n?n=`${n}.${l}`:l&&(n=l),i=r}if(r+=(a.match(/{/g)||[]).length,r-=(a.match(/}/g)||[]).length,r<=i&&n){let l=n.split(".");l.length>1&&(n=l.slice(0,-1).join("."))}}return n},LT=(e,t,s,n)=>{try{let r=Fo.get(e);r||(r=_t.readFileSync(e,"utf-8"),Fo.set(e,r));let i=r.split(`
|
|
402
|
+
`),o=[],a=new RegExp(`new\\s+(\\w+)\\s*\\(\\s*(?:this|\\w+)\\s*,\\s*['"\`]${Ao(t)}['"\`]`,"g"),c=new RegExp(`(?:const|let|var)\\s+(${Ao(t.replace(/[^a-zA-Z0-9]/g,""))})\\s*=\\s*new\\s+(\\w+)`,"gi"),u=new RegExp(`\\w+\\s*[=:]\\s*new\\s+(\\w+)\\s*\\(\\s*(?:this|\\w+)\\s*,\\s*['"\`]${Ao(t)}['"\`]`,"g"),l=new RegExp(`\\.\\w+\\s*\\(\\s*['"\`]${Ao(t)}['"\`]`,"g");for(let p=0;p<i.length;p++){let d=i[p],f=a.exec(d);if(f){o.push({line:p+1,column:f.index+1,constructorName:f[1],confidence:"high"}),a.lastIndex=0;continue}if(f=u.exec(d),f){o.push({line:p+1,column:f.index+1,constructorName:f[1],confidence:"high"}),u.lastIndex=0;continue}if(f=c.exec(d),f){o.push({line:p+1,column:f.index+1,constructorName:f[2],confidence:"medium"}),c.lastIndex=0;continue}f=l.exec(d),f&&(o.push({line:p+1,column:f.index+1,confidence:"low"}),l.lastIndex=0)}if(o.length>0){o.sort((S,v)=>{let R={high:0,medium:1,low:2};return R[S.confidence]-R[v.confidence]});let p=o[0],d=lt.relative(n,e),f=_T(r,p.line),m=kT(r,p.line),g=p.line,h=0,y=0,D=!1;for(let S=p.line-1;S<i.length&&S<p.line+50;S++){let v=i[S];for(let R of v)if(R==="("||R==="{")R==="("?y++:h++,D=!0;else if((R===")"||R==="}")&&(R===")"?y--:h--,D&&y<=0&&h<=0)){g=S+1;break}if(g>p.line)break}return{filePath:d.startsWith(".")?d:`./${d}`,line:p.line,column:p.column,endLine:g>p.line?g:void 0,confidence:p.confidence,method:"source_analysis",enclosingScope:f,codeSnippet:m}}}catch{}},Ao=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),PT=e=>{let t=e;if(t._creationStack?.length)return t._creationStack;if(t.creationStack?.length)return t.creationStack;let s=e.node.defaultChild;if(s?._creationStack?.length)return s._creationStack;if(s?.creationStack?.length)return s.creationStack;let n=e.node.scope;for(;n;){let r=n;if(r._creationStack?.length)return r._creationStack;if(r.creationStack?.length)return r.creationStack;n=n.node?.scope}},Jb=(e,t)=>{try{let s=PT(e);if(s?.length){let a=s.join(`
|
|
403
|
+
`),c=Zb(a,"creation_stack");if(c)return{...c,confidence:"high"}}for(let a of e.node.metadata)if(a.trace&&Array.isArray(a.trace)){let c=a.trace.join(`
|
|
404
|
+
`),u=Zb(c,"metadata_trace");if(u)return u}let n=e.node.id,r=e.node.path,i=Xt.Stack.of(e),o=TT(n,r,i.stackName,t);return o||void 0}catch{}},OT=(e,t=10)=>{let s=e.node.scope,n=0;for(;s&&n<t;){let r=s.node.id,i=s.constructor.name;if(i==="Stack"||i==="App"||!r){s=s.node.scope,n++;continue}let o=Jb(s,r);if(o)return{location:o,ancestorId:r,ancestorType:i};s=s.node.scope,n++}},BT=(e,t,s)=>{let n=e.constructor.name,r={CfnSubnet:"Vpc",CfnRouteTable:"Vpc or Subnet",CfnRoute:"Vpc or Subnet",CfnSubnetRouteTableAssociation:"Subnet",CfnInternetGateway:"Vpc",CfnVPCGatewayAttachment:"Vpc",CfnNatGateway:"Vpc (public subnet)",CfnEIP:"Vpc (for NAT Gateway)",CfnSecurityGroup:"Vpc or other L2 construct",CfnSecurityGroupIngress:"SecurityGroup",CfnSecurityGroupEgress:"SecurityGroup",CfnDBSubnetGroup:"DatabaseInstance or DatabaseCluster",CfnLogGroup:"Lambda Function or other service",CfnRole:"Lambda Function, ECS Task, or other service",CfnPolicy:"Role or User",CfnInstanceProfile:"Role"};if(t&&s)return`Created by ${t.replace(/\d+$/,"")} construct '${s}'`;let i=r[n];if(i){let o=e.node.scope;if(o&&o.node){let a=o.node.id,c=o.constructor.name.replace(/\d+$/,"");if(a&&c!=="Stack")return`Created by ${c} construct '${a}'`}return`Implicitly created by ${i}`}},MT=(e,t,s,n)=>{let r=[];t&&r.push(`'${t}'`);let i=e.split("/").filter(a=>a&&a!=="Resource"&&a!=="Default"&&!a.startsWith("Cfn")),o=i[i.length-1];if(o&&o!==t&&r.push(`'${o}'`),i.length>1){let a=i[i.length-2];a&&a!==t&&a!==o&&r.push(`'${a}'`)}if(s){let a=s.replace(/\d+$/,"");r.push(`new ${a}(`)}if(n){let a=n.split("::").pop()??"";a&&!r.some(c=>c.includes(a))&&r.push(`${a}`)}return r.length===0?`Search for: ${e}`:`Search for: ${r.slice(0,3).join(" or ")}`},NT={"AWS::S3":"Storage","AWS::DynamoDB":"Database","AWS::RDS":"Database","AWS::Lambda":"Compute","AWS::EC2":"Compute","AWS::ECS":"Containers","AWS::EKS":"Containers","AWS::IAM":"Security","AWS::KMS":"Security","AWS::SecretsManager":"Security","AWS::CloudWatch":"Management","AWS::CloudTrail":"Management","AWS::SNS":"Messaging","AWS::SQS":"Messaging","AWS::EventBridge":"Messaging","AWS::ApiGateway":"Networking","AWS::CloudFront":"Networking","AWS::ELB":"Networking","AWS::ElasticLoadBalancing":"Networking","AWS::VPC":"Networking","AWS::Route53":"Networking","AWS::Cognito":"Security","AWS::WAF":"Security","AWS::StepFunctions":"Integration","AWS::Kinesis":"Analytics","AWS::Glue":"Analytics","AWS::Athena":"Analytics","AWS::Redshift":"Analytics"},WT=[{pattern:/encryption|encrypted|kmsKey|sseSpecification/i,recommendation:"Enable encryption for data at rest",checkDefault:e=>e===!1||e===void 0||e===null},{pattern:/publicAccess|publicRead|publiclyAccessible/i,recommendation:"Restrict public access unless explicitly required",checkDefault:e=>e===!0},{pattern:/logging|accessLog|trailName/i,recommendation:"Enable logging for audit and compliance",checkDefault:e=>e===!1||e===void 0},{pattern:/versioning|versioningConfiguration/i,recommendation:"Enable versioning for data protection",checkDefault:e=>e===void 0||typeof e=="object"&&e!==null&&e.status!=="Enabled"},{pattern:/backupRetention|deletionProtection|deleteProtection/i,recommendation:"Configure backup and deletion protection",checkDefault:e=>e===!1||e===0||e===void 0},{pattern:/multiAz|multiAZ/i,recommendation:"Enable Multi-AZ for high availability",checkDefault:e=>e===!1},{pattern:/securityGroup|ingressRules|egressRules/i,recommendation:"Review security group rules"},{pattern:/iamRole|assumeRolePolicy|policyDocument/i,recommendation:"Review IAM permissions for least privilege"}],jT=e=>{try{let t=e.node.scope;if(!t)return{};let s=t.constructor.name;if(s.startsWith("Cfn")){let n=t.node?.scope;if(n)return{l2Type:n.constructor.name,l2Id:n.node?.id,l2Fqn:ku(n)}}else return{l2Type:s,l2Id:t.node?.id,l2Fqn:ku(t)}}catch{}return{}},ku=e=>{try{let t=e;if(t.constructor.__jsii__?.fqn)return t.constructor.__jsii__.fqn;if(typeof t.constructor.fqn=="string")return t.constructor.fqn;let s=e.constructor.name;return s.startsWith("Cfn")?`aws-cdk-lib.${s}`:s}catch{return}},$T=e=>{let t=[];try{let s=e;for(;s;)t.unshift({id:s.node.id,type:s.constructor.name,fqn:ku(s)}),s=s.node.scope}catch{}return t},UT=e=>{for(let[t,s]of Object.entries(NT))if(e.startsWith(t))return s},GT=e=>{let t=[];try{let n=e.cfnProperties;if(!n)return t;let r=(o,a)=>{for(let{pattern:c,recommendation:u,checkDefault:l}of WT)if(c.test(o)){let p=l?l(a):void 0,d=null;typeof a=="boolean"||typeof a=="number"?d=a:a==null?d=null:typeof a=="string"&&!Xt.Token.isUnresolved(a)?d=a.length>50?`${a.substring(0,47)}...`:a:typeof a=="string"?d="[Token]":d="[Object]",t.push({path:o,value:d,isDefault:p,recommendation:p?u:void 0});break}},i=(o,a="")=>{for(let[c,u]of Object.entries(o)){let l=a?`${a}.${c}`:c;r(l,u),u&&typeof u=="object"&&!Array.isArray(u)&&!Xt.Token.isUnresolved(u)&&i(u,l)}};i(n)}catch{}return t},zT=e=>{try{let s=e.cfnProperties;if(!s)return!0;let n=0;for(let r of Object.values(s))r!==void 0&&!Xt.Token.isUnresolved(r)&&n++;return n<3}catch{return!1}},qT=(e,t={})=>{let{captureSourceLocation:s=!0,captureTags:n=!0,captureRelationships:r=!0,captureHierarchy:i=!0,captureDependencies:o=!0,captureSensitiveProperties:a=!0}=t;if(!("cfnResourceType"in e))return null;let c=Xt.Stack.of(e),u=e.node.path,l=e.constructor.name,p=e.node.id,d=e,f=d.cfnResourceType,m;try{m=c.getLogicalId(d)}catch{}let{l2Type:g,l2Id:h}=jT(e),y=h?`${h} (${g||l})`:`${p} (${l})`,D={source:"cdk_insights",version:_u,stackName:c.stackName,stackId:c.node.id,constructPath:u,constructType:l,friendlyName:y,timestamp:new Date().toISOString(),cfnResourceType:f};p&&(D.id=p),m&&(D.logicalId=m),g&&(D.l2ConstructType=g),h&&(D.l2ConstructId=h);let S=UT(f);if(S&&(D.serviceCategory=S),s){let v=Jb(e,h);if(v)D.sourceLocation=v;else{let k=OT(e);k&&(D.rootSourceLocation=k.location),D.searchHint=MT(u,h,g,f)}let R=BT(e,g,h);R&&(D.createdBy=R)}if(r){let v=e.node.scope;v&&(D.parentPath=v.node.path),D.childCount=e.node.children.length}if(i){let v=$T(e);v.length>0&&(D.constructHierarchy=v)}if(o)try{let v=e.node.dependencies;if(v.length>0){let R=[];for(let k of v)if("cfnResourceType"in k)try{let _=c.getLogicalId(k);_&&R.push(_)}catch{}R.length>0&&(D.dependencies=R)}}catch{}if(a){let v=GT(e);v.length>0&&(D.sensitiveProperties=v),D.usesDefaults=zT(e)}if(n)try{let v=d.tagsRaw;if(v&&Object.keys(v).length>0)D.tags=v;else{let R=d.tags;if(R&&typeof R.renderTags=="function"){let k=R.renderTags();k&&Object.keys(k).length>0&&(D.tags=k)}}}catch{}try{let v=c.cdkVersion;v&&(D.cdkVersion=v)}catch{}return D},Qb=(e,t,s={})=>{if(ET(),t)try{t.visit(e)}catch(r){ke.warn(`CDK-Nag error suppressed for ${e.node.path}: ${r.message}`)}let n=qT(e,{captureSourceLocation:s.captureSourceLocation,captureTags:s.captureTags,captureRelationships:s.captureRelationships,captureHierarchy:s.captureHierarchy,captureDependencies:s.captureDependencies,captureSensitiveProperties:s.captureSensitiveProperties});n&&Xt.Annotations.of(e).addInfo(`${Lu}${JSON.stringify(n)}`)},Xb=(e={})=>{let{logCompliance:t=!1,logNotApplicable:s=!1,verbose:n=!1}=e;return{onCompliance:r=>{t&&ke.debug(`\u2713 ${r.resource.logicalId} is compliant with ${r.ruleId}`)},onNonCompliance:r=>{ke.warn(`\u2717 ${r.resource.logicalId} is non-compliant with ${r.ruleId}: ${r.ruleInfo}`)},onSuppressed:r=>{n&&ke.info(`\u2298 ${r.ruleId} suppressed on ${r.resource.logicalId}: ${r.suppressionReason}`)},onError:r=>{ke.error(`\u26A0 ${r.ruleId} error during validation: ${r.errorMessage}`)},onSuppressedError:r=>{n&&ke.warn(`\u2298 ${r.ruleId} error suppressed: ${r.errorSuppressionReason}`)},onNotApplicable:r=>{s&&n&&ke.debug(`- ${r.ruleId} not applicable to ${r.resource.logicalId}`)}}},ev=(e={})=>{let{logCompliance:t=!0,logNotApplicable:s=!1,verbose:n=!1}=e;return{onCompliance:r=>{t&&ke.info(`Yay! ${r.resource.logicalId} is compliant with ${r.ruleId}`)},onNonCompliance:r=>{ke.warn(`Boo! ${r.resource.logicalId} is non-compliant with ${r.ruleId}`)},onSuppressed:r=>{n&&ke.info(`Hmmmm... ${r.ruleId} has been suppressed on ${r.resource.logicalId} with reason: ${r.suppressionReason}`)},onError:r=>{ke.error(`WHAT?!?! ${r.ruleId} encountered an error during validation!`)},onSuppressedError:r=>{n&&ke.warn(`PHEW! ${r.ruleId} error was suppressed: ${r.errorSuppressionReason}`)},onNotApplicable:r=>{s&&n&&ke.debug(`Meh. ${r.ruleId} and ${r.resource.logicalId} aren't related at all.`)}}},tv=(e={})=>{let{runNagChecks:t=!0,captureSourceLocation:s=!0,captureTags:n=!0,captureRelationships:r=!0,captureHierarchy:i=!0,captureDependencies:o=!0,captureSensitiveProperties:a=!0}=e,c=t?new Ur.AwsSolutionsChecks:null;return{visit:u=>{Qb(u,c,{captureSourceLocation:s,captureTags:n,captureRelationships:r,captureHierarchy:i,captureDependencies:o,captureSensitiveProperties:a})}}},$r=class{options;constructor(t={}){this.options={logCompliance:!0,logNotApplicable:!1,verbose:!1,...t}}onCompliance(t){this.options.logCompliance&&ke.info(`Yay! ${t.resource.logicalId} is compliant with ${t.ruleId}`)}onNonCompliance(t){ke.warn(`Boo! ${t.resource.logicalId} is non-compliant with ${t.ruleId}`)}onSuppressed(t){this.options.verbose&&ke.info(`Hmmmm... ${t.ruleId} has been suppressed on ${t.resource.logicalId} with reason: ${t.suppressionReason}`)}onError(t){ke.error(`WHAT?!?! ${t.ruleId} encountered an error during validation!`)}onSuppressedError(t){this.options.verbose&&ke.warn(`PHEW! ${t.ruleId} error was suppressed: ${t.errorSuppressionReason}`)}onNotApplicable(t){this.options.logNotApplicable&&this.options.verbose&&ke.debug(`Meh. ${t.ruleId} and ${t.resource.logicalId} aren't related at all.`)}},Eo=class extends Ur.NagPack{delegate;options;constructor(t){super(t),this.packName="CdkInsights",this.options={runNagChecks:t?.runNagChecks??!0,captureSourceLocation:t?.captureSourceLocation??!0,captureTags:t?.captureTags??!0,captureRelationships:t?.captureRelationships??!0,captureHierarchy:t?.captureHierarchy??!0,captureDependencies:t?.captureDependencies??!0,captureSensitiveProperties:t?.captureSensitiveProperties??!0,logger:t?.logger},this.loggers.push(new $r(this.options.logger)),this.delegate=new Ur.AwsSolutionsChecks}visit(t){Qb(t,this.options.runNagChecks?this.delegate:null,this.options)}};var sv=()=>{Fo.clear(),zn.clear(),fs.clear(),Tu=!1},nv=()=>({sourceFiles:Fo.size,constructLocations:zn.size,sourceMaps:fs.size});var wo=async(e,t)=>{try{return await e()}catch(s){return He.warn(`\u26A0\uFE0F Error in ${t.operationName}:`,{error:s}),t.fallbackValue}},HT=e=>!e||e.length===0||e.includes("All services"),VT=(e,t)=>{if(HT(t))return e;let s=new Set((t??[]).map(n=>`AWS::${n}::`));return Object.fromEntries(Object.entries(e).filter(([,n])=>{for(let r of s)if(n.Type.startsWith(r))return!0;return!1}))},KT=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>!t.Type.startsWith("AWS::CDK::"))),ZT=e=>{let{stackName:t,pathToLogicalId:s}=e;return n=>({resourceId:n,friendlyName:s[n]??n,cdkPath:`${t}/${n}`,isGenerated:!1,sources:{cdkInsights:{issues:[]},cdkNag:{issues:[]}}})},Js=(e,t,s)=>{let n=e[t];if(n)return n;let r=s(t);return e[t]=r,r},YT=e=>[...e.sources?.cdkInsights?.issues??[],...e.sources?.cdkNag?.issues??[]],rv=e=>{for(let t of Object.values(e)){for(let s of t.sources?.cdkInsights?.issues??[])if(s.severity==="CRITICAL")return!0;for(let s of t.sources?.cdkNag?.issues??[])if(s.severity==="CRITICAL")return!0}return!1},JT=e=>{for(let[t,s]of Object.entries(e))(s.sources?.cdkInsights?.issues?.length??0)>0||(s.sources?.cdkNag?.issues?.length??0)>0||delete e[t];return e},Ro=(e,t,s,n,r,i,o)=>({resourceId:e,issue:t,recommendation:s,severity:n,wafPillar:r,foundBy:o,constructPath:i}),QT=e=>{let{recommendationMap:t,stackName:s,stackResources:n,manifest:r}=e;try{let i=new Map,o=a=>{let c=i.get(a);if(c)return c;let u=WD(r,a);return i.set(a,u),u};return Object.entries(t).reduce((a,[c,u])=>{let l=u.cdkPath||c,p=o(l),d=n[c]?.Type||"Unknown",f=m=>({...m,...p?.filePath&&{sourceLocation:{filePath:p.filePath,line:p.line||1,column:p.column||1,confidence:p.confidence||"low"}},stackName:s,constructType:d});return a[c]={...u,sources:{cdkInsights:{issues:(u.sources?.cdkInsights?.issues??[]).map(f)},cdkNag:{issues:(u.sources?.cdkNag?.issues??[]).map(f)}}},a},{})}catch(i){return He.warn("\u26A0\uFE0F Could not enrich issues with source location:",{error:i}),t}},XT=e=>{let{authToken:t,fingerprint:s,tier:n,quotaValidation:r}=e,i=!!(t&&s&&n),o=!r||r.canRunStaticAnalysis,a=!r||r.canRunAIAnalysis,c=!!(n&&xr.isFeatureEnabled("aiAnalysis",n));return{hasAuth:i,canRunStatic:o,canRunAI:i&&c&&a,isAiEnabledByTier:c,canRunAIByQuota:a}},ek=async e=>{let{userResources:t,selectedServices:s,constructRegistry:n,canRunStatic:r}=e,i=Object.keys(t).length;return i===0?{}:r?(z.phase1(`Static analysis on ${i} resource${i===1?"":"s"}`),await wo(()=>Promise.resolve(xh({Resources:t},Ro,s||[],n)),{operationName:"static analysis",fallbackValue:{}})??{}):(z.warning("\u26A0\uFE0F Static analysis skipped due to license restrictions"),{})},tk=async e=>{let{stackName:t,userResources:s,inlineFindings:n,pathToLogicalId:r,authToken:i,fingerprint:o,tier:a,noCache:c=!1,cache:u,capabilities:l}=e,p=Object.keys(s).length;if(p===0)return{};if(!l.hasAuth)return{};if(a&&!l.isAiEnabledByTier)return z.comment("\u{1F4A1} AI analysis is available with Pro tier - upgrade for deeper insights"),{};if(!l.canRunAIByQuota&&l.canRunStatic)return z.comment("\u{1F4A1} AI analysis skipped due to trial quota limits - upgrade to Pro for unlimited AI analysis"),{};if(!l.canRunAI)return{};if(!i||!o)return He.warn("AI analysis skipped: missing authToken or fingerprint"),{};z.phase2(`AI analysis on ${p} resource${p===1?"":"s"}`);let d=Kb(),f=PD(Gt,d),m=cy(Wb),g=SD({analyzeResource:f,redactResources:m});return await wo(()=>g({stackName:t,resources:s,authToken:i,existingFindingsMap:n,pathToLogicalId:r,fingerprint:o,noCache:c,cacheConfig:u}),{operationName:"AI analysis",fallbackValue:{}})??{}},sk=e=>{let{recommendationMap:t,ruleFilter:s}=e;if(s.length===0)return t;for(let[n,r]of Object.entries(t)){let i=YT(r),o=au(i,s);if(o.length===0){delete t[n];continue}r.sources||(r.sources={cdkInsights:{issues:[]},cdkNag:{issues:[]}}),r.sources.cdkInsights||(r.sources.cdkInsights={issues:[]}),r.sources.cdkNag||(r.sources.cdkNag={issues:[]}),r.sources.cdkInsights.issues=o.filter(a=>a.foundBy==="cdkInsights"),r.sources.cdkNag.issues=o.filter(a=>a.foundBy==="cdkNag")}return t},nk=async e=>{let{stackName:t,recommendationMap:s,summary:n,tier:r}=e;if(!r||!xr.isFeatureEnabled("githubIntegration",r)){z.warning("GitHub integration is not available for your current tier"),z.comment(Zh("githubIntegration",r??"free","GitHub integration"));return}let i=kD(),o=!!process.env.GITHUB_TOKEN;if(!i&&!o){z.warning("GitHub CLI not found and GITHUB_TOKEN not set. Skipping issue creation."),z.comment("Install GitHub CLI (gh) or set GITHUB_TOKEN environment variable to enable issue creation.");return}z.section("Creating GitHub Issue","\u{1F419}");let a=jn(t,s,n);await wo(()=>ID({stackName:t,issueTitle:`CDK Insights Analysis for ${t}`,issueBody:a,ghCli:i,recommendations:s,summary:n}),{operationName:"creating GitHub issue"})},iv=async({stackName:e,stack:t,selectedServices:s,inlineFindings:n,recommendationMapPerStack:r,pathToLogicalId:i,constructRegistry:o,ruleFilter:a,authToken:c,fingerprint:u,output:l,withIssue:p,tier:d,noCache:f=!1,warnSensitive:m=!1,sensitiveDataDetection:g={},cache:h,quotaValidation:y,manifest:D})=>{let S=t.Resources??{},v=VT(S,s),R=KT(v),k=new Set(Object.keys(R)),_=k.size,x=XT({authToken:c,fingerprint:u,tier:d,quotaValidation:y}),$=ZT({stackName:e,pathToLogicalId:i}),H=r[e]||{},Z=J=>{let ae=$(J),be=H[J];return be?{...ae,...be,sources:ae.sources}:ae},V=x.canRunAI?Object.fromEntries(Object.keys(R).map(J=>[J,Z(J)])):{};for(let J of n)Js(V,J.resourceId,Z).sources.cdkNag.issues.push(J);let q=await ek({userResources:R,selectedServices:s,constructRegistry:o,canRunStatic:x.canRunStatic});for(let[J,ae]of Object.entries(q)){let be=Js(V,J,Z),Ee=ae.issues??[];be.sources.cdkInsights.issues.push(...Ee)}let M=fc(t,Ro,a);for(let[J,ae]of Object.entries(M))Js(V,J,Z).sources.cdkInsights.issues.push(...ae.issues);let I=bi(t,Ro);for(let[J,ae]of Object.entries(I))Js(V,J,Z).sources.cdkInsights.issues.push(...ae.issues);let T=Di(t,Ro);for(let[J,ae]of Object.entries(T))Js(V,J,Z).sources.cdkInsights.issues.push(...ae.issues);let W=Iu(R,{disabled:g.disabled,ignoreProperties:g.ignoreProperties,allowPatterns:g.allowPatterns,strictMode:g.strictMode}),K=R;if(W.hasSkippedResources){let J=W.resourcesWithSensitiveData;z.warning(`\u{1F512} Sensitive data detected in ${J} resource${J===1?"":"s"} - NOT sent to CDK Insights servers`),K=Object.fromEntries(Object.entries(R).filter(([ae])=>!W.skippedResourceIds.includes(ae)));for(let ae of W.detectionResults)if(ae.hasSensitiveData){let be=Js(V,ae.resourceId,Z),Ee=wu(ae,e);be.sources.cdkInsights.issues.push(Ee)}}let pe=await tk({stackName:e,userResources:K,inlineFindings:n,pathToLogicalId:i,authToken:c,fingerprint:u,tier:d,noCache:f,cache:h,capabilities:x});c&&u&&Object.keys(pe).length>0&&z.phase3("Processing results...");let U=Gb({staticRecommendations:{},aiRecommendations:pe,recommendationMap:V,ruleFilter:a,filterIssuesByRule:au});for(let[J,ae]of Object.entries(U.updatedMap)){let be=Js(V,J,Z);be.sources.cdkInsights.issues.push(...Ar({existing:be.sources.cdkInsights.issues,incoming:ae.sources.cdkInsights.issues}))}sk({recommendationMap:V,ruleFilter:a}),JT(V);let B=QT({recommendationMap:V,stackName:e,stackResources:R,manifest:D}),oe=vo(B,_,k),Ae=Object.keys(B).length>0;return r[e]=B,l&&l!=="table"&&Mb(l,e,B,!0,oe),p&&Ae&&await nk({stackName:e,recommendationMap:B,summary:oe,tier:d}),{recommendationMap:B,summary:oe,hasIssues:Ae,scannedResourceCount:_,scannedResourceIds:k,stackName:e,sensitiveDataSummary:W,hasSensitiveData:W.hasSkippedResources}},rk=async({stacks:e,inlineFindings:t,pathToLogicalId:s,output:n,recommendationMapPerStack:r,withIssue:i,services:o,ruleFilter:a=[],authToken:c,fingerprint:u,failOnCritical:l,tier:p,noCache:d=!1,allowOveruse:f=!1,warnSensitive:m=!1,sensitiveDataDetection:g={},cache:h,quotaValidation:y})=>{if(He.info("\u{1F680} Starting CDK Insights analysis",{stackCount:Object.keys(e).length,stackNames:Object.keys(e),hasAuthToken:!!c,hasFingerprint:!!u,tier:p||"unknown",quotaValidation:y?{canRunStaticAnalysis:y.canRunStaticAnalysis,canRunAIAnalysis:y.canRunAIAnalysis,isTrial:y.quota?.isTrial}:null,services:o||["All services"],output:n||"table"}),y&&!y.quota.isTrial&&y.canRunAIAnalysis&&f){let q=y.quota.currentResourcesAnalyzed>=y.quota.maxResources,M=y.quota.wouldExceed;q?(z.warning(`\u26A0\uFE0F You have exceeded your paid allowance (${y.quota.currentResourcesAnalyzed}/${y.quota.maxResources} resources analyzed).`),z.warning(" Proceeding with AI analysis as --allow-overuse is enabled. Extra usage will be charged.")):M&&(z.warning(`\u26A0\uFE0F This analysis will exceed your paid allowance (${y.quota.currentResourcesAnalyzed}/${y.quota.maxResources} resources analyzed).`),z.warning(" Proceeding with AI analysis as --allow-overuse is enabled. Extra usage will be charged."))}let D=$b("cdk.out"),S=await wo(()=>xm(Sm()),{operationName:"loading construct metadata",fallbackValue:{}})??{},v={},R=!1,k=!1,_=0,x=new Set,$=Object.keys(e),H=$.length,Z=q=>{let{stackName:M,map:I}=q;for(let[T,W]of Object.entries(I))v[`${M}:${T}`]=W};if(H>1)await ao.runAnalysis({title:`Deep Analysis of ${H} CDK Stacks`,steps:$.map((q,M)=>({title:`Analyzing stack ${M+1}/${H}: ${q}`,task:async()=>{let I=e[q],T=await iv({stackName:q,stack:I,selectedServices:o,inlineFindings:t,recommendationMapPerStack:r,pathToLogicalId:s,constructRegistry:S,ruleFilter:a,authToken:c,fingerprint:u,output:n,withIssue:i,tier:p,noCache:d,warnSensitive:m,sensitiveDataDetection:g,cache:h,quotaValidation:y,manifest:D});Z({stackName:T.stackName,map:T.recommendationMap}),_+=T.scannedResourceCount;for(let W of T.scannedResourceIds)x.add(`${T.stackName}:${W}`);return!R&&T.hasIssues&&(R=rv(T.recommendationMap)),T.hasSensitiveData&&(k=!0),(n==="summary"||n==="table")&&z.summary(T.summary),T}})),showSummary:!0});else{let[q,M]=Object.entries(e)[0]??[];if(!q||!M)return{recommendationMaps:{},hasCriticalIssues:!1};let I=Object.entries(M.Resources||{}).filter(([,W])=>!W.Type.startsWith("AWS::CDK::")).length;z.analysisStart(q,I);let T=await iv({stackName:q,stack:M,selectedServices:o,inlineFindings:t,recommendationMapPerStack:r,pathToLogicalId:s,constructRegistry:S,ruleFilter:a,authToken:c,fingerprint:u,output:n,withIssue:i,tier:p,noCache:d,warnSensitive:m,sensitiveDataDetection:g,cache:h,quotaValidation:y,manifest:D});Z({stackName:T.stackName,map:T.recommendationMap}),_+=T.scannedResourceCount;for(let W of T.scannedResourceIds)x.add(`${T.stackName}:${W}`);T.hasIssues&&(R=rv(T.recommendationMap)),T.hasSensitiveData&&(k=!0),(n==="summary"||n==="table")&&z.summary(T.summary)}if(Object.keys(v).length>0&&H>1){let q=vo(v,_,x);if(n==="table"||n==="summary")z.section("Overall Analysis Summary","\u{1F4CA}"),Lr("Overall",q),Nr(v);else if(n==="sarif"){let M=Do("consolidated",v),I="consolidated_analysis_report.sarif";ov.writeFileSync(I,JSON.stringify(M,null,2)),z.info(`\u{1F4C4} Consolidated SARIF report written to: ${I}`)}else n==="github-actions"&&bo("consolidated",v,q.severityCounts,_)}else if(n==="table"||n==="summary")if(Object.keys(v).length>0){let q=vo(v,_,x);z.section("Overall Analysis Summary","\u{1F4CA}"),Lr("Overall",q),Nr(v)}else z.success("No issues found across all stacks!");return{recommendationMaps:v,hasCriticalIssues:!!l&&R||k&&!m,hasSensitiveData:k}};0&&(module.exports={CDK_INSIGHTS_ANNOTATION_PREFIX,CDK_INSIGHTS_METADATA_VERSION,CdkInsightsAspect,ExtremelyHelpfulConsoleLogger,clearCaches,createCdkInsightsAspect,createCdkInsightsLogger,createExtremelyHelpfulConsoleLogger,getCacheStats,isCdkDebugEnabled,runAnalysis});
|
|
405
405
|
/*! Bundled license information:
|
|
406
406
|
|
|
407
407
|
mime-db/index.js:
|