@zuplo/graphql 5.1685.0 → 5.1686.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.
Files changed (2) hide show
  1. package/index.minified.js +39 -39
  2. package/package.json +1 -1
package/index.minified.js CHANGED
@@ -22,17 +22,17 @@
22
22
  * DEALINGS IN THE SOFTWARE.
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
- "use strict";var fE=Object.create;var Yn=Object.defineProperty;var mE=Object.getOwnPropertyDescriptor;var yE=Object.getOwnPropertyNames;var gE=Object.getPrototypeOf,bE=Object.prototype.hasOwnProperty;var o=(e,t)=>Yn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Yi=(e,t)=>{for(var r in t)Yn(e,r,{get:t[r],enumerable:!0})},ph=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of yE(t))!bE.call(e,i)&&i!==r&&Yn(e,i,{get:()=>t[i],enumerable:!(n=mE(t,i))||n.enumerable});return e};var hh=(e,t,r)=>(r=e!=null?fE(gE(e)):{},ph(t||!e||!e.__esModule?Yn(r,"default",{value:e,enumerable:!0}):r,e)),Zi=e=>ph(Yn({},"__esModule",{value:!0}),e);var D=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var nu=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=nu;var Zn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=Zn;var iu=class extends Zn{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=iu;var ou=class extends Zn{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=ou});var Y=g(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.Environment=void 0;var _E=D(),su=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new _E.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};Xi.Environment=su});var gh=g(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});var fh=Y();Function.prototype.toString=function(){return"[native code]"};var eo=globalThis,mh=eo.caches;if(mh){let e=mh.open;eo.caches.open=function(t){let r=fh.Environment.instance.deploymentName??fh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete eo.caches.default,Object.freeze(eo.caches)}});var uu=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.MemoryCache=void 0;var EE=1e4,wE=1e3,bh=new Map,au=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+EE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},cu=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:wE}){this.name=t;let n=bh.get(t);n||(n=new au(r),bh.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};to.MemoryCache=cu});var no=g(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.ZoneCache=void 0;var lu="__zuplo-expiry-header",du=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(lu);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(lu,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(lu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};ro.ZoneCache=du});var Kt=g(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.MemoryZoneReadThroughCache=void 0;var vE=uu(),TE=no(),pu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new vE.MemoryCache(n),this.#r=new TE.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};io.MemoryZoneReadThroughCache=pu});var Xn=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Ah=g(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var _h=!0,hu=!_h;function SE(e){_h||(hu=e)}o(SE,"setColorEnabled");v.setColorEnabled=SE;function IE(){return hu}o(IE,"getColorEnabled");v.getColorEnabled=IE;function q(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(q,"code");function $(e,t){return hu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o($,"run");function PE(e){return $(e,q([0],0))}o(PE,"reset");v.reset=PE;function AE(e){return $(e,q([1],22))}o(AE,"bold");v.bold=AE;function RE(e){return $(e,q([2],22))}o(RE,"dim");v.dim=RE;function OE(e){return $(e,q([3],23))}o(OE,"italic");v.italic=OE;function xE(e){return $(e,q([4],24))}o(xE,"underline");v.underline=xE;function NE(e){return $(e,q([7],27))}o(NE,"inverse");v.inverse=NE;function CE(e){return $(e,q([8],28))}o(CE,"hidden");v.hidden=CE;function LE(e){return $(e,q([9],29))}o(LE,"strikethrough");v.strikethrough=LE;function DE(e){return $(e,q([30],39))}o(DE,"black");v.black=DE;function Eh(e){return $(e,q([31],39))}o(Eh,"red");v.red=Eh;function wh(e){return $(e,q([32],39))}o(wh,"green");v.green=wh;function vh(e){return $(e,q([33],39))}o(vh,"yellow");v.yellow=vh;function Th(e){return $(e,q([34],39))}o(Th,"blue");v.blue=Th;function Sh(e){return $(e,q([35],39))}o(Sh,"magenta");v.magenta=Sh;function Ih(e){return $(e,q([36],39))}o(Ih,"cyan");v.cyan=Ih;function UE(e){return $(e,q([37],39))}o(UE,"white");v.white=UE;function ME(e){return Ph(e)}o(ME,"gray");v.gray=ME;function Ph(e){return $(e,q([90],39))}o(Ph,"brightBlack");v.brightBlack=Ph;function kE(e){return $(e,q([91],39))}o(kE,"brightRed");v.brightRed=kE;function HE(e){return $(e,q([92],39))}o(HE,"brightGreen");v.brightGreen=HE;function FE(e){return $(e,q([93],39))}o(FE,"brightYellow");v.brightYellow=FE;function qE(e){return $(e,q([94],39))}o(qE,"brightBlue");v.brightBlue=qE;function $E(e){return $(e,q([95],39))}o($E,"brightMagenta");v.brightMagenta=$E;function jE(e){return $(e,q([96],39))}o(jE,"brightCyan");v.brightCyan=jE;function VE(e){return $(e,q([97],39))}o(VE,"brightWhite");v.brightWhite=VE;function GE(e){return $(e,q([40],49))}o(GE,"bgBlack");v.bgBlack=GE;function BE(e){return $(e,q([41],49))}o(BE,"bgRed");v.bgRed=BE;function KE(e){return $(e,q([42],49))}o(KE,"bgGreen");v.bgGreen=KE;function JE(e){return $(e,q([43],49))}o(JE,"bgYellow");v.bgYellow=JE;function zE(e){return $(e,q([44],49))}o(zE,"bgBlue");v.bgBlue=zE;function WE(e){return $(e,q([45],49))}o(WE,"bgMagenta");v.bgMagenta=WE;function QE(e){return $(e,q([46],49))}o(QE,"bgCyan");v.bgCyan=QE;function YE(e){return $(e,q([47],49))}o(YE,"bgWhite");v.bgWhite=YE;function ZE(e){return $(e,q([100],49))}o(ZE,"bgBrightBlack");v.bgBrightBlack=ZE;function XE(e){return $(e,q([101],49))}o(XE,"bgBrightRed");v.bgBrightRed=XE;function ew(e){return $(e,q([102],49))}o(ew,"bgBrightGreen");v.bgBrightGreen=ew;function tw(e){return $(e,q([103],49))}o(tw,"bgBrightYellow");v.bgBrightYellow=tw;function rw(e){return $(e,q([104],49))}o(rw,"bgBrightBlue");v.bgBrightBlue=rw;function nw(e){return $(e,q([105],49))}o(nw,"bgBrightMagenta");v.bgBrightMagenta=nw;function iw(e){return $(e,q([106],49))}o(iw,"bgBrightCyan");v.bgBrightCyan=iw;function ow(e){return $(e,q([107],49))}o(ow,"bgBrightWhite");v.bgBrightWhite=ow;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(Jt,"clampAndTruncate");function sw(e,t){return $(e,q([38,5,Jt(t)],39))}o(sw,"rgb8");v.rgb8=sw;function aw(e,t){return $(e,q([48,5,Jt(t)],49))}o(aw,"bgRgb8");v.bgRgb8=aw;function cw(e,t){return typeof t=="number"?$(e,q([38,2,t>>16&255,t>>8&255,t&255],39)):$(e,q([38,2,Jt(t.r),Jt(t.g),Jt(t.b)],39))}o(cw,"rgb24");v.rgb24=cw;function uw(e,t){return typeof t=="number"?$(e,q([48,2,t>>16&255,t>>8&255,t&255],49)):$(e,q([48,2,Jt(t.r),Jt(t.g),Jt(t.b)],49))}o(uw,"bgRgb24");v.bgRgb24=uw;var lw=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function dw(e){return e.replace(lw,"")}o(dw,"stripColor");v.stripColor=dw;v.colorFunctions=[Eh,wh,vh,Th,Sh,Ih];function pw(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(pw,"hashCode");function hw(e){let t=Math.abs(pw(e));return v.colorFunctions[t%v.colorFunctions.length]}o(hw,"generateColor");v.generateColor=hw});var Rh=g(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.format=void 0;function fw(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
26
- `).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(fw,"format");oo.format=fw});var Dh=g(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.inspect=void 0;function vr(e,t,r,n){let i={seen:[],stylize:mw,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=gw),so(i,e,i.depth)}o(vr,"inspect");ao.inspect=vr;vr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};vr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function mw(e,t){return e}o(mw,"stylizeNoColor");function yw(e){return typeof e=="boolean"}o(yw,"isBoolean");function xh(e){return e===void 0}o(xh,"isUndefined");function gw(e,t){let r=vr.styles[t];return r?"\x1B["+vr.colors[r][0]+"m"+e+"\x1B["+vr.colors[r][1]+"m":e}o(gw,"stylizeWithColor");function fu(e){return typeof e=="function"}o(fu,"isFunction");function Nh(e){return typeof e=="string"}o(Nh,"isString");function bw(e){return typeof e=="number"}o(bw,"isNumber");function Ch(e){return e===null}o(Ch,"isNull");function Lh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Lh,"hasOwn");function mu(e){return _u(e)&&Eu(e)==="[object RegExp]"}o(mu,"isRegExp");function _u(e){return typeof e=="object"&&e!==null}o(_u,"isObject");function yu(e){return _u(e)&&(Eu(e)==="[object Error]"||e instanceof Error)}o(yu,"isError");function Oh(e){return _u(e)&&Eu(e)==="[object Date]"}o(Oh,"isDate");function Eu(e){return Object.prototype.toString.call(e)}o(Eu,"objectToString");function _w(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(_w,"arrayToHash");function Ew(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)Lh(t,String(a))?s.push(bu(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(bu(e,t,r,n,a,!0))}),s}o(Ew,"formatArray");function gu(e){return"["+Error.prototype.toString.call(e)+"]"}o(gu,"formatError");function so(e,t,r){if(e.customInspect&&t&&fu(t.inspect)&&t.inspect!==vr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Nh(d)||(d=so(e,d,r)),d}let n=ww(e,t);if(n)return n;let i=Object.keys(t),s=_w(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(yu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return gu(t);if(i.length===0){if(fu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(mu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Oh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(yu(t))return gu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),fu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),mu(t)&&(a=" "+RegExp.prototype.toString.call(t)),Oh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),yu(t)&&(a=" "+gu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return mu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=Ew(e,t,r,s,i):l=i.map(function(d){return bu(e,t,r,s,d,c)}),e.seen.pop(),vw(l,a,u)}o(so,"formatValue");function bu(e,t,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),Lh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(Ch(r)?c=so(e,u.value,null):c=so(e,u.value,r-1),c.indexOf(`
27
- `)>-1&&(s?c=c.split(`
25
+ "use strict";var mE=Object.create;var Yn=Object.defineProperty;var yE=Object.getOwnPropertyDescriptor;var gE=Object.getOwnPropertyNames;var bE=Object.getPrototypeOf,_E=Object.prototype.hasOwnProperty;var s=(e,t)=>Yn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Yi=(e,t)=>{for(var r in t)Yn(e,r,{get:t[r],enumerable:!0})},ph=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of gE(t))!_E.call(e,i)&&i!==r&&Yn(e,i,{get:()=>t[i],enumerable:!(n=yE(t,i))||n.enumerable});return e};var hh=(e,t,r)=>(r=e!=null?mE(bE(e)):{},ph(t||!e||!e.__esModule?Yn(r,"default",{value:e,enumerable:!0}):r,e)),Zi=e=>ph(Yn({},"__esModule",{value:!0}),e);var L=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var nu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=nu;var Zn=class extends Error{static{s(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=Zn;var iu=class extends Zn{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=iu;var ou=class extends Zn{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=ou});var Y=g(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.Environment=void 0;var EE=L(),su=class e{static{s(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new EE.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};Xi.Environment=su});var gh=g(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});var fh=Y();Function.prototype.toString=function(){return"[native code]"};var eo=globalThis,mh=eo.caches;if(mh){let e=mh.open;eo.caches.open=function(t){let r=fh.Environment.instance.deploymentName??fh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete eo.caches.default,Object.freeze(eo.caches)}});var uu=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.MemoryCache=void 0;var wE=1e4,vE=1e3,bh=new Map,au=class{static{s(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),o={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,o)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+wE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},cu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:vE}){this.name=t;let n=bh.get(t);n||(n=new au(r),bh.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};to.MemoryCache=cu});var no=g(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.ZoneCache=void 0;var lu="__zuplo-expiry-header",du=class{static{s(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let o=i.headers.get(lu);if(!o){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(o);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(lu,`${Date.now()+n*1e3}`);let o=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await o.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(lu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),o=new Response("",{headers:r});await n.put(i,o)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};ro.ZoneCache=du});var Jt=g(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.MemoryZoneReadThroughCache=void 0;var TE=uu(),SE=no(),pu=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new TE.MemoryCache(n),this.#r=new SE.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(o=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,o):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,o)})}};io.MemoryZoneReadThroughCache=pu});var Xn=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Ah=g(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var _h=!0,hu=!_h;function IE(e){_h||(hu=e)}s(IE,"setColorEnabled");v.setColorEnabled=IE;function PE(){return hu}s(PE,"getColorEnabled");v.getColorEnabled=PE;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}s(F,"code");function q(e,t){return hu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function AE(e){return q(e,F([0],0))}s(AE,"reset");v.reset=AE;function RE(e){return q(e,F([1],22))}s(RE,"bold");v.bold=RE;function OE(e){return q(e,F([2],22))}s(OE,"dim");v.dim=OE;function xE(e){return q(e,F([3],23))}s(xE,"italic");v.italic=xE;function NE(e){return q(e,F([4],24))}s(NE,"underline");v.underline=NE;function CE(e){return q(e,F([7],27))}s(CE,"inverse");v.inverse=CE;function LE(e){return q(e,F([8],28))}s(LE,"hidden");v.hidden=LE;function DE(e){return q(e,F([9],29))}s(DE,"strikethrough");v.strikethrough=DE;function UE(e){return q(e,F([30],39))}s(UE,"black");v.black=UE;function Eh(e){return q(e,F([31],39))}s(Eh,"red");v.red=Eh;function wh(e){return q(e,F([32],39))}s(wh,"green");v.green=wh;function vh(e){return q(e,F([33],39))}s(vh,"yellow");v.yellow=vh;function Th(e){return q(e,F([34],39))}s(Th,"blue");v.blue=Th;function Sh(e){return q(e,F([35],39))}s(Sh,"magenta");v.magenta=Sh;function Ih(e){return q(e,F([36],39))}s(Ih,"cyan");v.cyan=Ih;function kE(e){return q(e,F([37],39))}s(kE,"white");v.white=kE;function ME(e){return Ph(e)}s(ME,"gray");v.gray=ME;function Ph(e){return q(e,F([90],39))}s(Ph,"brightBlack");v.brightBlack=Ph;function HE(e){return q(e,F([91],39))}s(HE,"brightRed");v.brightRed=HE;function FE(e){return q(e,F([92],39))}s(FE,"brightGreen");v.brightGreen=FE;function qE(e){return q(e,F([93],39))}s(qE,"brightYellow");v.brightYellow=qE;function $E(e){return q(e,F([94],39))}s($E,"brightBlue");v.brightBlue=$E;function jE(e){return q(e,F([95],39))}s(jE,"brightMagenta");v.brightMagenta=jE;function VE(e){return q(e,F([96],39))}s(VE,"brightCyan");v.brightCyan=VE;function GE(e){return q(e,F([97],39))}s(GE,"brightWhite");v.brightWhite=GE;function BE(e){return q(e,F([40],49))}s(BE,"bgBlack");v.bgBlack=BE;function KE(e){return q(e,F([41],49))}s(KE,"bgRed");v.bgRed=KE;function JE(e){return q(e,F([42],49))}s(JE,"bgGreen");v.bgGreen=JE;function zE(e){return q(e,F([43],49))}s(zE,"bgYellow");v.bgYellow=zE;function WE(e){return q(e,F([44],49))}s(WE,"bgBlue");v.bgBlue=WE;function QE(e){return q(e,F([45],49))}s(QE,"bgMagenta");v.bgMagenta=QE;function YE(e){return q(e,F([46],49))}s(YE,"bgCyan");v.bgCyan=YE;function ZE(e){return q(e,F([47],49))}s(ZE,"bgWhite");v.bgWhite=ZE;function XE(e){return q(e,F([100],49))}s(XE,"bgBrightBlack");v.bgBrightBlack=XE;function ew(e){return q(e,F([101],49))}s(ew,"bgBrightRed");v.bgBrightRed=ew;function tw(e){return q(e,F([102],49))}s(tw,"bgBrightGreen");v.bgBrightGreen=tw;function rw(e){return q(e,F([103],49))}s(rw,"bgBrightYellow");v.bgBrightYellow=rw;function nw(e){return q(e,F([104],49))}s(nw,"bgBrightBlue");v.bgBrightBlue=nw;function iw(e){return q(e,F([105],49))}s(iw,"bgBrightMagenta");v.bgBrightMagenta=iw;function ow(e){return q(e,F([106],49))}s(ow,"bgBrightCyan");v.bgBrightCyan=ow;function sw(e){return q(e,F([107],49))}s(sw,"bgBrightWhite");v.bgBrightWhite=sw;function zt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(zt,"clampAndTruncate");function aw(e,t){return q(e,F([38,5,zt(t)],39))}s(aw,"rgb8");v.rgb8=aw;function cw(e,t){return q(e,F([48,5,zt(t)],49))}s(cw,"bgRgb8");v.bgRgb8=cw;function uw(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,zt(t.r),zt(t.g),zt(t.b)],39))}s(uw,"rgb24");v.rgb24=uw;function lw(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,zt(t.r),zt(t.g),zt(t.b)],49))}s(lw,"bgRgb24");v.bgRgb24=lw;var dw=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function pw(e){return e.replace(dw,"")}s(pw,"stripColor");v.stripColor=pw;v.colorFunctions=[Eh,wh,vh,Th,Sh,Ih];function hw(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}s(hw,"hashCode");function fw(e){let t=Math.abs(hw(e));return v.colorFunctions[t%v.colorFunctions.length]}s(fw,"generateColor");v.generateColor=fw});var Rh=g(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.format=void 0;function mw(e,t,...r){let n=0,i=r.length,o=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
26
+ `).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?o+=" "+a:o+=" "+e(a);return o}s(mw,"format");oo.format=mw});var Dh=g(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.inspect=void 0;function Tr(e,t,r,n){let i={seen:[],stylize:yw,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=bw),so(i,e,i.depth)}s(Tr,"inspect");ao.inspect=Tr;Tr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};Tr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function yw(e,t){return e}s(yw,"stylizeNoColor");function gw(e){return typeof e=="boolean"}s(gw,"isBoolean");function xh(e){return e===void 0}s(xh,"isUndefined");function bw(e,t){let r=Tr.styles[t];return r?"\x1B["+Tr.colors[r][0]+"m"+e+"\x1B["+Tr.colors[r][1]+"m":e}s(bw,"stylizeWithColor");function fu(e){return typeof e=="function"}s(fu,"isFunction");function Nh(e){return typeof e=="string"}s(Nh,"isString");function _w(e){return typeof e=="number"}s(_w,"isNumber");function Ch(e){return e===null}s(Ch,"isNull");function Lh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(Lh,"hasOwn");function mu(e){return _u(e)&&Eu(e)==="[object RegExp]"}s(mu,"isRegExp");function _u(e){return typeof e=="object"&&e!==null}s(_u,"isObject");function yu(e){return _u(e)&&(Eu(e)==="[object Error]"||e instanceof Error)}s(yu,"isError");function Oh(e){return _u(e)&&Eu(e)==="[object Date]"}s(Oh,"isDate");function Eu(e){return Object.prototype.toString.call(e)}s(Eu,"objectToString");function Ew(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}s(Ew,"arrayToHash");function ww(e,t,r,n,i){let o=[];for(let a=0,c=t.length;a<c;++a)Lh(t,String(a))?o.push(bu(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(a){a.match(/^\d+$/)||o.push(bu(e,t,r,n,a,!0))}),o}s(ww,"formatArray");function gu(e){return"["+Error.prototype.toString.call(e)+"]"}s(gu,"formatError");function so(e,t,r){if(e.customInspect&&t&&fu(t.inspect)&&t.inspect!==Tr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Nh(d)||(d=so(e,d,r)),d}let n=vw(e,t);if(n)return n;let i=Object.keys(t),o=Ew(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(yu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return gu(t);if(i.length===0){if(fu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(mu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Oh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(yu(t))return gu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),fu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),mu(t)&&(a=" "+RegExp.prototype.toString.call(t)),Oh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),yu(t)&&(a=" "+gu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return mu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=ww(e,t,r,o,i):l=i.map(function(d){return bu(e,t,r,o,d,c)}),e.seen.pop(),Tw(l,a,u)}s(so,"formatValue");function bu(e,t,r,n,i,o){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),Lh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(Ch(r)?c=so(e,u.value,null):c=so(e,u.value,r-1),c.indexOf(`
27
+ `)>-1&&(o?c=c.split(`
28
28
  `).map(function(l){return" "+l}).join(`
29
29
  `).substr(2):c=`
30
30
  `+c.split(`
31
31
  `).map(function(l){return" "+l}).join(`
32
- `))):c=e.stylize("[Circular]","special")),xh(a)){if(s&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}o(bu,"formatProperty");function ww(e,t){if(xh(t))return e.stylize("undefined","undefined");if(Nh(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(bw(t))return e.stylize(""+t,"number");if(yw(t))return e.stylize(""+t,"boolean");if(Ch(t))return e.stylize("null","null")}o(ww,"formatPrimitive");function vw(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
33
- `)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
32
+ `))):c=e.stylize("[Circular]","special")),xh(a)){if(o&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}s(bu,"formatProperty");function vw(e,t){if(xh(t))return e.stylize("undefined","undefined");if(Nh(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(_w(t))return e.stylize(""+t,"number");if(gw(t))return e.stylize(""+t,"boolean");if(Ch(t))return e.stylize("null","null")}s(vw,"formatPrimitive");function Tw(e,t,r){let n=0;return e.reduce(function(o,a){return n++,a.indexOf(`
33
+ `)>=0&&n++,o+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
34
34
  `)+" "+e.join(`,
35
- `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(vw,"reduceToSingleString")});var Uh=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.format=void 0;var Tw=Rh(),Sw=Dh(),Iw=o((e,...t)=>(0,Tw.format)(Sw.inspect,e,t),"format");co.format=Iw});var Tr=g(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var Pw=Ah(),Aw=Uh(),uo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,Pw.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,Aw.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};zt.Debugger=uo;var lo=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Mh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(Mh,"extract");var ei;function Rw(e){e||(e=[]),typeof e=="string"&&(e=Mh(e)),ei=new lo(e)}o(Rw,"withoutEnv");zt.withoutEnv=Rw;function Ow(e){let t=globalThis.DEBUG;ei||(ei=new lo(Mh(t)));let r=new uo(ei,e);return ei.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(Ow,"debug");zt.debug=Ow});var ho=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ProblemResponseFormatter=Vr.InternalProblemResponseFormatter=void 0;var xw=D(),po=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new xw.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Vr.InternalProblemResponseFormatter=po;var wu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await po.problemResponseFormat(t,r,n)}};Vr.ProblemResponseFormatter=wu});var Hh=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.deepFreeze=void 0;function kh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&kh(r)}return Object.freeze(e)}o(kh,"deepFreeze");fo.deepFreeze=kh});var He=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.ZuploRequest=void 0;var Fh=Hh(),vu=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,Fh.deepFreeze)(this.#e)}get params(){return(0,Fh.deepFreeze)(this.#t)}user};mo.ZuploRequest=vu});var yt=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var qh=D(),Nw=ho(),Cw=He(),go=class{static{o(this,"RuntimePlugin")}};ye.RuntimePlugin=go;var bo=class extends go{static{o(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=bo;ye.runtimeExtensions={};var Tu=[];ye.plugins=Tu;var $h=[],jh=[],Vh=[],yo={addPlugin(e){Tu.push(e)},addRequestHook(e){$h.push(e)},addResponseSendingHook(e){jh.push(e)},addResponseSendingFinalHook(e){Vh.push(e)}},Lw=o(async(e,t)=>{let r=e;for(let n of $h){let i=await n(r,t);if(i instanceof Cw.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new qh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Lw;var Dw=o(async(e,t,r)=>{let n=e;for(let i of jh){let s=await i(e,t,r);if(s instanceof Response)n=s;else throw new qh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Dw;var Uw=o(async(e,t,r)=>{for(let n of Vh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Uw;async function Mw(e=()=>Promise.resolve()){await e(yo),ye.runtimeExtensions.value=yo;for(let t of Tu)t instanceof bo&&await t.initialize(yo);Nw.InternalProblemResponseFormatter.setProblemResponseFormat(yo.problemResponseFormat)}o(Mw,"initializeRuntime");ye.initializeRuntime=Mw});var Su=g(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serialize=Wt.ContentTypes=void 0;Wt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function kw(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(kw,"serialize");Wt.serialize=kw});var Nt=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.Pipeline=void 0;var Iu=Sr(),Gh=yt(),Hw=Su(),Pu=class{static{o(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:t,gateway:r,handler:n})=>async(i,s)=>{let a=[...t],c=o(async y=>{let w=a.pop();return w?w(i,s,r,c):await this.#e(async S=>{let L=await n(S,s);return Fw(L)},r)(y,s)},"nextPipe"),l=await c(i),d=new Iu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=Iu.ZuploContextExtensions.getContextExtensions(s),m=p.latestRequest,h;try{h=await d.mutableResponse}catch(y){return s.log.error(y),r.errorHandler(i,s,y)}try{h=await p.onResponseSending(h,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,s,y)}try{h=await(0,Gh.invokeOnResponseSendingExtensions)(h,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,s,y)}s.dispatchEvent(new Iu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,Gh.invokeOnResponseSendingFinalExtensions)(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return h}};_o.Pipeline=Pu;function Fw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Hw.serialize)(e),{headers:{"content-type":"application/json"}})}o(Fw,"resultToResponse")});var wo=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.MetricsPlugin=void 0;var qw=yt(),Au=class extends qw.RuntimePlugin{static{o(this,"MetricsPlugin")}};Eo.MetricsPlugin=Au});var Le=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.SystemLogMap=void 0;var $w=D(),Ru=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new $w.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};vo.SystemLogMap=Ru});var ve=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.BatchDispatch=void 0;var Ou=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};To.BatchDispatch=Ou});var Kh=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.EllieMetricsTransport=void 0;var Bh=Le(),jw=ve(),So=Y(),xu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=So.Environment.instance.loggingId,this.#e=t,this.#t=new jw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Bh.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=So.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":So.Environment.instance.deploymentName??"unknown","user-agent":So.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Bh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Io.EllieMetricsTransport=xu});var ot=g(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.systemNoVersion=Ir.SystemRouteConfiguration=void 0;var Nu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Ir.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Ir.SystemRouteConfiguration=Nu;Ir.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.metricsProcessor=void 0;var Jh=Xn(),Vw=Sr(),Gw=yt(),Bw=wo(),Kw=Kh(),Jw=ot(),zw=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(Jh.RAY_ID_HEADER)??void 0,u=e.headers.get(Jh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof Jw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Vw.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new Kw.EllieMetricsTransport(t)),Gw.plugins.forEach(y=>{if(y instanceof Bw.MetricsPlugin){let w=y.getTransport();h.push(w)}}),h.forEach(y=>{y.pushMetrics(m,t)}),a},"metricsProcessor");Po.metricsProcessor=zw});var Cu=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.SystemRouteName=void 0;var zh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(zh||(Ao.SystemRouteName=zh={}))});var Qh=g(Wh=>{"use strict";Object.defineProperty(Wh,"__esModule",{value:!0})});var Pr=g(Yt=>{"use strict";var Ww=Yt&&Yt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Yh=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Ww(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});Yh(Cu(),Yt);Yh(Qh(),Yt)});var Zh=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.registerBuildRoute=void 0;var Qw=Ct(),Yw=Nt(),Zw=Qt(),Xw=Pr(),ev=ot(),tv=Le(),rv=Y(),nv=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return Qw.HttpProblems.notFound(s,a);let l=rv.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&tv.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new Yw.Pipeline({processors:[Zw.metricsProcessor],handler:r,gateway:t}),i=new ev.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Xw.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Ro.registerBuildRoute=nv});var Lu=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.HTTP_STATUS_TITLES=Gr.HttpStatusCode=void 0;var Xh;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Xh||(Gr.HttpStatusCode=Xh={}));Gr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var Uu=g(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var iv={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};Du.default=iv});var se=g(Br=>{"use strict";var ov=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,"__esModule",{value:!0});Br.HttpProblems=void 0;var sv=Xn(),O=Lu(),av=ov(Uu()),cv=Y(),Mu=ho();function uv(e){return`${new URL(e.url).pathname}`}o(uv,"instance");function lv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:cv.Environment.instance.build.BUILD_ID},n=e.headers.get(sv.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(lv,"trace");var dv=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:uv(t),trace:lv(t,r),...n},additionalHeaders:i,statusText:av.default[e.status]}),"merge"),ku=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Mu.ProblemResponseFormatter.format(t,r,n):Mu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:O.HTTP_STATUS_TITLES[t],...r}}},Hu=class extends ku{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=dv(this.getProblemFromStatus(t),r,n,i,s);return Mu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(O.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Br.HttpProblems=Hu});var Lt=g(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.isErrorLike=M.withUndefinedAsNull=M.withNullAsUndefined=M.validateConstraint=M.validateConstraints=M.areFunctions=M.isFunction=M.isEmptyObject=M.assertAllDefined=M.assertIsDefined=M.assertType=M.isUndefinedOrNull=M.isDefined=M.isUndefined=M.isBoolean=M.isIterable=M.isNumber=M.isTypedArray=M.isArray=M.isObject=M.getOwnEnumerableKeys=M.isRegexp=M.isStringArray=M.isNonEmptyString=M.isString=M.toString=void 0;var{toString:pv}=Object.prototype,{propertyIsEnumerable:hv}=Object.prototype;function ef(e){return pv.call(e)}o(ef,"toString");M.toString=ef;function Oo(e){return typeof e=="string"}o(Oo,"isString");M.isString=Oo;function fv(e){return Oo(e)&&e!==""}o(fv,"isNonEmptyString");M.isNonEmptyString=fv;function mv(e){return Array.isArray(e)&&e.every(t=>Oo(t))}o(mv,"isStringArray");M.isStringArray=mv;function yv(e){return ef(e)==="[object RegExp]"}o(yv,"isRegexp");M.isRegexp=yv;function gv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>hv.call(e,t))]}o(gv,"getOwnEnumerableKeys");M.getOwnEnumerableKeys=gv;function Fu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(Fu,"isObject");M.isObject=Fu;function bv(e){return Fu(e)&&Array.isArray(e)}o(bv,"isArray");M.isArray=bv;function _v(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(_v,"isTypedArray");M.isTypedArray=_v;function Ev(e){return typeof e=="number"&&!isNaN(e)}o(Ev,"isNumber");M.isNumber=Ev;function wv(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(wv,"isIterable");M.isIterable=wv;function vv(e){return e===!0||e===!1}o(vv,"isBoolean");M.isBoolean=vv;function tf(e){return typeof e>"u"}o(tf,"isUndefined");M.isUndefined=tf;function Tv(e){return!ti(e)}o(Tv,"isDefined");M.isDefined=Tv;function ti(e){return tf(e)||e===null}o(ti,"isUndefinedOrNull");M.isUndefinedOrNull=ti;function Sv(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(Sv,"assertType");M.assertType=Sv;function Iv(e){if(ti(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(Iv,"assertIsDefined");M.assertIsDefined=Iv;function Pv(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ti(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(Pv,"assertAllDefined");M.assertAllDefined=Pv;var Av=Object.prototype.hasOwnProperty;function Rv(e){if(!Fu(e))return!1;for(let t in e)if(Av.call(e,t))return!1;return!0}o(Rv,"isEmptyObject");M.isEmptyObject=Rv;function qu(e){return typeof e=="function"}o(qu,"isFunction");M.isFunction=qu;function Ov(...e){return e.length>0&&e.every(qu)}o(Ov,"areFunctions");M.areFunctions=Ov;function xv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)rf(e[n],t[n])}o(xv,"validateConstraints");M.validateConstraints=xv;function rf(e,t){if(Oo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(qu(t)){try{if(e instanceof t)return}catch{}if(!ti(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(rf,"validateConstraint");M.validateConstraint=rf;function Nv(e){return e===null?void 0:e}o(Nv,"withNullAsUndefined");M.withNullAsUndefined=Nv;function Cv(e){return typeof e>"u"?null:e}o(Cv,"withUndefinedAsNull");M.withUndefinedAsNull=Cv;function Lv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(Lv,"isErrorLike");M.isErrorLike=Lv});var ri=g(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.parseValueToBoolean=gt.parseValueToStringArray=gt.getValueFromRequestUser=gt.statusCodesStringToNumberArray=void 0;var Kr=D(),$u=Lt(),nf=new Map;function Dv(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=nf.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return nf.set(e,n),n}o(Dv,"statusCodesStringToNumberArray");gt.statusCodesStringToNumberArray=Dv;function Uv(e,t,r){if(!t.startsWith("."))throw new Kr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new Kr.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(Uv,"getValueFromRequestUser");gt.getValueFromRequestUser=Uv;function Mv(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Kr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,$u.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Kr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(Mv,"parseValueToStringArray");gt.parseValueToStringArray=Mv;function kv(e){if((0,$u.isBoolean)(e))return e;if((0,$u.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Kr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Kr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(kv,"parseValueToBoolean");gt.parseValueToBoolean=kv});var No=g(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Ar=D(),of=ri(),xo=Lt();function Hv(e){if(e==null)return[];if(!Array.isArray(e))throw new Ar.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,xo.isObject)(r))throw new Ar.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,xo.isNonEmptyString)(r.name))throw new Ar.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,xo.isNumber)(r.maxAge))throw new Ar.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,xo.isBoolean)(r.allowCredentials))throw new Ar.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=ju(r,"allowedHeaders"),i=ju(r,"allowedMethods"),s=ju(r,"exposeHeaders"),a;try{a=(0,of.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Ar.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(Hv,"parseCorsPolicies");Zt.parseCorsPolicies=Hv;function ju(e,t){let r;if(e[t]!==void 0)try{r=(0,of.parseValueToStringArray)(e[t])}catch(n){throw new Ar.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(ju,"parseOptionalProperty");var Fv=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=Fv;var qv=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Zt.generateCorsHeaders=qv});var af=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.registerCorsRoute=void 0;var $v=D(),jv=Nt(),Vu=se(),Vv=Qt(),Gv=Pr(),Bv=ot(),sf=No(),Kv=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Vu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return Vu.HttpProblems.notFound(a,c);let h=m.routeConfiguration,y=Jv(l,d,p,h,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):(y.error&&c.log.warn(y.error),Vu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new jv.Pipeline({processors:[Vv.metricsProcessor],handler:n,gateway:t}),s=new Bv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Gv.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");Co.registerCorsRoute=Kv;var Jv=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new $v.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,sf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,sf.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var cf=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.registerNoRoutes=void 0;var zv=Nt(),Wv=Qt(),Qv=Pr(),Yv=ot(),Zv=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new zv.Pipeline({processors:[Wv.metricsProcessor],handler:r,gateway:t}),i=new Yv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Qv.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Lo.registerNoRoutes=Zv});var uf=g(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.registerNotMatchedHandler=Rr.notFoundRouteConfiguration=void 0;var Xv=Sr(),eT=yt(),tT=Nt(),rT=se(),nT=Qt(),iT=Pr(),oT=ot();Rr.notFoundRouteConfiguration=new oT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:iT.SystemRouteName.UnmatchedPath});var sT=o((e,t)=>{let r=o(async(i,s)=>{let a=eT.runtimeExtensions.value?.notFoundHandler;if(a){let c=Xv.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return rT.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new tT.Pipeline({processors:[nT.metricsProcessor],handler:r,gateway:t});e.addRoute(Rr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Rr.registerNotMatchedHandler=sT});var Gu=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.corsProcessor=void 0;var pf=D(),lf=No(),aT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],df=o(e=>{aT.forEach(t=>e.delete(t))},"stripCorsHeaders"),cT=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return df(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new pf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=uT(i,r.routeData.corsPolicies),c=lT(e,a),u=new Headers(s.headers);return df(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");Do.corsProcessor=cT;var uT=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new pf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),lT=o((e,t)=>{let r=(0,lf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,lf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var hf=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.registerPingRoute=void 0;var dT=Nt(),pT=Gu(),hT=Pr(),fT=ot(),mT=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new dT.Pipeline({processors:[pT.corsProcessor],handler:r,gateway:t}),i=new fT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:hT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Uo.registerPingRoute=mT});var zr=g(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var yT=Sr(),Jr=D(),ff=He(),gT=Y();function mf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(s=>{let a=t?.find(u=>u.name===s);if(!a)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(mf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=mf;function bT(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(bT,"getOutboundPolicyHandlerAndOptions");var _T=o(e=>async(t,r)=>{let n=yT.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof ff.ZuploRequest)s=c;else if(c instanceof Request)s=new ff.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");st.toStackedInboundHandler=_T;var ET=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),wT=o(async(e,t,r,n)=>{let i=mf(t.route,r.routeData.policies),s=bT(t.route,r.routeData.policies);return yf({request:e,context:t,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");st.policyProcessor=wT;function vT({inboundPolicies:e=[],outboundPolicies:t=[]}){return o(async(n,i,s,a)=>yf({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:s,next:a}),"policyProcessor")}o(vT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=vT;async function yf({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,st.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await s(c),l=ET(n),d;return gT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}o(yf,"executePolicyProcessor")});var gf=g(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.serialize=Wr.parse=void 0;var TT=Object.prototype.toString,Mo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function ST(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||PT,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=OT(l,i)}s=c+1}return r}o(ST,"parse");Wr.parse=ST;function IT(e,t,r){let n=r||{},i=n.encode||AT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Mo.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Mo.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Mo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Mo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!RT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(IT,"serialize");Wr.serialize=IT;function PT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(PT,"decode");function AT(e){return encodeURIComponent(e)}o(AT,"encode");function RT(e){return TT.call(e)==="[object Date]"||e instanceof Date}o(RT,"isDate");function OT(e,t){try{return t(e)}catch{return e}}o(OT,"tryDecode")});var bf=g(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.devPortalBaseURL=void 0;var xT=gf();function NT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,xT.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(NT,"devPortalBaseURL");ko.devPortalBaseURL=NT});var Tf=g(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.registerDevPortalLegacyRedirectRoute=Qr.registerDevPortalV3Route=void 0;var Bu=Ct(),Ef=Nt(),wf=Qt(),CT=zr(),vf=ot(),LT=bf(),Xt=Y(),_f="/__zuplo/dev-portal",DT="dev-portal-id",UT="dev-portal-host",MT="zp-account",kT="zp-project",HT="dev-portal-build",FT=`
35
+ `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}s(Tw,"reduceToSingleString")});var Uh=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.format=void 0;var Sw=Rh(),Iw=Dh(),Pw=s((e,...t)=>(0,Sw.format)(Iw.inspect,e,t),"format");co.format=Pw});var Sr=g(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.debug=Wt.withoutEnv=Wt.Debugger=void 0;var Aw=Ah(),Rw=Uh(),uo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,Aw.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,Rw.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};Wt.Debugger=uo;var lo=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function kh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(kh,"extract");var ei;function Ow(e){e||(e=[]),typeof e=="string"&&(e=kh(e)),ei=new lo(e)}s(Ow,"withoutEnv");Wt.withoutEnv=Ow;function xw(e){let t=globalThis.DEBUG;ei||(ei=new lo(kh(t)));let r=new uo(ei,e);return ei.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(xw,"debug");Wt.debug=xw});var ho=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ProblemResponseFormatter=Vr.InternalProblemResponseFormatter=void 0;var Nw=L(),po=class e{static{s(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(o){throw new Nw.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Vr.InternalProblemResponseFormatter=po;var wu=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await po.problemResponseFormat(t,r,n)}};Vr.ProblemResponseFormatter=wu});var Hh=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.deepFreeze=void 0;function Mh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Mh(r)}return Object.freeze(e)}s(Mh,"deepFreeze");fo.deepFreeze=Mh});var He=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.ZuploRequest=void 0;var Fh=Hh(),vu=class e extends Request{static{s(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,Fh.deepFreeze)(this.#e)}get params(){return(0,Fh.deepFreeze)(this.#t)}user};mo.ZuploRequest=vu});var yt=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var qh=L(),Cw=ho(),Lw=He(),go=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=go;var bo=class extends go{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=bo;ye.runtimeExtensions={};var Tu=[];ye.plugins=Tu;var $h=[],jh=[],Vh=[],yo={addPlugin(e){Tu.push(e)},addRequestHook(e){$h.push(e)},addResponseSendingHook(e){jh.push(e)},addResponseSendingFinalHook(e){Vh.push(e)}},Dw=s(async(e,t)=>{let r=e;for(let n of $h){let i=await n(r,t);if(i instanceof Lw.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new qh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Dw;var Uw=s(async(e,t,r)=>{let n=e;for(let i of jh){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new qh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Uw;var kw=s(async(e,t,r)=>{for(let n of Vh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=kw;async function Mw(e=()=>Promise.resolve()){await e(yo),ye.runtimeExtensions.value=yo;for(let t of Tu)t instanceof bo&&await t.initialize(yo);Cw.InternalProblemResponseFormatter.setProblemResponseFormat(yo.problemResponseFormat)}s(Mw,"initializeRuntime");ye.initializeRuntime=Mw});var Su=g(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.serialize=Qt.ContentTypes=void 0;Qt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Hw(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Json)||!t?JSON.stringify(e):e}s(Hw,"serialize");Qt.serialize=Hw});var Ct=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.Pipeline=void 0;var Iu=Ir(),Gh=yt(),Fw=Su(),Pu=class{static{s(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(o){return i.log.error("Error executing request handler.",o),r.errorHandler(n,i,o)}};#t=({processors:t,gateway:r,handler:n})=>async(i,o)=>{let a=[...t],c=s(async y=>{let w=a.pop();return w?w(i,o,r,c):await this.#e(async S=>{let D=await n(S,o);return qw(D)},r)(y,o)},"nextPipe"),l=await c(i),d=new Iu.ResponseSendingEvent(i,l);o.dispatchEvent(d);let p=Iu.ZuploContextExtensions.getContextExtensions(o),m=p.latestRequest,h;try{h=await d.mutableResponse}catch(y){return o.log.error(y),r.errorHandler(i,o,y)}try{h=await p.onResponseSending(h,m,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}try{h=await(0,Gh.invokeOnResponseSendingExtensions)(h,m,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}o.dispatchEvent(new Iu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,m,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,Gh.invokeOnResponseSendingFinalExtensions)(l,m,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return h}};_o.Pipeline=Pu;function qw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Fw.serialize)(e),{headers:{"content-type":"application/json"}})}s(qw,"resultToResponse")});var wo=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.MetricsPlugin=void 0;var $w=yt(),Au=class extends $w.RuntimePlugin{static{s(this,"MetricsPlugin")}};Eo.MetricsPlugin=Au});var Le=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.SystemLogMap=void 0;var jw=L(),Ru=class e{static{s(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new jw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};vo.SystemLogMap=Ru});var ve=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.BatchDispatch=void 0;var Ou=class{static{s(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};To.BatchDispatch=Ou});var Kh=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.EllieMetricsTransport=void 0;var Bh=Le(),Vw=ve(),So=Y(),xu=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=So.Environment.instance.loggingId,this.#e=t,this.#t=new Vw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Bh.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:o}=So.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&o&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(o)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":So.Environment.instance.deploymentName??"unknown","user-agent":So.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Bh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Io.EllieMetricsTransport=xu});var ot=g(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.systemNoVersion=Pr.SystemRouteConfiguration=void 0;var Nu=class{static{s(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:o="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=o,this.version=Pr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Pr.SystemRouteConfiguration=Nu;Pr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Yt=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.metricsProcessor=void 0;var Jh=Xn(),Gw=Ir(),Bw=yt(),Kw=wo(),Jw=Kh(),zw=ot(),Ww=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(Jh.RAY_ID_HEADER)??void 0,u=e.headers.get(Jh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof zw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Gw.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-o,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new Jw.EllieMetricsTransport(t)),Bw.plugins.forEach(y=>{if(y instanceof Kw.MetricsPlugin){let w=y.getTransport();h.push(w)}}),h.forEach(y=>{y.pushMetrics(m,t)}),a},"metricsProcessor");Po.metricsProcessor=Ww});var Cu=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.SystemRouteName=void 0;var zh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(zh||(Ao.SystemRouteName=zh={}))});var Qh=g(Wh=>{"use strict";Object.defineProperty(Wh,"__esModule",{value:!0})});var Ar=g(Zt=>{"use strict";var Qw=Zt&&Zt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Yh=Zt&&Zt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Qw(t,e,r)};Object.defineProperty(Zt,"__esModule",{value:!0});Yh(Cu(),Zt);Yh(Qh(),Zt)});var Zh=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.registerBuildRoute=void 0;var Yw=Lt(),Zw=Ct(),Xw=Yt(),ev=Ar(),tv=ot(),rv=Le(),nv=Y(),iv=s((e,t)=>{let r=s(async(o,a)=>{let u=new URL(o.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return Yw.HttpProblems.notFound(o,a);let l=nv.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=o.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&rv.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new Zw.Pipeline({processors:[Xw.metricsProcessor],handler:r,gateway:t}),i=new tv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:ev.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Ro.registerBuildRoute=iv});var Lu=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.HTTP_STATUS_TITLES=Gr.HttpStatusCode=void 0;var Xh;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Xh||(Gr.HttpStatusCode=Xh={}));Gr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var Uu=g(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var ov={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};Du.default=ov});var se=g(Br=>{"use strict";var sv=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,"__esModule",{value:!0});Br.HttpProblems=void 0;var av=Xn(),O=Lu(),cv=sv(Uu()),uv=Y(),ku=ho();function lv(e){return`${new URL(e.url).pathname}`}s(lv,"instance");function dv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:uv.Environment.instance.build.BUILD_ID},n=e.headers.get(av.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(dv,"trace");var pv=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:lv(t),trace:dv(t,r),...n},additionalHeaders:i,statusText:cv.default[e.status]}),"merge"),Mu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?ku.ProblemResponseFormatter.format(t,r,n):ku.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:O.HTTP_STATUS_TITLES[t],...r}}},Hu=class extends Mu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=pv(this.getProblemFromStatus(t),r,n,i,o);return ku.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(O.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Br.HttpProblems=Hu});var Dt=g(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.isErrorLike=k.withUndefinedAsNull=k.withNullAsUndefined=k.validateConstraint=k.validateConstraints=k.areFunctions=k.isFunction=k.isEmptyObject=k.assertAllDefined=k.assertIsDefined=k.assertType=k.isUndefinedOrNull=k.isDefined=k.isUndefined=k.isBoolean=k.isIterable=k.isNumber=k.isTypedArray=k.isArray=k.isObject=k.getOwnEnumerableKeys=k.isRegexp=k.isStringArray=k.isNonEmptyString=k.isString=k.toString=void 0;var{toString:hv}=Object.prototype,{propertyIsEnumerable:fv}=Object.prototype;function ef(e){return hv.call(e)}s(ef,"toString");k.toString=ef;function Oo(e){return typeof e=="string"}s(Oo,"isString");k.isString=Oo;function mv(e){return Oo(e)&&e!==""}s(mv,"isNonEmptyString");k.isNonEmptyString=mv;function yv(e){return Array.isArray(e)&&e.every(t=>Oo(t))}s(yv,"isStringArray");k.isStringArray=yv;function gv(e){return ef(e)==="[object RegExp]"}s(gv,"isRegexp");k.isRegexp=gv;function bv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>fv.call(e,t))]}s(bv,"getOwnEnumerableKeys");k.getOwnEnumerableKeys=bv;function Fu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(Fu,"isObject");k.isObject=Fu;function _v(e){return Fu(e)&&Array.isArray(e)}s(_v,"isArray");k.isArray=_v;function Ev(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(Ev,"isTypedArray");k.isTypedArray=Ev;function wv(e){return typeof e=="number"&&!isNaN(e)}s(wv,"isNumber");k.isNumber=wv;function vv(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(vv,"isIterable");k.isIterable=vv;function Tv(e){return e===!0||e===!1}s(Tv,"isBoolean");k.isBoolean=Tv;function tf(e){return typeof e>"u"}s(tf,"isUndefined");k.isUndefined=tf;function Sv(e){return!ti(e)}s(Sv,"isDefined");k.isDefined=Sv;function ti(e){return tf(e)||e===null}s(ti,"isUndefinedOrNull");k.isUndefinedOrNull=ti;function Iv(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(Iv,"assertType");k.assertType=Iv;function Pv(e){if(ti(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(Pv,"assertIsDefined");k.assertIsDefined=Pv;function Av(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ti(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(Av,"assertAllDefined");k.assertAllDefined=Av;var Rv=Object.prototype.hasOwnProperty;function Ov(e){if(!Fu(e))return!1;for(let t in e)if(Rv.call(e,t))return!1;return!0}s(Ov,"isEmptyObject");k.isEmptyObject=Ov;function qu(e){return typeof e=="function"}s(qu,"isFunction");k.isFunction=qu;function xv(...e){return e.length>0&&e.every(qu)}s(xv,"areFunctions");k.areFunctions=xv;function Nv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)rf(e[n],t[n])}s(Nv,"validateConstraints");k.validateConstraints=Nv;function rf(e,t){if(Oo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(qu(t)){try{if(e instanceof t)return}catch{}if(!ti(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}s(rf,"validateConstraint");k.validateConstraint=rf;function Cv(e){return e===null?void 0:e}s(Cv,"withNullAsUndefined");k.withNullAsUndefined=Cv;function Lv(e){return typeof e>"u"?null:e}s(Lv,"withUndefinedAsNull");k.withUndefinedAsNull=Lv;function Dv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(Dv,"isErrorLike");k.isErrorLike=Dv});var ri=g(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.parseValueToBoolean=gt.parseValueToStringArray=gt.getValueFromRequestUser=gt.statusCodesStringToNumberArray=void 0;var Kr=L(),$u=Dt(),nf=new Map;function Uv(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=nf.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let o=i.split("-");if(o.length===2){let a=parseInt(o[0],10),c=parseInt(o[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return nf.set(e,n),n}s(Uv,"statusCodesStringToNumberArray");gt.statusCodesStringToNumberArray=Uv;function kv(e,t,r){if(!t.startsWith("."))throw new Kr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(o=>{if(i===void 0)throw new Kr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(kv,"getValueFromRequestUser");gt.getValueFromRequestUser=kv;function Mv(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Kr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,$u.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Kr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(Mv,"parseValueToStringArray");gt.parseValueToStringArray=Mv;function Hv(e){if((0,$u.isBoolean)(e))return e;if((0,$u.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Kr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Kr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(Hv,"parseValueToBoolean");gt.parseValueToBoolean=Hv});var No=g(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.generateCorsHeaders=Xt.findMatchingOrigin=Xt.parseCorsPolicies=void 0;var Rr=L(),of=ri(),xo=Dt();function Fv(e){if(e==null)return[];if(!Array.isArray(e))throw new Rr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,xo.isObject)(r))throw new Rr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,xo.isNonEmptyString)(r.name))throw new Rr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,xo.isNumber)(r.maxAge))throw new Rr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,xo.isBoolean)(r.allowCredentials))throw new Rr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=ju(r,"allowedHeaders"),i=ju(r,"allowedMethods"),o=ju(r,"exposeHeaders"),a;try{a=(0,of.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Rr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:o?o.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}s(Fv,"parseCorsPolicies");Xt.parseCorsPolicies=Fv;function ju(e,t){let r;if(e[t]!==void 0)try{r=(0,of.parseValueToStringArray)(e[t])}catch(n){throw new Rr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}s(ju,"parseOptionalProperty");var qv=s((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Xt.findMatchingOrigin=qv;var $v=s((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Xt.generateCorsHeaders=$v});var af=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.registerCorsRoute=void 0;var jv=L(),Vv=Ct(),Vu=se(),Gv=Yt(),Bv=Ar(),Kv=ot(),sf=No(),Jv=s((e,t)=>{let r=t.routeData.corsPolicies,n=s(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Vu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return Vu.HttpProblems.notFound(a,c);let h=m.routeConfiguration,y=zv(l,d,p,h,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):(y.error&&c.log.warn(y.error),Vu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new Vv.Pipeline({processors:[Gv.metricsProcessor],handler:n,gateway:t}),o=new Kv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Bv.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");Co.registerCorsRoute=Jv;var zv=s((e,t,r,n,i)=>{let o={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...o,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new jv.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,sf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,sf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var cf=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.registerNoRoutes=void 0;var Wv=Ct(),Qv=Yt(),Yv=Ar(),Zv=ot(),Xv=s((e,t)=>{let r=s(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new Wv.Pipeline({processors:[Qv.metricsProcessor],handler:r,gateway:t}),i=new Zv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Yv.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Lo.registerNoRoutes=Xv});var uf=g(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.registerNotMatchedHandler=Or.notFoundRouteConfiguration=void 0;var eT=Ir(),tT=yt(),rT=Ct(),nT=se(),iT=Yt(),oT=Ar(),sT=ot();Or.notFoundRouteConfiguration=new sT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:oT.SystemRouteName.UnmatchedPath});var aT=s((e,t)=>{let r=s(async(i,o)=>{let a=tT.runtimeExtensions.value?.notFoundHandler;if(a){let c=eT.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return nT.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new rT.Pipeline({processors:[iT.metricsProcessor],handler:r,gateway:t});e.addRoute(Or.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Or.registerNotMatchedHandler=aT});var Gu=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.corsProcessor=void 0;var pf=L(),lf=No(),cT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],df=s(e=>{cT.forEach(t=>e.delete(t))},"stripCorsHeaders"),uT=s(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return df(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let o=await n(e);if(!(o instanceof Response))throw new pf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=lT(i,r.routeData.corsPolicies),c=dT(e,a),u=new Headers(o.headers);return df(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(o.body,{status:o.status,statusText:o.statusText,headers:u,webSocket:o.webSocket})},"corsProcessor");Do.corsProcessor=uT;var lT=s((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new pf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),dT=s((e,t)=>{let r=(0,lf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,lf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var hf=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.registerPingRoute=void 0;var pT=Ct(),hT=Gu(),fT=Ar(),mT=ot(),yT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new pT.Pipeline({processors:[hT.corsProcessor],handler:r,gateway:t}),i=new mT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:fT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Uo.registerPingRoute=yT});var zr=g(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var gT=Ir(),Jr=L(),ff=He(),bT=Y();function mf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(o=>{let a=t?.find(u=>u.name===o);if(!a)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${o}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${o}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}s(mf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=mf;function _T(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:o.handler.export,handler:a,options:o.handler.options,policyName:o.name}})}s(_T,"getOutboundPolicyHandlerAndOptions");var ET=s(e=>async(t,r)=>{let n=gT.ZuploContextExtensions.getContextExtensions(r),i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,a.options,a.policyName);if(c instanceof ff.ZuploRequest)o=c;else if(c instanceof Request)o=new ff.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=o}return o},"toStackedInboundHandler");st.toStackedInboundHandler=ET;var wT=s(e=>async(t,r,n)=>{let i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);o=c}return o},"toStackedOutboundHandler"),vT=s(async(e,t,r,n)=>{let i=mf(t.route,r.routeData.policies),o=_T(t.route,r.routeData.policies);return yf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");st.policyProcessor=vT;function TT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>yf({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:o,next:a}),"policyProcessor")}s(TT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=TT;async function yf({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:o}){let a=(0,st.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await o(c),l=wT(n),d;return bT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}s(yf,"executePolicyProcessor")});var gf=g(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.serialize=Wr.parse=void 0;var ST=Object.prototype.toString,ko=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function IT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||AT,o=0;for(;o<e.length;){let a=e.indexOf("=",o);if(a===-1)break;let c=e.indexOf(";",o);if(c===-1)c=e.length;else if(c<a){o=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(o,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=xT(l,i)}o=c+1}return r}s(IT,"parse");Wr.parse=IT;function PT(e,t,r){let n=r||{},i=n.encode||RT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ko.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!ko.test(o))throw new TypeError("argument val is invalid");let a=e+"="+o;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!ko.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!ko.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!OT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}s(PT,"serialize");Wr.serialize=PT;function AT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(AT,"decode");function RT(e){return encodeURIComponent(e)}s(RT,"encode");function OT(e){return ST.call(e)==="[object Date]"||e instanceof Date}s(OT,"isDate");function xT(e,t){try{return t(e)}catch{return e}}s(xT,"tryDecode")});var bf=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.devPortalBaseURL=void 0;var NT=gf();function CT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,NT.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}s(CT,"devPortalBaseURL");Mo.devPortalBaseURL=CT});var Tf=g(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.registerDevPortalLegacyRedirectRoute=Qr.registerDevPortalV3Route=void 0;var Bu=Lt(),Ef=Ct(),wf=Yt(),LT=zr(),vf=ot(),DT=bf(),er=Y(),_f="/__zuplo/dev-portal",UT="dev-portal-id",kT="dev-portal-host",MT="zp-account",HT="zp-project",FT="dev-portal-build",qT=`
36
36
  <!DOCTYPE html>
37
37
  <html lang="en">
38
38
  <head>
@@ -46,42 +46,42 @@
46
46
  <p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
47
47
  </body>
48
48
  </html>
49
- `,qT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Xt.Environment.instance.deploymentName,i=Xt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Xt.Environment.instance.isLocalDevelopment)return new Response(FT,{headers:{"content-type":"text/html"}});if(!n)return Bu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,LT.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:y,body:w}=u;return Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(MT,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(kT,Xt.Environment.instance.build.PROJECT_NAME),h.set(DT,n),h.set(UT,d.host),h.set(HT,Xt.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:h,method:y,body:w,redirect:"manual"})},"devPortalRoute"),a=new Ef.Pipeline({processors:[wf.metricsProcessor,CT.policyProcessor],handler:s,gateway:t}),c=new vf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Bu.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Qr.registerDevPortalV3Route=qT;var $T=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(_f.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Ef.Pipeline({processors:[wf.metricsProcessor],handler:n,gateway:t}),s=new vf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${_f}(.*)`,systemRouteName:Bu.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Qr.registerDevPortalLegacyRedirectRoute=$T});var Ku=g(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.API_KEY=Yr.SYSTEM_LOGGER=void 0;Yr.SYSTEM_LOGGER="system-logger";Yr.API_KEY="api-key"});var Sf=g(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.CoreLogger=void 0;var Ju=0,zu=class{static{o(this,"CoreLogger")}constructor(t,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,s,a){Ju>=Number.MAX_SAFE_INTEGER&&(Ju=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Ju++};this.#t[t](c,a)}};Ho.CoreLogger=zu});var Dt=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.LogPlugin=void 0;var jT=yt(),Wu=class extends jT.RuntimePlugin{static{o(this,"LogPlugin")}};Fo.LogPlugin=Wu});var If=g(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.LoggingContext=void 0;var Qu=class{static{o(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};qo.LoggingContext=Qu});var Pf=g($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.RequestLogger=void 0;var Yu=class{static{o(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};$o.RequestLogger=Yu});var Or=g(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var Af=Lt(),VT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),GT=new Map(VT),Zu=class e extends Error{static{o(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};er.NonError=Zu;var BT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Xu=Symbol(".toJSON was called"),KT=o(e=>{e[Xu]=!0;let t=e.toJSON();return delete e[Xu],t},"toJSON"),JT=o(e=>GT.get(e)??Error,"getErrorConstructor"),Rf=o(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,Af.isErrorLike)(e)){let l=JT(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[Xu]!==!0)return KT(e);let u=o(l=>Rf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){s++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of BT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Af.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function zT(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Rf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o(zT,"serializeError");er.serializeError=zT;var WT=/file:\/\/\/(.*?)\/dist\//g,QT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,YT="at async Event.respondWith";function ZT(e){return typeof e!="string"?e:e.split(`
50
- `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(WT,"").replaceAll(QT,"").replaceAll(YT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
- `)}o(ZT,"cleanStack");er.cleanStack=ZT});var Of=g(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});var el=Lt();function XT(e,t,r=""){let n=[],i=t?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
49
+ `,$T=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=er.Environment.instance.deploymentName,i=er.Environment.instance.devPortalBaseUrl,o=s(async(u,l)=>{if(er.Environment.instance.isLocalDevelopment)return new Response(qT,{headers:{"content-type":"text/html"}});if(!n)return Bu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,DT.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:y,body:w}=u;return er.Environment.instance.build.ACCOUNT_NAME&&h.set(MT,er.Environment.instance.build.ACCOUNT_NAME),er.Environment.instance.build.PROJECT_NAME&&h.set(HT,er.Environment.instance.build.PROJECT_NAME),h.set(UT,n),h.set(kT,d.host),h.set(FT,er.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:h,method:y,body:w,redirect:"manual"})},"devPortalRoute"),a=new Ef.Pipeline({processors:[wf.metricsProcessor,LT.policyProcessor],handler:o,gateway:t}),c=new vf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Bu.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Qr.registerDevPortalV3Route=$T;var jT=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=s(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(_f.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Ef.Pipeline({processors:[wf.metricsProcessor],handler:n,gateway:t}),o=new vf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${_f}(.*)`,systemRouteName:Bu.SystemRouteName.DeveloperPortalLegacy});e.addRoute(o,i.execute)},"registerDevPortalLegacyRedirectRoute");Qr.registerDevPortalLegacyRedirectRoute=jT});var Ku=g(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.API_KEY=Yr.SYSTEM_LOGGER=void 0;Yr.SYSTEM_LOGGER="system-logger";Yr.API_KEY="api-key"});var Sf=g(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.CoreLogger=void 0;var Ju=0,zu=class{static{s(this,"CoreLogger")}constructor(t,r,n,i,o){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=o,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=s(()=>{},"emptyFunction"),o=s((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:o,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,o,a){Ju>=Number.MAX_SAFE_INTEGER&&(Ju=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:o,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Ju++};this.#t[t](c,a)}};Ho.CoreLogger=zu});var Ut=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.LogPlugin=void 0;var VT=yt(),Wu=class extends VT.RuntimePlugin{static{s(this,"LogPlugin")}};Fo.LogPlugin=Wu});var If=g(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.LoggingContext=void 0;var Qu=class{static{s(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};qo.LoggingContext=Qu});var Pf=g($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.RequestLogger=void 0;var Yu=class{static{s(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};$o.RequestLogger=Yu});var xr=g(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.cleanStack=tr.serializeError=tr.NonError=void 0;var Af=Dt(),GT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),BT=new Map(GT),Zu=class e extends Error{static{s(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};tr.NonError=Zu;var KT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Xu=Symbol(".toJSON was called"),JT=s(e=>{e[Xu]=!0;let t=e.toJSON();return delete e[Xu],t},"toJSON"),zT=s(e=>BT.get(e)??Error,"getErrorConstructor"),Rf=s(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:o,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,Af.isErrorLike)(e)){let l=zT(e.name);r=new l}else r={};if(t.push(e),o>=i)return r;if(a&&typeof e.toJSON=="function"&&e[Xu]!==!0)return JT(e);let u=s(l=>Rf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:o,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){o++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of KT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Af.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function WT(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Rf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}s(WT,"serializeError");tr.serializeError=WT;var QT=/file:\/\/\/(.*?)\/dist\//g,YT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,ZT="at async Event.respondWith";function XT(e){return typeof e!="string"?e:e.split(`
50
+ `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(QT,"").replaceAll(YT,"").replaceAll(ZT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
+ `)}s(XT,"cleanStack");tr.cleanStack=XT});var Of=g(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});var el=Dt();function eS(e,t,r=""){let n=[],i=t?.maxDepth??3;return s(function o(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
52
52
  `,newlineOrSpace:`
53
- `,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let m=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let y=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return y.length<=c.inlineCharacterLimit?y:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
54
- `).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,el.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((y,w)=>{let T=a.length-1===w?p.newline:","+p.newlineOrSpace,S=s(y,c,u+d,l+1);return c.transform&&(S=c.transform(a,w,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),m(h)}if((0,el.isObject)(a)){let h=(0,el.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(w=>c.filter?.(a,w))),h.length===0)return"{}";n.push(a);let y="{"+p.newline+h.map((w,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,L=typeof w=="symbol",F=!L&&/^[a-z$_][$\w]*$/i.test(w),N=L||F?w:s(w,c,"",l+1),re=s(a[w],c,u+d,l+1);return c.transform&&(re=c.transform(a,w,re)),p.indent+String(N)+": "+re+S}).join("")+p.pad+"}";return n.pop(),m(y)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
55
- `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(XT,"stringifyObject");tl.default=XT});var bt=g(Fe=>{"use strict";var eS=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var rl=Or(),xf=eS(Of()),Nf=Lt();function tS(e){return e.map(t=>(0,rl.serializeError)(t))}o(tS,"makeErrorsSerializable");Fe.makeErrorsSerializable=tS;function rS(e){if(e.length===0)return"<no data provided to log>";let t=e[0];return typeof t=="string"?t:t instanceof Error?t.message:Cf((0,rl.serializeError)(t))}o(rS,"extractBestMessage");Fe.extractBestMessage=rS;function nS(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,Nf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,xf.default)((0,rl.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,xf.default)(r);t.push(n)}else{let n=Lf(r);t.push(n)}}),t.join(`
56
- `)}o(nS,"messagesToMultilineText");Fe.messagesToMultilineText=nS;function Cf(e){return typeof e=="string"?e:JSON.stringify(e)}o(Cf,"stringifyNonString");Fe.stringifyNonString=Cf;function Lf(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,Nf.toString)(e):"unknown"}o(Lf,"stringifyNonStringToText");Fe.stringifyNonStringToText=Lf});var U,ae,Te=I(()=>{U=crypto,ae=o(e=>e instanceof CryptoKey,"isCryptoKey")});var iS,jo,nl=I(()=>{Te();iS=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await U.subtle.digest(r,t))},"digest"),jo=iS});function Se(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Df(e,t){return Se(Z.encode(e),new Uint8Array([0]),t)}function il(e,t,r){if(t<0||t>=Vo)throw new RangeError(`value must be >= 0 and <= ${Vo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Go(e){let t=Math.floor(e/Vo),r=e%Vo,n=new Uint8Array(8);return il(n,t,0),il(n,r,4),n}function Bo(e){let t=new Uint8Array(4);return il(t,e),t}function Ko(e){return Se(Bo(e.length),e)}async function Uf(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set(Bo(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await jo("sha256",a),s*32)}return i.slice(0,t>>3)}var Z,ue,Vo,ge=I(()=>{nl();Z=new TextEncoder,ue=new TextDecoder,Vo=2**32;o(Se,"concat");o(Df,"p2s");o(il,"writeUInt32BE");o(Go,"uint64be");o(Bo,"uint32be");o(Ko,"lengthAndInput");o(Uf,"concatKdf")});var Jo,X,ol,te,Ie=I(()=>{ge();Jo=o(e=>{let t=e;typeof t=="string"&&(t=Z.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),X=o(e=>Jo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ol=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),te=o(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ol(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var sl={};Yi(sl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>Ut,JWEInvalid:()=>A,JWKInvalid:()=>ni,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ii,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>oi,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Nr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Zr,JWTInvalid:()=>le});var he,be,Zr,tr,k,Ut,A,z,le,ni,rr,xr,ii,oi,Nr,V=I(()=>{he=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Zr=class extends he{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},k=class extends he{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ut=class extends he{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},A=class extends he{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ni=class extends he{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=class extends he{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ii=class extends he{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},oi=class extends he{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Nr=class extends he{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,si=I(()=>{Te();nr=U.getRandomValues.bind(U)});function al(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var zo,Wo=I(()=>{V();si();o(al,"bitLength");zo=o(e=>nr(new Uint8Array(al(e)>>3)),"default")});var oS,Qo,cl=I(()=>{V();Wo();oS=o((e,t)=>{if(t.length<<3!==al(e))throw new A("Invalid Initialization Vector length")},"checkIvLength"),Qo=oS});var sS,Xr,ul=I(()=>{V();sS=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new A(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Xr=sS});var aS,kf,Hf=I(()=>{aS=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),kf=aS});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function Yo(e){return parseInt(e.name.slice(4),10)}function cS(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Ff(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function qf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=cS(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Ff(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Ff(e,r)}var or=I(()=>{o(Pe,"unusable");o(ir,"isAlgorithm");o(Yo,"getHashLength");o(cS,"getNamedCurve");o(Ff,"checkUsage");o(qf,"checkSigCryptoKey");o(qe,"checkEncCryptoKey")});function $f(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function ll(e,t,...r){return $f(`Key for the ${e} algorithm must be `,t,...r)}var ie,at=I(()=>{o($f,"message");ie=o((e,...t)=>$f("Key must be ",e,...t),"default");o(ll,"withAlg")});var dl,W,ct=I(()=>{Te();dl=o(e=>ae(e),"default"),W=["CryptoKey"]});async function uS(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(ie(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await U.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await U.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,Go(s.length<<3)),d=new Uint8Array((await U.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=kf(i,d)}catch{}if(!p)throw new Ut;let m;try{m=new Uint8Array(await U.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Ut;return m}async function lS(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await U.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await U.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Ut}}var dS,Zo,pl=I(()=>{ge();cl();ul();Hf();V();Te();or();at();ct();o(uS,"cbcDecrypt");o(lS,"gcmDecrypt");dS=o(async(e,t,r,n,i,s)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Qo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(-3),10)),uS(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(1,4),10)),lS(e,t,r,n,i,s);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Zo=dS});var jf,Vf,hl=I(()=>{V();jf=o(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),Vf=o(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var pS,_t,en=I(()=>{pS=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),_t=pS});function hS(e){return typeof e=="object"&&e!==null}function Q(e){if(!hS(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var $e=I(()=>{o(hS,"isObjectLike");o(Q,"isObject")});var fS,tn,fl=I(()=>{fS=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],tn=fS});function Gf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Bf(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return U.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(ie(e,...W,"Uint8Array"))}var ai,ci,Xo=I(()=>{fl();Te();or();at();ct();o(Gf,"checkKeySize");o(Bf,"getCryptoKey");ai=o(async(e,t,r)=>{let n=await Bf(t,e,"wrapKey");Gf(n,e);let i=await U.subtle.importKey("raw",r,...tn);return new Uint8Array(await U.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ci=o(async(e,t,r)=>{let n=await Bf(t,e,"unwrapKey");Gf(n,e);let i=await U.subtle.unwrapKey("raw",r,n,"AES-KW",...tn);return new Uint8Array(await U.subtle.exportKey("raw",i))},"unwrap")});async function es(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!ae(e))throw new TypeError(ie(e,...W));if(qe(e,"ECDH"),!ae(t))throw new TypeError(ie(t,...W));qe(t,"ECDH","deriveBits");let a=Se(Ko(Z.encode(r)),Ko(i),Ko(s),Bo(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await U.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return Uf(u,n,a)}async function Kf(e){if(!ae(e))throw new TypeError(ie(e,...W));return U.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ts(e){if(!ae(e))throw new TypeError(ie(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var ml=I(()=>{ge();Te();or();at();ct();o(es,"deriveKey");o(Kf,"generateEpk");o(ts,"ecdhAllowed")});function yl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}var zf=I(()=>{V();o(yl,"checkP2s")});function mS(e,t){if(e instanceof Uint8Array)return U.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(ie(e,...W,"Uint8Array"))}async function Wf(e,t,r,n){yl(e);let i=Df(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await mS(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await U.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return U.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Qf,Yf,gl=I(()=>{si();ge();Ie();Xo();zf();Te();or();at();ct();o(mS,"getCryptoKey");o(Wf,"deriveKey");Qf=o(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let s=await Wf(i,e,n,t);return{encryptedKey:await ai(e.slice(-6),s,r),p2c:n,p2s:X(i)}},"encrypt"),Yf=o(async(e,t,r,n,i)=>{let s=await Wf(i,e,n,t);return ci(e.slice(-6),s,r)},"decrypt")});function rn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Zf=I(()=>{V();o(rn,"subtleRsaEs")});var Cr,rs=I(()=>{Cr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Xf,em,bl=I(()=>{Zf();fl();Te();or();rs();at();ct();Xf=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(ie(t,...W));if(qe(t,e,"encrypt","wrapKey"),Cr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await U.subtle.encrypt(rn(e),t,r));if(t.usages.includes("wrapKey")){let n=await U.subtle.importKey("raw",r,...tn);return new Uint8Array(await U.subtle.wrapKey("raw",n,t,rn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),em=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(ie(t,...W));if(qe(t,e,"decrypt","unwrapKey"),Cr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await U.subtle.decrypt(rn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await U.subtle.unwrapKey("raw",r,t,rn(e),...tn);return new Uint8Array(await U.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function ui(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var Et,li=I(()=>{V();si();o(ui,"bitLength");Et=o(e=>nr(new Uint8Array(ui(e)>>3)),"default")});var _l,tm=I(()=>{_l=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
53
+ `,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let m=s(h=>{if(c.inlineCharacterLimit===void 0)return h;let y=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return y.length<=c.inlineCharacterLimit?y:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
54
+ `).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,el.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((y,w)=>{let T=a.length-1===w?p.newline:","+p.newlineOrSpace,S=o(y,c,u+d,l+1);return c.transform&&(S=c.transform(a,w,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),m(h)}if((0,el.isObject)(a)){let h=(0,el.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(w=>c.filter?.(a,w))),h.length===0)return"{}";n.push(a);let y="{"+p.newline+h.map((w,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,D=typeof w=="symbol",j=!D&&/^[a-z$_][$\w]*$/i.test(w),C=D||j?w:o(w,c,"",l+1),re=o(a[w],c,u+d,l+1);return c.transform&&(re=c.transform(a,w,re)),p.indent+String(C)+": "+re+S}).join("")+p.pad+"}";return n.pop(),m(y)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
55
+ `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}s(eS,"stringifyObject");tl.default=eS});var bt=g(Fe=>{"use strict";var tS=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var rl=xr(),xf=tS(Of()),Nf=Dt();function rS(e){return e.map(t=>(0,rl.serializeError)(t))}s(rS,"makeErrorsSerializable");Fe.makeErrorsSerializable=rS;function nS(e){if(e.length===0)return"<no data provided to log>";let t=e[0];return typeof t=="string"?t:t instanceof Error?t.message:Cf((0,rl.serializeError)(t))}s(nS,"extractBestMessage");Fe.extractBestMessage=nS;function iS(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,Nf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,xf.default)((0,rl.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,xf.default)(r);t.push(n)}else{let n=Lf(r);t.push(n)}}),t.join(`
56
+ `)}s(iS,"messagesToMultilineText");Fe.messagesToMultilineText=iS;function Cf(e){return typeof e=="string"?e:JSON.stringify(e)}s(Cf,"stringifyNonString");Fe.stringifyNonString=Cf;function Lf(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,Nf.toString)(e):"unknown"}s(Lf,"stringifyNonStringToText");Fe.stringifyNonStringToText=Lf});var U,ae,Te=I(()=>{U=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var oS,jo,nl=I(()=>{Te();oS=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await U.subtle.digest(r,t))},"digest"),jo=oS});function Se(...e){let t=e.reduce((i,{length:o})=>i+o,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Df(e,t){return Se(Z.encode(e),new Uint8Array([0]),t)}function il(e,t,r){if(t<0||t>=Vo)throw new RangeError(`value must be >= 0 and <= ${Vo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Go(e){let t=Math.floor(e/Vo),r=e%Vo,n=new Uint8Array(8);return il(n,t,0),il(n,r,4),n}function Bo(e){let t=new Uint8Array(4);return il(t,e),t}function Ko(e){return Se(Bo(e.length),e)}async function Uf(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let o=0;o<n;o++){let a=new Uint8Array(4+e.length+r.length);a.set(Bo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await jo("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,Vo,ge=I(()=>{nl();Z=new TextEncoder,ue=new TextDecoder,Vo=2**32;s(Se,"concat");s(Df,"p2s");s(il,"writeUInt32BE");s(Go,"uint64be");s(Bo,"uint32be");s(Ko,"lengthAndInput");s(Uf,"concatKdf")});var Jo,X,ol,te,Ie=I(()=>{ge();Jo=s(e=>{let t=e;typeof t=="string"&&(t=Z.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),X=s(e=>Jo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ol=s(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),te=s(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ol(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var sl={};Yi(sl,{JOSEAlgNotAllowed:()=>rr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>kt,JWEInvalid:()=>A,JWKInvalid:()=>ni,JWKSInvalid:()=>nr,JWKSMultipleMatchingKeys:()=>ii,JWKSNoMatchingKey:()=>Nr,JWKSTimeout:()=>oi,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Cr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Zr,JWTInvalid:()=>le});var he,be,Zr,rr,M,kt,A,z,le,ni,nr,Nr,ii,oi,Cr,V=I(()=>{he=class extends Error{static{s(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{s(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Zr=class extends he{static{s(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},rr=class extends he{static{s(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends he{static{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},kt=class extends he{static{s(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},A=class extends he{static{s(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{s(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{s(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ni=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},nr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Nr=class extends he{static{s(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ii=class extends he{static{s(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},oi=class extends he{static{s(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Cr=class extends he{static{s(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var ir,si=I(()=>{Te();ir=U.getRandomValues.bind(U)});function al(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var zo,Wo=I(()=>{V();si();s(al,"bitLength");zo=s(e=>ir(new Uint8Array(al(e)>>3)),"default")});var sS,Qo,cl=I(()=>{V();Wo();sS=s((e,t)=>{if(t.length<<3!==al(e))throw new A("Invalid Initialization Vector length")},"checkIvLength"),Qo=sS});var aS,Xr,ul=I(()=>{V();aS=s((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new A(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Xr=aS});var cS,Mf,Hf=I(()=>{cS=s((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),Mf=cS});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function or(e,t){return e.name===t}function Yo(e){return parseInt(e.name.slice(4),10)}function uS(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Ff(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function qf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!or(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!or(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!or(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!or(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=uS(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Ff(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!or(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!or(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!or(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!or(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Ff(e,r)}var sr=I(()=>{s(Pe,"unusable");s(or,"isAlgorithm");s(Yo,"getHashLength");s(uS,"getNamedCurve");s(Ff,"checkUsage");s(qf,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function $f(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function ll(e,t,...r){return $f(`Key for the ${e} algorithm must be `,t,...r)}var ie,at=I(()=>{s($f,"message");ie=s((e,...t)=>$f("Key must be ",e,...t),"default");s(ll,"withAlg")});var dl,W,ct=I(()=>{Te();dl=s(e=>ae(e),"default"),W=["CryptoKey"]});async function lS(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(ie(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await U.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await U.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(o,n,r,Go(o.length<<3)),d=new Uint8Array((await U.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Mf(i,d)}catch{}if(!p)throw new kt;let m;try{m=new Uint8Array(await U.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new kt;return m}async function dS(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await U.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await U.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new kt}}var pS,Zo,pl=I(()=>{ge();cl();ul();Hf();V();Te();sr();at();ct();s(lS,"cbcDecrypt");s(dS,"gcmDecrypt");pS=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Qo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(-3),10)),lS(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(1,4),10)),dS(e,t,r,n,i,o);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Zo=pS});var jf,Vf,hl=I(()=>{V();jf=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),Vf=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var hS,_t,en=I(()=>{hS=s((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),_t=hS});function fS(e){return typeof e=="object"&&e!==null}function Q(e){if(!fS(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var $e=I(()=>{s(fS,"isObjectLike");s(Q,"isObject")});var mS,tn,fl=I(()=>{mS=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],tn=mS});function Gf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Bf(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return U.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(ie(e,...W,"Uint8Array"))}var ai,ci,Xo=I(()=>{fl();Te();sr();at();ct();s(Gf,"checkKeySize");s(Bf,"getCryptoKey");ai=s(async(e,t,r)=>{let n=await Bf(t,e,"wrapKey");Gf(n,e);let i=await U.subtle.importKey("raw",r,...tn);return new Uint8Array(await U.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ci=s(async(e,t,r)=>{let n=await Bf(t,e,"unwrapKey");Gf(n,e);let i=await U.subtle.unwrapKey("raw",r,n,"AES-KW",...tn);return new Uint8Array(await U.subtle.exportKey("raw",i))},"unwrap")});async function es(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(ie(e,...W));if(qe(e,"ECDH"),!ae(t))throw new TypeError(ie(t,...W));qe(t,"ECDH","deriveBits");let a=Se(Ko(Z.encode(r)),Ko(i),Ko(o),Bo(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await U.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return Uf(u,n,a)}async function Kf(e){if(!ae(e))throw new TypeError(ie(e,...W));return U.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ts(e){if(!ae(e))throw new TypeError(ie(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var ml=I(()=>{ge();Te();sr();at();ct();s(es,"deriveKey");s(Kf,"generateEpk");s(ts,"ecdhAllowed")});function yl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}var zf=I(()=>{V();s(yl,"checkP2s")});function yS(e,t){if(e instanceof Uint8Array)return U.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(ie(e,...W,"Uint8Array"))}async function Wf(e,t,r,n){yl(e);let i=Df(t,e),o=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:o,name:"AES-KW"},u=await yS(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await U.subtle.deriveBits(a,u,o));if(u.usages.includes("deriveKey"))return U.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Qf,Yf,gl=I(()=>{si();ge();Ie();Xo();zf();Te();sr();at();ct();s(yS,"getCryptoKey");s(Wf,"deriveKey");Qf=s(async(e,t,r,n=2048,i=ir(new Uint8Array(16)))=>{let o=await Wf(i,e,n,t);return{encryptedKey:await ai(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),Yf=s(async(e,t,r,n,i)=>{let o=await Wf(i,e,n,t);return ci(e.slice(-6),o,r)},"decrypt")});function rn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Zf=I(()=>{V();s(rn,"subtleRsaEs")});var Lr,rs=I(()=>{Lr=s((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Xf,em,bl=I(()=>{Zf();fl();Te();sr();rs();at();ct();Xf=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(ie(t,...W));if(qe(t,e,"encrypt","wrapKey"),Lr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await U.subtle.encrypt(rn(e),t,r));if(t.usages.includes("wrapKey")){let n=await U.subtle.importKey("raw",r,...tn);return new Uint8Array(await U.subtle.wrapKey("raw",n,t,rn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),em=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(ie(t,...W));if(qe(t,e,"decrypt","unwrapKey"),Lr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await U.subtle.decrypt(rn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await U.subtle.unwrapKey("raw",r,t,rn(e),...tn);return new Uint8Array(await U.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function ui(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var Et,li=I(()=>{V();si();s(ui,"bitLength");Et=s(e=>ir(new Uint8Array(ui(e)>>3)),"default")});var _l,tm=I(()=>{_l=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${t}-----
58
58
  ${r}
59
- -----END ${t}-----`},"default")});function nm(e){let t=[],r=0;for(;r<e.length;){let n=um(e.subarray(r));t.push(n),r+=n.byteLength}return t}function um(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function yS(e){let t=nm(nm(um(e).contents)[0].contents);return Jo(t[t[0].raw[0]===160?6:5].raw)}function gS(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ol(t);return _l(yS(r),"PUBLIC KEY")}var im,om,sm,sr,rm,am,cm,El,lm,ns=I(()=>{Te();at();Ie();tm();V();ct();im=o(async(e,t,r)=>{if(!ae(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return _l(Jo(new Uint8Array(await U.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),om=o(e=>im("public","spki",e),"toSPKI"),sm=o(e=>im("private","pkcs8",e),"toPKCS8"),sr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||sr(e,t,n+1)},"findOid"),rm=o(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new k("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),am=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=rm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:rm(u)},c=l?["verify"]:["sign"];break;default:throw new k('Invalid or unsupported "alg" (Algorithm) value')}return U.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),cm=o((e,t,r)=>am(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),El=o((e,t,r)=>am(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(nm,"getElement");o(um,"parseElement");o(yS,"spkiFromX509");o(gS,"getSPKI");lm=o((e,t,r)=>{let n;try{n=gS(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return El(n,t,r)},"fromX509")});function bS(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new k(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new k('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var _S,wl,dm=I(()=>{Te();V();Ie();o(bS,"subtleMapping");_S=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=bS(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return U.subtle.importKey("raw",te(e.k),...s);let a={...e};return delete a.alg,delete a.use,U.subtle.importKey("jwk",a,...s)},"parse"),wl=_S});async function pm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return El(e,t,r)}async function hm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return lm(e,t,r)}async function fm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return cm(e,t,r)}async function ar(e,t,r){var n;if(!Q(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?wl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):te(e.k);case"RSA":if(e.oth!==void 0)throw new k('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return wl({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var di=I(()=>{Ie();ns();dm();V();$e();o(pm,"importSPKI");o(hm,"importX509");o(fm,"importPKCS8");o(ar,"importJWK")});var ES,wS,vS,cr,pi=I(()=>{at();ct();ES=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!dl(t))throw new TypeError(ll(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),wS=o((e,t,r)=>{if(!dl(t))throw new TypeError(ll(e,t,...W));if(t.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),vS=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?ES(e,t):wS(e,t,r)},"checkKeyType"),cr=vS});async function TS(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await U.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await U.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await U.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,Go(i.length<<3)),d=new Uint8Array((await U.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function SS(e,t,r,n,i){let s;r instanceof Uint8Array?s=await U.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(r,e,"encrypt"),s=r);let a=new Uint8Array(await U.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var IS,hi,vl=I(()=>{ge();cl();ul();Te();or();at();V();ct();o(TS,"cbcEncrypt");o(SS,"gcmEncrypt");IS=o(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Qo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(-3),10)),TS(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(1,4),10)),SS(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),hi=IS});async function mm(e,t,r,n){let i=e.slice(0,7);n||(n=zo(i));let{ciphertext:s,tag:a}=await hi(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:X(n),tag:X(a)}}async function ym(e,t,r,n,i){let s=e.slice(0,7);return Zo(s,t,r,n,i,new Uint8Array(0))}var Tl=I(()=>{vl();pl();Wo();Ie();o(mm,"wrap");o(ym,"unwrap")});async function PS(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ts(t))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new A('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await es(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?ui(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new A("JWE Encrypted Key missing");return ci(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new A("JWE Encrypted Key missing");return em(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new A('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new A('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new A('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Yf(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");return ci(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new A('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new A('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return ym(e,t,r,s,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var gm,bm=I(()=>{Xo();ml();gl();bl();Ie();V();li();di();pi();$e();Tl();o(PS,"decryptKeyManagement");gm=PS});function AS(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new k(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var wt,nn=I(()=>{V();o(AS,"validateCrit");wt=AS});var RS,fi,Sl=I(()=>{RS=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),fi=RS});async function on(e,t,r){var n;if(!Q(e))throw new A("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new A("JOSE Header missing");if(typeof e.iv!="string")throw new A("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new A("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new A("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new A("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new A("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new A("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let F=te(e.protected);i=JSON.parse(ue.decode(F))}catch{throw new A("JWE Protected Header is invalid")}if(!_t(i,e.header,e.unprotected))throw new A("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(wt(A,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new k('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new A("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new A("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&fi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&fi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await gm(a,t,d,s,r)}catch(F){if(F instanceof TypeError||F instanceof A||F instanceof k)throw F;m=Et(c)}let h=te(e.iv),y=te(e.tag),w=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(w,Z.encode("."),Z.encode(e.aad)):T=w;let S=await Zo(c,m,te(e.ciphertext),h,y,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||jf)(S));let L={plaintext:S};return e.protected!==void 0&&(L.protectedHeader=i),e.aad!==void 0&&(L.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(L.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(L.unprotectedHeader=e.header),p?{...L,key:t}:L}var is=I(()=>{Ie();pl();hl();V();en();$e();bm();ge();li();nn();Sl();o(on,"flattenedDecrypt")});async function os(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new A("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new A("Invalid Compact JWE");let l=await on({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var Il=I(()=>{is();V();ge();o(os,"compactDecrypt")});async function _m(e,t,r){if(!Q(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(let n of e.recipients)try{return await on({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new Ut}var Em=I(()=>{is();V();$e();o(_m,"generalDecrypt")});var OS,wm,vm=I(()=>{Te();at();Ie();ct();OS=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(ie(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await U.subtle.exportKey("jwk",e);return s},"keyToJWK"),wm=OS});async function Tm(e){return om(e)}async function Sm(e){return sm(e)}async function ss(e){return wm(e)}var Pl=I(()=>{ns();ns();vm();o(Tm,"exportSPKI");o(Sm,"exportPKCS8");o(ss,"exportJWK")});async function xS(e,t,r,n,i={}){let s,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ts(r))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await Kf(r)).privateKey);let{x:p,y:m,crv:h,kty:y}=await ss(d),w=await es(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?ui(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=w;break}c=n||Et(t);let T=e.slice(-6);s=await ai(T,w,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||Et(t),s=await Xf(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||Et(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Qf(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||Et(t),s=await ai(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||Et(t);let{iv:u}=i;({encryptedKey:s,...a}=await mm(e,r,c,u));break}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var as,Al=I(()=>{Xo();ml();gl();bl();Ie();li();V();Pl();pi();Tl();o(xS,"encryptKeyManagement");as=xS});var Rl,Mt,cs=I(()=>{Ie();vl();hl();Wo();Al();V();en();ge();nn();Rl=Symbol(),Mt=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new A("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!_t(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(wt(A,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new k('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let y;({cek:c,encryptedKey:a,parameters:y}=await as(i,s,t,this._cek,this._keyManagementParameters)),y&&(r&&Rl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=zo(s));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Se(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||Vf)(this._plaintext);({ciphertext:p,tag:m}=await hi(s,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await hi(s,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(m)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Ol,us,Im=I(()=>{cs();V();li();en();Al();Ie();nn();Ol=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},us=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Ol(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new A("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!_t(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new A('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(wt(A,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=Et(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let w=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[Rl]:!0});c.ciphertext=w.ciphertext,c.iv=w.iv,c.tag=w.tag,w.aad&&(c.aad=w.aad),w.protected&&(c.protected=w.protected),w.unprotected&&(c.unprotected=w.unprotected),d.encrypted_key=w.encrypted_key,w.header&&(d.header=w.header);continue}let{encryptedKey:h,parameters:y}=await as(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:m});d.encrypted_key=X(h),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function mi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var xl=I(()=>{V();o(mi,"subtleDsa")});function yi(e,t,r){if(ae(t))return qf(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(ie(t,...W));return U.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(t,...W,"Uint8Array"))}var Nl=I(()=>{Te();or();at();ct();o(yi,"getCryptoKey")});var NS,Pm,Am=I(()=>{xl();Te();rs();Nl();NS=o(async(e,t,r,n)=>{let i=await yi(e,t,"verify");Cr(e,i);let s=mi(e,i.algorithm);try{return await U.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Pm=NS});async function sn(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(ue.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!_t(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=wt(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&fi("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=Se(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=te(e.signature);if(!await Pm(u,t,m,p))throw new Nr;let y;c?y=te(e.payload):typeof e.payload=="string"?y=Z.encode(e.payload):y=e.payload;let w={payload:y};return e.protected!==void 0&&(w.protectedHeader=i),e.header!==void 0&&(w.unprotectedHeader=e.header),d?{...w,key:t}:w}var ls=I(()=>{Ie();Am();V();ge();en();$e();pi();nn();Sl();o(sn,"flattenedVerify")});async function ds(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await sn({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Cl=I(()=>{ls();V();ge();o(ds,"compactVerify")});async function Rm(e,t,r){if(!Q(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await sn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Nr}var Om=I(()=>{ls();V();$e();o(Rm,"generalVerify")});var an,Ll=I(()=>{an=o(e=>Math.floor(e.getTime()/1e3),"default")});var CS,cn,Dl=I(()=>{CS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,cn=o(e=>{let t=CS.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var xm,LS,un,ps=I(()=>{V();ge();Ll();Dl();$e();xm=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),LS=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),un=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||xm(e.typ)!==xm(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Q(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!LS(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=cn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=an(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new Zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,y=typeof l=="number"?l:cn(l);if(h-d>y)throw new Zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Nm(e,t,r){var n;let i=await ds(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:un(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Cm=I(()=>{Cl();ps();V();o(Nm,"jwtVerify")});async function Lm(e,t,r){let n=await os(e,t,r),i=un(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var Dm=I(()=>{Il();ps();V();o(Lm,"jwtDecrypt")});var ln,Ul=I(()=>{cs();ln=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Mt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var DS,Um,Mm=I(()=>{xl();Te();rs();Nl();DS=o(async(e,t,r)=>{let n=await yi(e,t,"sign");Cr(e,n);let i=await U.subtle.sign(mi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Um=DS});var ur,hs=I(()=>{Ie();Mm();en();V();ge();pi();nn();ur=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!_t(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=wt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;s&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Se(u,Z.encode("."),c),d=await Um(a,t,l),p={signature:X(d),payload:""};return s&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var dn,Ml=I(()=>{hs();dn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var kl,fs,km=I(()=>{hs();V();kl=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},fs=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new kl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,ms=I(()=>{Ll();$e();Dl();lr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:an(new Date)+cn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:an(new Date)+cn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:an(new Date)}:this._payload={...this._payload,iat:t},this}}});var ys,Hm=I(()=>{Ml();V();ge();ms();ys=class extends lr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new dn(Z.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var gs,Fm=I(()=>{Ul();ge();ms();gs=class extends lr{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new ln(Z.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function Hl(e,t){if(!Q(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new k('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await jo(t,n))}async function qm(e,t){t??(t="sha256");let r=await Hl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,$m=I(()=>{nl();Ie();V();ge();$e();dr=o((e,t)=>{if(typeof e!="string"||!e)throw new ni(`${t} missing or invalid`)},"check");o(Hl,"calculateJwkThumbprint");o(qm,"calculateJwkThumbprintUri")});async function jm(e,t){let r={...e,...t?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Vm=I(()=>{di();$e();V();o(jm,"EmbeddedJWK")});function US(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new k('Unsupported "alg" value for a JSON Web Key Set')}}function Fl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(MS)}function MS(e){return Q(e)}function kS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Gm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Bm(e){let t=new gi(e);return async function(r,n){return t.getKey(r,n)}}var gi,ql=I(()=>{di();V();$e();o(US,"getKtyFromAlg");o(Fl,"isJWKSLike");o(MS,"isJWKLike");o(kS,"clone");gi=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Fl(t))throw new rr("JSON Web Key Set malformed");this._jwks=kS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=US(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new xr;if(u!==1){let l=new ii,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Gm(d,p,n)}catch{continue}},l}return Gm(this._cached,c,n)}};o(Gm,"importWithAlgCache");o(Bm,"createLocalJWKSet")});var HS,Km,Jm=I(()=>{V();HS=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new oi:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),Km=HS});function FS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function zm(e,t){let r=new $l(e,t);return async function(n,i){return r.getKey(n,i)}}var $l,Wm=I(()=>{Jm();V();ql();o(FS,"isCloudflareWorkers");$l=class extends gi{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&FS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Km(this._url,this._timeoutDuration,this._options).then(t=>{if(!Fl(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o(zm,"createRemoteJWKSet")});var bs,Qm=I(()=>{Ie();ge();V();ps();ms();bs=class extends lr{static{o(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:un(c,te(i),r),header:c}}}});var jl={};Yi(jl,{decode:()=>bi,encode:()=>qS});var qS,bi,_s=I(()=>{Ie();qS=X,bi=te});function Ym(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(bi(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Zm=I(()=>{_s();ge();$e();o(Ym,"decodeProtectedHeader")});function Xm(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=bi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new le("Invalid JWT Claims Set");return i}var ey=I(()=>{_s();ge();$e();V();o(Xm,"decodeJwt")});async function ty(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return U.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function Vl(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new k("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function ry(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Vl(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Vl(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Vl(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new k("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new k("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return U.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Gl=I(()=>{Te();V();si();o(ty,"generateSecret");o(Vl,"getModulusLengthOption");o(ry,"generateKeyPair")});async function ny(e,t){return ry(e,t)}var iy=I(()=>{Gl();o(ny,"generateKeyPair")});async function oy(e,t){return ty(e,t)}var sy=I(()=>{Gl();o(oy,"generateSecret")});var Es={};Yi(Es,{CompactEncrypt:()=>ln,CompactSign:()=>dn,EmbeddedJWK:()=>jm,EncryptJWT:()=>gs,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>us,GeneralSign:()=>fs,SignJWT:()=>ys,UnsecuredJWT:()=>bs,base64url:()=>jl,calculateJwkThumbprint:()=>Hl,calculateJwkThumbprintUri:()=>qm,compactDecrypt:()=>os,compactVerify:()=>ds,createLocalJWKSet:()=>Bm,createRemoteJWKSet:()=>zm,decodeJwt:()=>Xm,decodeProtectedHeader:()=>Ym,errors:()=>sl,exportJWK:()=>ss,exportPKCS8:()=>Sm,exportSPKI:()=>Tm,flattenedDecrypt:()=>on,flattenedVerify:()=>sn,generalDecrypt:()=>_m,generalVerify:()=>Rm,generateKeyPair:()=>ny,generateSecret:()=>oy,importJWK:()=>ar,importPKCS8:()=>fm,importSPKI:()=>pm,importX509:()=>hm,jwtDecrypt:()=>Lm,jwtVerify:()=>Nm});var ws=I(()=>{Il();is();Em();Im();Cl();ls();Om();Cm();Dm();Ul();cs();Ml();hs();km();Hm();Fm();$m();Vm();ql();Wm();Qm();Pl();di();Zm();ey();V();iy();sy();_s()});var Ts=g(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.fetchRetry=void 0;var $S=D();async function jS(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new $S.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(jS,"fetchRetry");vs.fetchRetry=jS});var pn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var ay=(ws(),Zi(Es)),VS=D(),GS=Ts();async function BS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new ay.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(BS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=BS;async function KS(e,t,r){return Kl(e,{token:t,returnSecureToken:!0},r)}o(KS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=KS;async function JS(e,t,r){return Kl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(JS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=JS;async function Kl(e,t,r){let n=await(0,GS.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new VS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Kl,"fetchToken");Ze.fetchToken=Kl;var Bl=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,ay.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=Bl});var Is=g(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.GoogleLogTransport=kt.ZuploToGCPMap=kt.GoogleCloudLoggingPlugin=void 0;var zS=ve(),Jl=Y(),zl=pn(),WS=Dt(),cy=bt(),Wl=class extends WS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ss(this.options)}};kt.GoogleCloudLoggingPlugin=Wl;var QS="https://logging.googleapis.com/v2/entries:write?alt=json";kt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ss=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Jl.Environment.instance.loggingEnvironmentType,this.#o=Jl.Environment.instance.loggingEnvironmentStage,this.#n=Jl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,cy.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await zl.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:kt.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,cy.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await zl.GcpServiceAccount.init(this.#e));let r=await(0,zl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(QS,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new zS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};kt.GoogleLogTransport=Ss});var Ql=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.gcpLogFormat=hn.GCP_LOG_FORMAT=void 0;var uy=bt(),YS=Is();hn.GCP_LOG_FORMAT="gcp";function ZS(e){let t={allMessages:(0,uy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,uy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:YS.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(ZS,"gcpLogFormat");hn.gcpLogFormat=ZS});var dy=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.ConsoleTransport=void 0;var ly=Ql(),Yl=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===ly.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,ly.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Ps.ConsoleTransport=Yl});var nd=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.DataDogTransport=fn.DataDogLoggingPlugin=void 0;var XS=ve(),Zl=Y(),eI=Dt(),py=bt(),rd=class extends eI.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new As(this.options)}};fn.DataDogLoggingPlugin=rd;var Xl="__ddtags",ed="__ddattr",td=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),tI=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(td(n)):r.push(`${td(n)}:${td(i.toString())}`)}),r.join(",")},"formatTags"),As=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Zl.Environment.instance.loggingEnvironmentType,this.#i=Zl.Environment.instance.loggingEnvironmentStage,this.#r=Zl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[Xl];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Xl]!==void 0);a>-1&&(Object.assign(n,s[a][Xl]),s.splice(a,1));let c={},u=r.custom[ed];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[ed]!==void 0);l>-1&&(Object.assign(c,s[l][ed]),s.splice(l,1));let d=(0,py.makeErrorsSerializable)(s),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,py.extractBestMessage)(d),service:t.loggingId,ddtags:tI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new XS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};fn.DataDogTransport=As});var fy=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.ProcessTransport=void 0;var hy=Ql(),id=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===hy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,hy.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};Rs.ProcessTransport=id});var yy=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.RemoteLogTransport=void 0;var rI=ve(),my=Y(),nI=bt(),iI=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,nI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":my.Environment.instance.systemUserAgent,"zp-dn":my.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Os,od=class{static{o(this,"RemoteLogTransport")}constructor(t){Os||(Os=new rI.BatchDispatch("remote-log-transport",1,iI(t)))}async log(t,r){Os.enqueue(t),r.waitUntil(Os.waitUntilFlushed())}};xs.RemoteLogTransport=od});var gy=g(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.unifiedFormatter=Lr.SeverityNumberOpenTelemetryMap=void 0;Lr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var oI=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Lr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Lr.unifiedFormatter=oI});var _y=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.UnifiedLogTransport=void 0;var sI=ve(),by=Y(),aI=gy(),cI=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,aI.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":by.Environment.instance.systemUserAgent,"zp-dn":by.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ns,sd=class{static{o(this,"UnifiedLogTransport")}constructor(t){Ns||(Ns=new sI.BatchDispatch("unified-log-transport",1,cI(t)))}async log(t,r){Ns.enqueue(t),r.waitUntil(Ns.waitUntilFlushed())}};Cs.UnifiedLogTransport=sd});var Py=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.LogInitializer=void 0;var uI=Tr(),lI=yt(),Ey=Ku(),wy=Y(),vy=Sf(),dI=Dt(),pI=If(),Ty=Pf(),Sy=dy(),hI=nd(),fI=Is(),Iy=fy(),mI=yy(),yI=_y(),ad=(0,uI.debug)("zuplo:logging"),cd=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(wy.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(wy.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;ad("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Ey.SYSTEM_LOGGER);return i?n.push(new Iy.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new Sy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new yI.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new vy.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){ad("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,s=this.serviceProvider.getService(Ey.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new Iy.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&r.push(new Sy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new mI.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new fI.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new hI.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return lI.plugins.forEach(a=>{a instanceof dI.LogPlugin&&r.push(a.getTransport())}),new vy.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,s){ad("Gateway.createRequestLoggers");let a=new pI.LoggingContext(n,i,s),c=new Ty.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Ty.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Ls.LogInitializer=cd});var ld=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.UserRouteConfiguration=void 0;var ud=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ds.UserRouteConfiguration=ud});var pd=g(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.Router=vt.RouterError=vt.LookupResult=vt.RouterEntry=void 0;var Ay=D(),gI=ot(),bI=ld(),Us=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};vt.RouterEntry=Us;var _i=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};vt.LookupResult=_i;var Ms=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};vt.RouterError=Ms;var dd=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof bI.UserRouteConfiguration||t instanceof gI.SystemRouteConfiguration))throw new Ay.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new Us(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Ms(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new Ay.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new _i(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new _i(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};vt.Router=dd});var mn=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.Gateway=void 0;var _I=Tr(),Ry=Zh(),Oy=af(),EI=cf(),xy=uf(),Ny=hf(),Ht=Xn(),ks=Sr(),Cy=Tf(),St=D(),Ei=yt(),wI=Py(),vI=Nt(),TI=se(),SI=Gu(),II=Qt(),PI=zr(),AI=He(),RI=pd(),hd=ot(),Ly=ld(),OI=Le(),xI=No(),Dy=Y(),Uy=Or(),NI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],Tt=(0,_I.debug)("zuplo:runtime"),CI=o(e=>{let t=e.findIndex(r=>r.name===hd.systemNoVersion.name);return t>-1?[...e.splice(t),hd.systemNoVersion]:[...e,hd.systemNoVersion]},"setupSystemNoVersion"),fd=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,Tt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new wI.LogInitializer(n)}static async initialize(t,r,n,i,s){if(Tt("Gateway.initialize"),!e.#e){await(0,Ei.initializeRuntime)(s);let a={...t,corsPolicies:(0,xI.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new St.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[PI.policyProcessor,SI.corsProcessor,II.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=CI(t.versions),n=new RI.Router(r);if(t.routes.length===0)return(0,Ry.registerBuildRoute)(n,this),(0,Ny.registerPingRoute)(n,this),(0,Oy.registerCorsRoute)(n,this),(0,EI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Cy.registerDevPortalLegacyRedirectRoute)(n,this),(0,Cy.registerDevPortalV3Route)(n,this)),(0,Ry.registerBuildRoute)(n,this),(0,Ny.registerPingRoute)(n,this),(0,Oy.registerCorsRoute)(n,this);for(let s of Ei.plugins)s instanceof Ei.SystemRuntimePlugin&&s.registerRoutes(n,this);return t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new St.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new vI.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Ly.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,xy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new St.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Tt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Tt("Gateway.internalErrorResponse");let i={};if(Dy.Environment.instance.isDeno){if(n instanceof St.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Uy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Uy.cleanStack)(s.stack)),i={cause:s}}}return TI.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ht.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Dy.Environment.instance.isDeno&&Ht.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ht.REQUEST_ID_HEADER)??t.headers.get(Ht.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ht.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Ht.REQUEST_ID_HEADER,n),t=new Request(t,{headers:T})}if(["GET","HEAD"].includes(t.method)&&t.body){let T=new Headers(t.headers);T.set(Ht.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new St.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new ks.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new AI.ZuploRequest(m,{params:d.params}),y=new ks.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),w=ks.ZuploContextExtensions.initialize(y,h);if(d.routeConfiguration===xy.notFoundRouteConfiguration&&Ei.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);w.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof Ly.UserRouteConfiguration)}try{if(OI.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let F=await(0,Ei.invokeOnRequestExtensions)(h,y);if(F instanceof Response)return F;{let N=ks.ZuploContextExtensions.getContextExtensions(y);h=F,N.latestRequest=h}}[...NI,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(F=>new RegExp(F).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;LI(S,d,t),Tt("Gateway.handleRequest - call user handler");let L=await S(h,y);if(Tt("Gateway.handleRequest - user handler"),!(L instanceof Response))throw new St.RuntimeError(`Invalid Response type from the request handler: ${typeof L}`);if(L.bodyUsed)throw new St.RuntimeError("The response object has already been used. Return a new response instead.");if(L.headers.get(Ht.REQUEST_ID_HEADER)===null&&!L.webSocket){let F=new Headers(L.headers);return F.set(Ht.REQUEST_ID_HEADER,n),new Response(L.body,{status:L.status,statusText:L.statusText,headers:F,cf:L.cf})}else return L}catch(T){return Tt("Gateway - error executing handler",T),T instanceof St.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,y,T)}}};Hs.Gateway=fd;function LI(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new St.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new St.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(LI,"checkHandler")});var My=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.invokeInboundPolicy=void 0;var DI=D(),UI=mn(),MI=zr(),kI=o(async(e,t,r)=>{let n=UI.Gateway.instance.routeData.policies,i=(0,MI.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new DI.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");Fs.invokeInboundPolicy=kI});var Sr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Xn(),HI=D(),FI=My(),md=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=md;var yd=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=yd;var gd=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=gd;var wi=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new HI.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};Xe.ZuploContextExtensions=wi;var bd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,FI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{wi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{wi.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=bd});var $s=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.ContextData=void 0;var _d=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};qs.ContextData=_d});var Ed=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var qI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function ky(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!qI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(ky,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=ky;function Hy(e){return!!e.startsWith("ZUPLO_")}o(Hy,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=Hy;var $I=new Proxy({},{get(e,t){if(ky(String(t))&&!Hy(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=$I});var wd=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.externalServiceHandler=yn.externalServiceTunnelConfig=void 0;var jI=Tr(),Dr=D(),VI=vd(),vi=Y(),ut=(0,jI.debug)("zuplo:runtime:external-service");function qy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=vi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(qy,"getServiceAuth");async function GI(e){let t=qy();if(!t)throw ut("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(vi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=vi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await $y(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(GI,"externalServiceTunnelConfig");yn.externalServiceTunnelConfig=GI;async function BI(e,t){let r=qy();if(r)if(ut(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(vi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=vi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await $y(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,VI.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Dr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.")}o(BI,"externalServiceHandler");yn.externalServiceHandler=BI;async function $y(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=KI(n);ut(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await Fy(`${s}-${i}`),l=await Fy(`${s}-${a}-${c}`);return`${u}.${l}`}o($y,"hashServiceName");async function Fy(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(Fy,"hashSegment");function KI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(KI,"sanitizeEnvironmentType")});var vd=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.originalFetch=void 0;var JI=wd(),jy=new Map;jy.set("service:",JI.externalServiceHandler);gn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=zI(t);if(typeof e=="string"){let n=new URL(e),i=jy.get(n.protocol);return i?i(e,r):(0,gn.originalFetch)(e,r)}else return(0,gn.originalFetch)(e,r)};var zI=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var By=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.Handler=bn.purgeGatewayCache=void 0;var WI=D(),Gy=mn(),Vy=Y(),QI=o(()=>{Gy.Gateway.purgeGatewayCache()},"purgeGatewayCache");bn.purgeGatewayCache=QI;var Td=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Vy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Gy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof WI.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Vy.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};bn.Handler=Td});var Wy=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function YI(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(YI,"lexer");function Sd(e,t){t===void 0&&(t={});for(var r=YI(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(_n(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var me=d(ne);if(me!==void 0)return me;var Be=r[u],E=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(ne))},"mustConsume"),m=o(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),y=d("NAME"),w=d("PATTERN");if(y||w){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:w||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var L=d("OPEN");if(L){var T=m(),F=d("NAME")||"",N=d("PATTERN")||"",re=m();p("CLOSE"),a.push({name:F||(N?c++:""),pattern:F&&!N?s:N,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(Sd,"parse");Re.parse=Sd;function ZI(e,t){return Ky(Sd(e,t),t)}o(ZI,"compile");Re.compile=ZI;function Ky(e,t){t===void 0&&(t={});var r=Id(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var w=0;w<m.length;w++){var T=i(m[w],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var T=i(String(m),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(Ky,"tokensToFunction");Re.tokensToFunction=Ky;function XI(e,t){var r=[],n=Pd(e,r,t);return Jy(n,r,t)}o(XI,"match");Re.match=XI;function Jy(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(y){return i(y,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Jy,"regexpToFunction");Re.regexpToFunction=Jy;function _n(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(_n,"escapeString");function Id(e){return e&&e.sensitive?"":"i"}o(Id,"flags");function eP(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(eP,"regexpToRegexp");function tP(e,t,r){var n=e.map(function(i){return Pd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Id(r))}o(tP,"arrayToRegexp");function rP(e,t,r){return zy(Sd(e,r),t,r)}o(rP,"stringToRegexp");function zy(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,y=h===void 0?"":h,w="[".concat(_n(y),"]|$"),T="[".concat(_n(m),"]"),S=a?"^":"",L=0,F=e;L<F.length;L++){var N=F[L];if(typeof N=="string")S+=_n(d(N));else{var re=_n(d(N.prefix)),ne=_n(d(N.suffix));if(N.pattern)if(t&&t.push(N),re||ne)if(N.modifier==="+"||N.modifier==="*"){var me=N.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(N.pattern,")(?:").concat(ne).concat(re,"(?:").concat(N.pattern,"))*)").concat(ne,")").concat(me)}else S+="(?:".concat(re,"(").concat(N.pattern,")").concat(ne,")").concat(N.modifier);else N.modifier==="+"||N.modifier==="*"?S+="((?:".concat(N.pattern,")").concat(N.modifier,")"):S+="(".concat(N.pattern,")").concat(N.modifier);else S+="(?:".concat(re).concat(ne,")").concat(N.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(w,")"):"$";else{var Be=e[e.length-1],E=typeof Be=="string"?T.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(S+="(?:".concat(T,"(?=").concat(w,"))?")),E||(S+="(?=".concat(T,"|").concat(w,")"))}return new RegExp(S,Id(r))}o(zy,"tokensToRegexp");Re.tokensToRegexp=zy;function Pd(e,t,r){return e instanceof RegExp?eP(e,t):Array.isArray(e)?tP(e,t,r):rP(e,t,r)}o(Pd,"pathToRegexp");Re.pathToRegexp=Pd});var xd=g(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.AwsV4Signer=En.AwsClient=void 0;var nP=Tr(),Xy=D(),iP=(0,nP.debug)("zuplo:runtime"),Rd=new TextEncoder,Qy={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},oP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Od=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new js(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){iP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Xy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};En.AwsClient=Od;var js=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:h,allHeaders:y,singleEncode:w}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=sP(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let L=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),L.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&L.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(N=>y||!oP.includes(N)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(N=>N+":"+(N==="host"?this.url.host:(this.headers.get(N)||"").replace(/\s+/g," "))).join(`
60
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!L.has("X-Amz-Expires")&&L.set("X-Amz-Expires","86400"),L.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),L.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),L.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");w||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Zy(this.encodedPath);let F=new Set;this.encodedSearch=[...this.url.searchParams].filter(([N])=>{if(!N)return!1;if(this.service==="s3"){if(F.has(N))return!1;F.add(N)}return!0}).map(N=>N.map(re=>Zy(encodeURIComponent(re)))).sort(([N,re],[ne,me])=>N<ne?-1:N>ne?1:re<me?-1:re>me?1:0).map(N=>N.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await Ti("AWS4"+this.secretAccessKey,t),s=await Ti(i,this.region),a=await Ti(s,this.service);n=await Ti(a,"aws4_request"),this.cache.set(r,n)}return Ad(await Ti(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Ad(await Yy(await this.canonicalString()))].join(`
59
+ -----END ${t}-----`},"default")});function nm(e){let t=[],r=0;for(;r<e.length;){let n=um(e.subarray(r));t.push(n),r+=n.byteLength}return t}function um(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let o=t+n+2;return{byteLength:o,contents:e.subarray(t,t+n),raw:e.subarray(0,o)}}else{let o=e[t]&127;t++,n=0;for(let a=0;a<o;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function gS(e){let t=nm(nm(um(e).contents)[0].contents);return Jo(t[t[0].raw[0]===160?6:5].raw)}function bS(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ol(t);return _l(gS(r),"PUBLIC KEY")}var im,om,sm,ar,rm,am,cm,El,lm,ns=I(()=>{Te();at();Ie();tm();V();ct();im=s(async(e,t,r)=>{if(!ae(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return _l(Jo(new Uint8Array(await U.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),om=s(e=>im("public","spki",e),"toSPKI"),sm=s(e=>im("private","pkcs8",e),"toPKCS8"),ar=s((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((o,a)=>o===t[a])||ar(e,t,n+1)},"findOid"),rm=s(e=>{switch(!0){case ar(e,[42,134,72,206,61,3,1,7]):return"P-256";case ar(e,[43,129,4,0,34]):return"P-384";case ar(e,[43,129,4,0,35]):return"P-521";case ar(e,[43,101,110]):return"X25519";case ar(e,[43,101,111]):return"X448";case ar(e,[43,101,112]):return"Ed25519";case ar(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),am=s(async(e,t,r,n,i)=>{var o;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=rm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:rm(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return U.subtle.importKey(t,u,a,(o=i?.extractable)!==null&&o!==void 0?o:!1,c)},"genericImport"),cm=s((e,t,r)=>am(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),El=s((e,t,r)=>am(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(nm,"getElement");s(um,"parseElement");s(gS,"spkiFromX509");s(bS,"getSPKI");lm=s((e,t,r)=>{let n;try{n=bS(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return El(n,t,r)},"fromX509")});function _S(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new M(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new M('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var ES,wl,dm=I(()=>{Te();V();Ie();s(_S,"subtleMapping");ES=s(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=_S(e),o=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return U.subtle.importKey("raw",te(e.k),...o);let a={...e};return delete a.alg,delete a.use,U.subtle.importKey("jwk",a,...o)},"parse"),wl=ES});async function pm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return El(e,t,r)}async function hm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return lm(e,t,r)}async function fm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return cm(e,t,r)}async function cr(e,t,r){var n;if(!Q(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?wl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):te(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return wl({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var di=I(()=>{Ie();ns();dm();V();$e();s(pm,"importSPKI");s(hm,"importX509");s(fm,"importPKCS8");s(cr,"importJWK")});var wS,vS,TS,ur,pi=I(()=>{at();ct();wS=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!dl(t))throw new TypeError(ll(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),vS=s((e,t,r)=>{if(!dl(t))throw new TypeError(ll(e,t,...W));if(t.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),TS=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?wS(e,t):vS(e,t,r)},"checkKeyType"),ur=TS});async function SS(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let o=parseInt(e.slice(1,4),10),a=await U.subtle.importKey("raw",r.subarray(o>>3),"AES-CBC",!1,["encrypt"]),c=await U.subtle.importKey("raw",r.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await U.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,Go(i.length<<3)),d=new Uint8Array((await U.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function IS(e,t,r,n,i){let o;r instanceof Uint8Array?o=await U.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(r,e,"encrypt"),o=r);let a=new Uint8Array(await U.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},o,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var PS,hi,vl=I(()=>{ge();cl();ul();Te();sr();at();V();ct();s(SS,"cbcEncrypt");s(IS,"gcmEncrypt");PS=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Qo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(-3),10)),SS(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(1,4),10)),IS(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),hi=PS});async function mm(e,t,r,n){let i=e.slice(0,7);n||(n=zo(i));let{ciphertext:o,tag:a}=await hi(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function ym(e,t,r,n,i){let o=e.slice(0,7);return Zo(o,t,r,n,i,new Uint8Array(0))}var Tl=I(()=>{vl();pl();Wo();Ie();s(mm,"wrap");s(ym,"unwrap")});async function AS(e,t,r,n,i){switch(ur(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ts(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await cr(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new A('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await es(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?ui(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new A("JWE Encrypted Key missing");return ci(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new A("JWE Encrypted Key missing");return em(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new A('JOSE Header "p2c" (PBES2 Count) missing or invalid');let o=i?.maxPBES2Count||1e4;if(n.p2c>o)throw new A('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new A('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Yf(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");return ci(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new A('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new A('JOSE Header "tag" (Authentication Tag) missing or invalid');let o=te(n.iv),a=te(n.tag);return ym(e,t,r,o,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var gm,bm=I(()=>{Xo();ml();gl();bl();Ie();V();li();di();pi();$e();Tl();s(AS,"decryptKeyManagement");gm=AS});function RS(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let o;r!==void 0?o=new Map([...Object.entries(r),...t.entries()]):o=t;for(let a of n.crit){if(!o.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(o.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var wt,nn=I(()=>{V();s(RS,"validateCrit");wt=RS});var OS,fi,Sl=I(()=>{OS=s((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),fi=OS});async function on(e,t,r){var n;if(!Q(e))throw new A("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new A("JOSE Header missing");if(typeof e.iv!="string")throw new A("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new A("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new A("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new A("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new A("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new A("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=te(e.protected);i=JSON.parse(ue.decode(j))}catch{throw new A("JWE Protected Header is invalid")}if(!_t(i,e.header,e.unprotected))throw new A("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(wt(A,new Map,r?.crit,i,o),o.zip!==void 0){if(!i||!i.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(o.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=o;if(typeof a!="string"||!a)throw new A("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new A("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&fi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&fi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new rr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new rr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await gm(a,t,d,o,r)}catch(j){if(j instanceof TypeError||j instanceof A||j instanceof M)throw j;m=Et(c)}let h=te(e.iv),y=te(e.tag),w=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(w,Z.encode("."),Z.encode(e.aad)):T=w;let S=await Zo(c,m,te(e.ciphertext),h,y,T);o.zip==="DEF"&&(S=await(r?.inflateRaw||jf)(S));let D={plaintext:S};return e.protected!==void 0&&(D.protectedHeader=i),e.aad!==void 0&&(D.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(D.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(D.unprotectedHeader=e.header),p?{...D,key:t}:D}var is=I(()=>{Ie();pl();hl();V();en();$e();bm();ge();li();nn();Sl();s(on,"flattenedDecrypt")});async function os(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new A("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:o,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new A("Invalid Compact JWE");let l=await on({ciphertext:a,iv:o||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var Il=I(()=>{is();V();ge();s(os,"compactDecrypt")});async function _m(e,t,r){if(!Q(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(let n of e.recipients)try{return await on({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new kt}var Em=I(()=>{is();V();$e();s(_m,"generalDecrypt")});var xS,wm,vm=I(()=>{Te();at();Ie();ct();xS=s(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(ie(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...o}=await U.subtle.exportKey("jwk",e);return o},"keyToJWK"),wm=xS});async function Tm(e){return om(e)}async function Sm(e){return sm(e)}async function ss(e){return wm(e)}var Pl=I(()=>{ns();ns();vm();s(Tm,"exportSPKI");s(Sm,"exportPKCS8");s(ss,"exportJWK")});async function NS(e,t,r,n,i={}){let o,a,c;switch(ur(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ts(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await Kf(r)).privateKey);let{x:p,y:m,crv:h,kty:y}=await ss(d),w=await es(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?ui(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=w;break}c=n||Et(t);let T=e.slice(-6);o=await ai(T,w,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||Et(t),o=await Xf(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||Et(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await Qf(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||Et(t),o=await ai(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||Et(t);let{iv:u}=i;({encryptedKey:o,...a}=await mm(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:o,parameters:a}}var as,Al=I(()=>{Xo();ml();gl();bl();Ie();li();V();Pl();pi();Tl();s(NS,"encryptKeyManagement");as=NS});var Rl,Mt,cs=I(()=>{Ie();vl();hl();Wo();Al();V();en();ge();nn();Rl=Symbol(),Mt=class{static{s(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new A("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!_t(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(wt(A,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:o}=n;if(typeof i!="string"||!i)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof o!="string"||!o)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let y;({cek:c,encryptedKey:a,parameters:y}=await as(i,o,t,this._cek,this._keyManagementParameters)),y&&(r&&Rl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=zo(o));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Se(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||Vf)(this._plaintext);({ciphertext:p,tag:m}=await hi(o,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await hi(o,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(m)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Ol,us,Im=I(()=>{cs();V();li();en();Al();Ie();nn();Ol=class{static{s(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},us=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Ol(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new A("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!_t(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new A('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!o)o=d.enc;else if(o!==d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(wt(A,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=Et(o),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let w=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[Rl]:!0});c.ciphertext=w.ciphertext,c.iv=w.iv,c.tag=w.tag,w.aad&&(c.aad=w.aad),w.protected&&(c.protected=w.protected),w.unprotected&&(c.unprotected=w.unprotected),d.encrypted_key=w.encrypted_key,w.header&&(d.header=w.header);continue}let{encryptedKey:h,parameters:y}=await as(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),o,l.key,a,{p2c:m});d.encrypted_key=X(h),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function mi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var xl=I(()=>{V();s(mi,"subtleDsa")});function yi(e,t,r){if(ae(t))return qf(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(ie(t,...W));return U.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(t,...W,"Uint8Array"))}var Nl=I(()=>{Te();sr();at();ct();s(yi,"getCryptoKey")});var CS,Pm,Am=I(()=>{xl();Te();rs();Nl();CS=s(async(e,t,r,n)=>{let i=await yi(e,t,"verify");Lr(e,i);let o=mi(e,i.algorithm);try{return await U.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),Pm=CS});async function sn(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(ue.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!_t(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=wt(z,new Map([["b64",!0]]),r?.crit,i,o),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=o;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&fi("algorithms",r.algorithms);if(l&&!l.has(u))throw new rr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),ur(u,t,"verify");let p=Se(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=te(e.signature);if(!await Pm(u,t,m,p))throw new Cr;let y;c?y=te(e.payload):typeof e.payload=="string"?y=Z.encode(e.payload):y=e.payload;let w={payload:y};return e.protected!==void 0&&(w.protectedHeader=i),e.header!==void 0&&(w.unprotectedHeader=e.header),d?{...w,key:t}:w}var ls=I(()=>{Ie();Am();V();ge();en();$e();pi();nn();Sl();s(sn,"flattenedVerify")});async function ds(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:o,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await sn({payload:i,protected:n,signature:o},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Cl=I(()=>{ls();V();ge();s(ds,"compactVerify")});async function Rm(e,t,r){if(!Q(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await sn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Cr}var Om=I(()=>{ls();V();$e();s(Rm,"generalVerify")});var an,Ll=I(()=>{an=s(e=>Math.floor(e.getTime()/1e3),"default")});var LS,cn,Dl=I(()=>{LS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,cn=s(e=>{let t=LS.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var xm,DS,un,ps=I(()=>{V();ge();Ll();Dl();$e();xm=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),DS=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),un=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||xm(e.typ)!==xm(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Q(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:o=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&o.push("iat"),u!==void 0&&o.push("aud"),c!==void 0&&o.push("sub"),a!==void 0&&o.push("iss");for(let h of new Set(o.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!DS(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=cn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=an(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new Zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,y=typeof l=="number"?l:cn(l);if(h-d>y)throw new Zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Nm(e,t,r){var n;let i=await ds(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:un(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Cm=I(()=>{Cl();ps();V();s(Nm,"jwtVerify")});async function Lm(e,t,r){let n=await os(e,t,r),i=un(n.protectedHeader,n.plaintext,r),{protectedHeader:o}=n;if(o.iss!==void 0&&o.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(o.sub!==void 0&&o.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(o.aud!==void 0&&JSON.stringify(o.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:o};return typeof t=="function"?{...a,key:n.key}:a}var Dm=I(()=>{Il();ps();V();s(Lm,"jwtDecrypt")});var ln,Ul=I(()=>{cs();ln=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new Mt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var US,Um,km=I(()=>{xl();Te();rs();Nl();US=s(async(e,t,r)=>{let n=await yi(e,t,"sign");Lr(e,n);let i=await U.subtle.sign(mi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Um=US});var lr,hs=I(()=>{Ie();km();en();V();ge();pi();nn();lr=class{static{s(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!_t(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=wt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');ur(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Se(u,Z.encode("."),c),d=await Um(a,t,l),p={signature:X(d),payload:""};return o&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var dn,kl=I(()=>{hs();dn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new lr(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Ml,fs,Mm=I(()=>{hs();V();Ml=class{static{s(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},fs=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Ml(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new lr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var dr,ms=I(()=>{Ll();$e();Dl();dr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:an(new Date)+cn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:an(new Date)+cn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:an(new Date)}:this._payload={...this._payload,iat:t},this}}});var ys,Hm=I(()=>{kl();V();ge();ms();ys=class extends dr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new dn(Z.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var gs,Fm=I(()=>{Ul();ge();ms();gs=class extends dr{static{s(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new ln(Z.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function Hl(e,t){if(!Q(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":pr(e.crv,'"crv" (Curve) Parameter'),pr(e.x,'"x" (X Coordinate) Parameter'),pr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":pr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),pr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":pr(e.e,'"e" (Exponent) Parameter'),pr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":pr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await jo(t,n))}async function qm(e,t){t??(t="sha256");let r=await Hl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var pr,$m=I(()=>{nl();Ie();V();ge();$e();pr=s((e,t)=>{if(typeof e!="string"||!e)throw new ni(`${t} missing or invalid`)},"check");s(Hl,"calculateJwkThumbprint");s(qm,"calculateJwkThumbprintUri")});async function jm(e,t){let r={...e,...t?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await cr({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Vm=I(()=>{di();$e();V();s(jm,"EmbeddedJWK")});function kS(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new M('Unsupported "alg" value for a JSON Web Key Set')}}function Fl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(MS)}function MS(e){return Q(e)}function HS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Gm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await cr({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new nr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Bm(e){let t=new gi(e);return async function(r,n){return t.getKey(r,n)}}var gi,ql=I(()=>{di();V();$e();s(kS,"getKtyFromAlg");s(Fl,"isJWKSLike");s(MS,"isJWKLike");s(HS,"clone");gi=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Fl(t))throw new nr("JSON Web Key Set malformed");this._jwks=HS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=kS(n),a=this._jwks.keys.filter(l=>{let d=o===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new Nr;if(u!==1){let l=new ii,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Gm(d,p,n)}catch{continue}},l}return Gm(this._cached,c,n)}};s(Gm,"importWithAlgCache");s(Bm,"createLocalJWKSet")});var FS,Km,Jm=I(()=>{V();FS=s(async(e,t,r)=>{let n,i,o=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{o=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw o?new oi:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),Km=FS});function qS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function zm(e,t){let r=new $l(e,t);return async function(n,i){return r.getKey(n,i)}}var $l,Wm=I(()=>{Jm();V();ql();s(qS,"isCloudflareWorkers");$l=class extends gi{static{s(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof Nr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&qS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Km(this._url,this._timeoutDuration,this._options).then(t=>{if(!Fl(t))throw new nr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};s(zm,"createRemoteJWKSet")});var bs,Qm=I(()=>{Ie();ge();V();ps();ms();bs=class extends dr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:un(c,te(i),r),header:c}}}});var jl={};Yi(jl,{decode:()=>bi,encode:()=>$S});var $S,bi,_s=I(()=>{Ie();$S=X,bi=te});function Ym(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(bi(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Zm=I(()=>{_s();ge();$e();s(Ym,"decodeProtectedHeader")});function Xm(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=bi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new le("Invalid JWT Claims Set");return i}var ey=I(()=>{_s();ge();$e();V();s(Xm,"decodeJwt")});async function ty(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),ir(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},o=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return U.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,o)}function Vl(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new M("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function ry(e,t){var r,n,i;let o,a;switch(e){case"PS256":case"PS384":case"PS512":o={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Vl(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":o={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Vl(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":o={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Vl(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":o={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":o={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":o={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":o={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{o={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":o={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return U.subtle.generateKey(o,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Gl=I(()=>{Te();V();si();s(ty,"generateSecret");s(Vl,"getModulusLengthOption");s(ry,"generateKeyPair")});async function ny(e,t){return ry(e,t)}var iy=I(()=>{Gl();s(ny,"generateKeyPair")});async function oy(e,t){return ty(e,t)}var sy=I(()=>{Gl();s(oy,"generateSecret")});var Es={};Yi(Es,{CompactEncrypt:()=>ln,CompactSign:()=>dn,EmbeddedJWK:()=>jm,EncryptJWT:()=>gs,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>lr,GeneralEncrypt:()=>us,GeneralSign:()=>fs,SignJWT:()=>ys,UnsecuredJWT:()=>bs,base64url:()=>jl,calculateJwkThumbprint:()=>Hl,calculateJwkThumbprintUri:()=>qm,compactDecrypt:()=>os,compactVerify:()=>ds,createLocalJWKSet:()=>Bm,createRemoteJWKSet:()=>zm,decodeJwt:()=>Xm,decodeProtectedHeader:()=>Ym,errors:()=>sl,exportJWK:()=>ss,exportPKCS8:()=>Sm,exportSPKI:()=>Tm,flattenedDecrypt:()=>on,flattenedVerify:()=>sn,generalDecrypt:()=>_m,generalVerify:()=>Rm,generateKeyPair:()=>ny,generateSecret:()=>oy,importJWK:()=>cr,importPKCS8:()=>fm,importSPKI:()=>pm,importX509:()=>hm,jwtDecrypt:()=>Lm,jwtVerify:()=>Nm});var ws=I(()=>{Il();is();Em();Im();Cl();ls();Om();Cm();Dm();Ul();cs();kl();hs();Mm();Hm();Fm();$m();Vm();ql();Wm();Qm();Pl();di();Zm();ey();V();iy();sy();_s()});var Ts=g(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.fetchRetry=void 0;var jS=L();async function VS(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let o=await i;if(o.status<500&&o.status!==429)return o;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:o.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new jS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(VS,"fetchRetry");vs.fetchRetry=VS});var pn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var ay=(ws(),Zi(Es)),GS=L(),BS=Ts();async function KS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new ay.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(KS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=KS;async function JS(e,t,r){return Kl(e,{token:t,returnSecureToken:!0},r)}s(JS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=JS;async function zS(e,t,r){return Kl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(zS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=zS;async function Kl(e,t,r){let n=await(0,BS.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let o;try{let a=await n.text(),c=JSON.parse(a);o={cause:c.error??c}}catch{}throw new GS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(Kl,"fetchToken");Ze.fetchToken=Kl;var Bl=class e{static{s(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,ay.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=Bl});var Is=g(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var WS=ve(),Jl=Y(),zl=pn(),QS=Ut(),cy=bt(),Wl=class extends QS.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ss(this.options)}};Ht.GoogleCloudLoggingPlugin=Wl;var YS="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ss=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Jl.Environment.instance.loggingEnvironmentType,this.#o=Jl.Environment.instance.loggingEnvironmentStage,this.#n=Jl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,cy.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await zl.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ht.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(o.labels.rayId=t.rayId);let a=(0,cy.extractBestMessage)(n.allMessages);o.jsonPayload={...n,message:a},this.batcher.enqueue(o),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await zl.GcpServiceAccount.init(this.#e));let r=await(0,zl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(YS,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new WS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=Ss});var Ql=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.gcpLogFormat=hn.GCP_LOG_FORMAT=void 0;var uy=bt(),ZS=Is();hn.GCP_LOG_FORMAT="gcp";function XS(e){let t={allMessages:(0,uy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,uy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:ZS.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}s(XS,"gcpLogFormat");hn.gcpLogFormat=XS});var dy=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.ConsoleTransport=void 0;var ly=Ql(),Yl=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===ly.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,ly.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Ps.ConsoleTransport=Yl});var nd=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.DataDogTransport=fn.DataDogLoggingPlugin=void 0;var eI=ve(),Zl=Y(),tI=Ut(),py=bt(),rd=class extends tI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new As(this.options)}};fn.DataDogLoggingPlugin=rd;var Xl="__ddtags",ed="__ddattr",td=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),rI=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(td(n)):r.push(`${td(n)}:${td(i.toString())}`)}),r.join(",")},"formatTags"),As=class{static{s(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Zl.Environment.instance.loggingEnvironmentType,this.#i=Zl.Environment.instance.loggingEnvironmentStage,this.#r=Zl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[Xl];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[Xl]!==void 0);a>-1&&(Object.assign(n,o[a][Xl]),o.splice(a,1));let c={},u=r.custom[ed];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[ed]!==void 0);l>-1&&(Object.assign(c,o[l][ed]),o.splice(l,1));let d=(0,py.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,py.extractBestMessage)(d),service:t.loggingId,ddtags:rI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new eI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};fn.DataDogTransport=As});var fy=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.ProcessTransport=void 0;var hy=Ql(),id=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===hy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,hy.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};Rs.ProcessTransport=id});var yy=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.RemoteLogTransport=void 0;var nI=ve(),my=Y(),iI=bt(),oI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0&&fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:o.map(a=>({...a,messages:(0,iI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":my.Environment.instance.systemUserAgent,"zp-dn":my.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Os,od=class{static{s(this,"RemoteLogTransport")}constructor(t){Os||(Os=new nI.BatchDispatch("remote-log-transport",1,oI(t)))}async log(t,r){Os.enqueue(t),r.waitUntil(Os.waitUntilFlushed())}};xs.RemoteLogTransport=od});var gy=g(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.unifiedFormatter=Dr.SeverityNumberOpenTelemetryMap=void 0;Dr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var sI=s((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Dr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Dr.unifiedFormatter=sI});var _y=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.UnifiedLogTransport=void 0;var aI=ve(),by=Y(),cI=gy(),uI=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,cI.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(o)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":by.Environment.instance.systemUserAgent,"zp-dn":by.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ns,sd=class{static{s(this,"UnifiedLogTransport")}constructor(t){Ns||(Ns=new aI.BatchDispatch("unified-log-transport",1,uI(t)))}async log(t,r){Ns.enqueue(t),r.waitUntil(Ns.waitUntilFlushed())}};Cs.UnifiedLogTransport=sd});var Py=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.LogInitializer=void 0;var lI=Sr(),dI=yt(),Ey=Ku(),wy=Y(),vy=Sf(),pI=Ut(),hI=If(),Ty=Pf(),Sy=dy(),fI=nd(),mI=Is(),Iy=fy(),yI=yy(),gI=_y(),ad=(0,lI.debug)("zuplo:logging"),cd=class{static{s(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(wy.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(wy.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;ad("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Ey.SYSTEM_LOGGER);return i?n.push(new Iy.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new Sy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new gI.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new vy.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){ad("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,o=this.serviceProvider.getService(Ey.SYSTEM_LOGGER);if(o&&o.captureUserLogs===!0?r.push(new Iy.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&r.push(new Sy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new yI.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new mI.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new fI.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return dI.plugins.forEach(a=>{a instanceof pI.LogPlugin&&r.push(a.getTransport())}),new vy.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,o){ad("Gateway.createRequestLoggers");let a=new hI.LoggingContext(n,i,o),c=new Ty.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Ty.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Ls.LogInitializer=cd});var ld=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.UserRouteConfiguration=void 0;var ud=class{static{s(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ds.UserRouteConfiguration=ud});var pd=g(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.Router=vt.RouterError=vt.LookupResult=vt.RouterEntry=void 0;var Ay=L(),bI=ot(),_I=ld(),Us=class{static{s(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};vt.RouterEntry=Us;var _i=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};vt.LookupResult=_i;var ks=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};vt.RouterError=ks;var dd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof _I.UserRouteConfiguration||t instanceof bI.SystemRouteConfiguration))throw new Ay.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(o=>o.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let o=new URLPattern({pathname:i}),a=new Us(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new ks(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new Ay.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let o=n[i],c=o.urlPattern.exec({pathname:r});if(c!==null)return new _i(o.config,o.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new _i(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};vt.Router=dd});var mn=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.Gateway=void 0;var EI=Sr(),Ry=Zh(),Oy=af(),wI=cf(),xy=uf(),Ny=hf(),Ft=Xn(),Ms=Ir(),Cy=Tf(),St=L(),Ei=yt(),vI=Py(),TI=Ct(),SI=se(),II=Gu(),PI=Yt(),AI=zr(),RI=He(),OI=pd(),hd=ot(),Ly=ld(),xI=Le(),NI=No(),Dy=Y(),Uy=xr(),CI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],Tt=(0,EI.debug)("zuplo:runtime"),LI=s(e=>{let t=e.findIndex(r=>r.name===hd.systemNoVersion.name);return t>-1?[...e.splice(t),hd.systemNoVersion]:[...e,hd.systemNoVersion]},"setupSystemNoVersion"),fd=class e{static{s(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,Tt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new vI.LogInitializer(n)}static async initialize(t,r,n,i,o){if(Tt("Gateway.initialize"),!e.#e){await(0,Ei.initializeRuntime)(o);let a={...t,corsPolicies:(0,NI.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new St.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[AI.policyProcessor,II.corsProcessor,PI.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=LI(t.versions),n=new OI.Router(r);if(t.routes.length===0)return(0,Ry.registerBuildRoute)(n,this),(0,Ny.registerPingRoute)(n,this),(0,Oy.registerCorsRoute)(n,this),(0,wI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Cy.registerDevPortalLegacyRedirectRoute)(n,this),(0,Cy.registerDevPortalV3Route)(n,this)),(0,Ry.registerBuildRoute)(n,this),(0,Ny.registerPingRoute)(n,this),(0,Oy.registerCorsRoute)(n,this);for(let o of Ei.plugins)o instanceof Ei.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new St.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new TI.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Ly.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,xy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new St.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Tt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Tt("Gateway.internalErrorResponse");let i={};if(Dy.Environment.instance.isDeno){if(n instanceof St.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,Uy.serializeError)(n.cause);"stack"in o&&(o.stack=(0,Uy.cleanStack)(o.stack)),i={cause:o}}}return SI.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Dy.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Ft.REQUEST_ID_HEADER,n),t=new Request(t,{headers:T})}if(["GET","HEAD"].includes(t.method)&&t.body){let T=new Headers(t.headers);T.set(Ft.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let o={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,o,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new St.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Ms.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new RI.ZuploRequest(m,{params:d.params}),y=new Ms.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),w=Ms.ZuploContextExtensions.initialize(y,h);if(d.routeConfiguration===xy.notFoundRouteConfiguration&&Ei.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);w.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof Ly.UserRouteConfiguration)}try{if(xI.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Ei.invokeOnRequestExtensions)(h,y);if(j instanceof Response)return j;{let C=Ms.ZuploContextExtensions.getContextExtensions(y);h=j,C.latestRequest=h}}[...CI,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;DI(S,d,t),Tt("Gateway.handleRequest - call user handler");let D=await S(h,y);if(Tt("Gateway.handleRequest - user handler"),!(D instanceof Response))throw new St.RuntimeError(`Invalid Response type from the request handler: ${typeof D}`);if(D.bodyUsed)throw new St.RuntimeError("The response object has already been used. Return a new response instead.");if(D.headers.get(Ft.REQUEST_ID_HEADER)===null&&!D.webSocket){let j=new Headers(D.headers);return j.set(Ft.REQUEST_ID_HEADER,n),new Response(D.body,{status:D.status,statusText:D.statusText,headers:j,cf:D.cf})}else return D}catch(T){return Tt("Gateway - error executing handler",T),T instanceof St.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,y,T)}}};Hs.Gateway=fd;function DI(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new St.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new St.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(DI,"checkHandler")});var ky=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.invokeInboundPolicy=void 0;var UI=L(),kI=mn(),MI=zr(),HI=s(async(e,t,r)=>{let n=kI.Gateway.instance.routeData.policies,i=(0,MI.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new UI.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");Fs.invokeInboundPolicy=HI});var Ir=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Xn(),FI=L(),qI=ky(),md=class{static{s(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=md;var yd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=yd;var gd=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=gd;var wi=class e{static{s(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new FI.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let o of this.#r)i=await o(t,r,n);return i}};Xe.ZuploContextExtensions=wi;var bd=class extends EventTarget{static{s(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:o,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=o,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,qI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{wi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{wi.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=s(o=>{try{typeof r=="function"?r(o):r.handleEvent(o)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=bd});var $s=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.ContextData=void 0;var _d=class e{static{s(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};qs.ContextData=_d});var Ed=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.environment=hr.isZuploReadableEnvVariableName=hr.isRestrictedEnvVariableName=void 0;var $I=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function My(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!$I.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(My,"isRestrictedEnvVariableName");hr.isRestrictedEnvVariableName=My;function Hy(e){return!!e.startsWith("ZUPLO_")}s(Hy,"isZuploReadableEnvVariableName");hr.isZuploReadableEnvVariableName=Hy;var jI=new Proxy({},{get(e,t){if(My(String(t))&&!Hy(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});hr.environment=jI});var wd=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.externalServiceHandler=yn.externalServiceTunnelConfig=void 0;var VI=Sr(),Ur=L(),GI=vd(),vi=Y(),ut=(0,VI.debug)("zuplo:runtime:external-service");function qy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=vi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(qy,"getServiceAuth");async function BI(e){let t=qy();if(!t)throw ut("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let o;if(t.customServiceMapping&&t.customServiceMapping[n])o=`https://${t.customServiceMapping[n]}`;else if(vi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=vi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await $y(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(BI,"externalServiceTunnelConfig");yn.externalServiceTunnelConfig=BI;async function KI(e,t){let r=qy();if(r)if(ut(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,o=t??{},a=new Headers(o.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),o.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(vi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=vi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await $y(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,GI.originalFetch)(u.toString(),o);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Ur.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.")}s(KI,"externalServiceHandler");yn.externalServiceHandler=KI;async function $y(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=JI(n);ut(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await Fy(`${o}-${i}`),l=await Fy(`${o}-${a}-${c}`);return`${u}.${l}`}s($y,"hashServiceName");async function Fy(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("").slice(0,-1)}s(Fy,"hashSegment");function JI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(JI,"sanitizeEnvironmentType")});var vd=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.originalFetch=void 0;var zI=wd(),jy=new Map;jy.set("service:",zI.externalServiceHandler);gn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=WI(t);if(typeof e=="string"){let n=new URL(e),i=jy.get(n.protocol);return i?i(e,r):(0,gn.originalFetch)(e,r)}else return(0,gn.originalFetch)(e,r)};var WI=s(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var By=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.Handler=bn.purgeGatewayCache=void 0;var QI=L(),Gy=mn(),Vy=Y(),YI=s(()=>{Gy.Gateway.purgeGatewayCache()},"purgeGatewayCache");bn.purgeGatewayCache=YI;var Td=class{static{s(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Vy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Gy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let o="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof QI.ConfigurationError&&(o=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:o,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Vy.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};bn.Handler=Td});var Wy=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function ZI(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",o=r+1;o<e.length;){var a=e.charCodeAt(o);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[o++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=o;continue}if(n==="("){var c=1,u="",o=r+1;if(e[o]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(o));for(;o<e.length;){if(e[o]==="\\"){u+=e[o++]+e[o++];continue}if(e[o]===")"){if(c--,c===0){o++;break}}else if(e[o]==="("&&(c++,e[o+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(o));u+=e[o++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}s(ZI,"lexer");function Sd(e,t){t===void 0&&(t={});for(var r=ZI(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(_n(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=s(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=s(function(ne){var me=d(ne);if(me!==void 0)return me;var Be=r[u],E=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(ne))},"mustConsume"),m=s(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),y=d("NAME"),w=d("PATTERN");if(y||w){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:w||o,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var D=d("OPEN");if(D){var T=m(),j=d("NAME")||"",C=d("PATTERN")||"",re=m();p("CLOSE"),a.push({name:j||(C?c++:""),pattern:j&&!C?o:C,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}s(Sd,"parse");Re.parse=Sd;function XI(e,t){return Ky(Sd(e,t),t)}s(XI,"compile");Re.compile=XI;function Ky(e,t){t===void 0&&(t={});var r=Id(t),n=t.encode,i=n===void 0?function(u){return u}:n,o=t.validate,a=o===void 0?!0:o,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var w=0;w<m.length;w++){var T=i(m[w],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var T=i(String(m),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}s(Ky,"tokensToFunction");Re.tokensToFunction=Ky;function eP(e,t){var r=[],n=Pd(e,r,t);return Jy(n,r,t)}s(eP,"match");Re.match=eP;function Jy(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(o){return o}:n;return function(o){var a=e.exec(o);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=s(function(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(y){return i(y,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(Jy,"regexpToFunction");Re.regexpToFunction=Jy;function _n(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(_n,"escapeString");function Id(e){return e&&e.sensitive?"":"i"}s(Id,"flags");function tP(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}s(tP,"regexpToRegexp");function rP(e,t,r){var n=e.map(function(i){return Pd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Id(r))}s(rP,"arrayToRegexp");function nP(e,t,r){return zy(Sd(e,r),t,r)}s(nP,"stringToRegexp");function zy(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,o=r.start,a=o===void 0?!0:o,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,y=h===void 0?"":h,w="[".concat(_n(y),"]|$"),T="[".concat(_n(m),"]"),S=a?"^":"",D=0,j=e;D<j.length;D++){var C=j[D];if(typeof C=="string")S+=_n(d(C));else{var re=_n(d(C.prefix)),ne=_n(d(C.suffix));if(C.pattern)if(t&&t.push(C),re||ne)if(C.modifier==="+"||C.modifier==="*"){var me=C.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(C.pattern,")(?:").concat(ne).concat(re,"(?:").concat(C.pattern,"))*)").concat(ne,")").concat(me)}else S+="(?:".concat(re,"(").concat(C.pattern,")").concat(ne,")").concat(C.modifier);else C.modifier==="+"||C.modifier==="*"?S+="((?:".concat(C.pattern,")").concat(C.modifier,")"):S+="(".concat(C.pattern,")").concat(C.modifier);else S+="(?:".concat(re).concat(ne,")").concat(C.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(w,")"):"$";else{var Be=e[e.length-1],E=typeof Be=="string"?T.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(S+="(?:".concat(T,"(?=").concat(w,"))?")),E||(S+="(?=".concat(T,"|").concat(w,")"))}return new RegExp(S,Id(r))}s(zy,"tokensToRegexp");Re.tokensToRegexp=zy;function Pd(e,t,r){return e instanceof RegExp?tP(e,t):Array.isArray(e)?rP(e,t,r):nP(e,t,r)}s(Pd,"pathToRegexp");Re.pathToRegexp=Pd});var xd=g(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.AwsV4Signer=En.AwsClient=void 0;var iP=Sr(),Xy=L(),oP=(0,iP.debug)("zuplo:runtime"),Rd=new TextEncoder,Qy={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},sP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Od=class{static{s(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:o,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=o,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new js(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){oP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:o}=await this.sign(t,r),a=fetch(i,o);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Xy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};En.AwsClient=Od;var js=class{static{s(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:o,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:h,allHeaders:y,singleEncode:w}){if(r==null)throw new TypeError("url is a required option");if(o==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=o,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=aP(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let D=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),D.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&D.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(C=>y||!sP.includes(C)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(C=>C+":"+(C==="host"?this.url.host:(this.headers.get(C)||"").replace(/\s+/g," "))).join(`
60
+ `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!D.has("X-Amz-Expires")&&D.set("X-Amz-Expires","86400"),D.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),D.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),D.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");w||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Zy(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([C])=>{if(!C)return!1;if(this.service==="s3"){if(j.has(C))return!1;j.add(C)}return!0}).map(C=>C.map(re=>Zy(encodeURIComponent(re)))).sort(([C,re],[ne,me])=>C<ne?-1:C>ne?1:re<me?-1:re>me?1:0).map(C=>C.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await Ti("AWS4"+this.secretAccessKey,t),o=await Ti(i,this.region),a=await Ti(o,this.service);n=await Ti(a,"aws4_request"),this.cache.set(r,n)}return Ad(await Ti(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Ad(await Yy(await this.canonicalString()))].join(`
61
61
  `)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
62
62
  `,this.signedHeaders,await this.hexBodyHash()].join(`
63
- `)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Xy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Ad(await Yy(this.body||""))}return t}};En.AwsV4Signer=js;async function Ti(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Rd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Rd.encode(t))}o(Ti,"hmac");async function Yy(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Rd.encode(e):e)}o(Yy,"hash");function Ad(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(Ad,"buf2hex");function Zy(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Zy,"encodeRfc3986");function sP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in Qy?[Qy[s],a]:[s,a]}o(sP,"guessServiceRegion")});var eg=g(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.convertStringToUtf8Array=It.convertUtf8ArrayToString=It.base64Encode=It.base64Decode=void 0;function aP(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(aP,"b64ToUint6");function cP(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=aP(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(cP,"base64Decode");It.base64Decode=cP;function Vs(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(Vs,"uint6ToB64");function uP(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint(Vs(i>>>18&63),Vs(i>>>12&63),Vs(i>>>6&63),Vs(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(uP,"base64Encode");It.base64Encode=uP;function lP(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(lP,"convertUtf8ArrayToString");It.convertUtf8ArrayToString=lP;function dP(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(dP,"convertStringToUtf8Array");It.convertStringToUtf8Array=dP});var tg=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.toCLFDate=void 0;function wn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(wn,"numberToString");function pP(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=wn(Math.floor(r/60)),s=wn(r%60);return`${n}${i}${s}`}o(pP,"getCLFOffset");function hP(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=wn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=wn(e.getHours()),a=wn(e.getMinutes()),c=wn(e.getSeconds()),u=pP(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(hP,"toCLFDate");Gs.toCLFDate=hP});var cg=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var fP=Tr(),rg=Wy(),Si=D(),mP=Ct(),yP=xd(),ig=eg(),og=tg(),ng=(0,fP.debug)("zuplo:runtime"),gP="X-Amzn-Trace-Id",bP="x-amzn-errortype",sg=[],_P=o(async(e,t,r)=>{let n=r;for await(let i of sg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Si.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(gP)??void 0,this.errorType=r.get(bP)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{sg.push(e)}};async function EP(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Si.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Si.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Si.ConfigurationError("region is not set in the handler options");if(!s)throw new Si.ConfigurationError("functionName is not set in the handler options");let l=new yP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(ng(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await TP(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,y;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?y=vP(e,t):y=await wP(e,t,{useAwsResourcePathStyle:c}),ng("Calling onSendingAwsLambdaEvent hook");let w=await _P(e,t,y);w.body=p,w.isBase64Encoded=m;let T=await l.fetch(d,{body:JSON.stringify(w)});try{return ag(T)}catch(S){if(S instanceof Ke){let L=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return mP.HttpProblems.internalServerError(e,t,void 0,L)}throw S}}o(EP,"awsLambdaHandler");hr.awsLambdaHandler=EP;async function ag(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,ig.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(ag,"getResponse");hr.getResponse=ag;async function wP(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,og.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:IP(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(wP,"buildEventVersion1");function vP(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,og.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(vP,"buildEventVersion2");async function TP(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&SP(t,i)){let s=await e.arrayBuffer();r=(0,ig.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(TP,"getBodyResult");function SP(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(SP,"matchesContentType");function IP(e,t=!1){if(!t)return e;let r=(0,rg.parse)(e),n=(0,rg.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(IP,"getResourcePath")});var Tn=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.getHandlerUserLogFunction=vn.logBadGatewayResponses=void 0;var PP=Le(),AP=Y(),RP=[502,503,504];async function OP(e,t){if(RP.includes(e.status)){let r=PP.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o(OP,"logBadGatewayResponses");vn.logBadGatewayResponses=OP;var Nd;function xP(e){if(Nd===void 0){let r=AP.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Nd=r}return e.log[Nd]}o(xP,"getHandlerUserLogFunction");vn.getHandlerUserLogFunction=xP});var lg=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.openApiSpecHandler=void 0;var ug=D(),NP=se(),Cd=Y(),CP=Tn();async function LP(e,t){let r=Cd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Cd.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new ug.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=DP(s);if(!a.isValid)throw new ug.ConfigurationError(a.error);let c;Cd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return NP.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,CP.logBadGatewayResponses)(l,t),l}o(LP,"openApiSpecHandler");Bs.openApiSpecHandler=LP;var DP=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var dg=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.redirectHandler=void 0;var UP=D();async function MP(e,t){let r=t.route.handler.options;if(!r.location)throw new UP.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(MP,"redirectHandler");Ks.redirectHandler=MP});var hg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.urlForwardHandler=void 0;var kP=D(),pg=Tn();function HP(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(HP,"join");async function FP(e,t){let r=(0,pg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new kP.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=HP(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,pg.logBadGatewayResponses)(p,t),p}o(FP,"urlForwardHandler");Js.urlForwardHandler=FP});var mg=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.urlRewriteHandler=void 0;var qP=D(),fg=Tn(),$P=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function jP(e,t){let r=(0,fg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new qP.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?$P(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,fg.logBadGatewayResponses)(d,t),d}o(jP,"urlRewriteHandler");zs.urlRewriteHandler=jP});var gg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.webSocketHandler=void 0;var yg=D(),VP=wd(),GP=Ct(),BP=Y(),KP=Tn();async function JP(e,t){let r=BP.Environment.instance,n=t.route.handler.options,i=(0,KP.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new yg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return GP.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new yg.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,VP.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${h.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(JP,"webSocketHandler");Ws.webSocketHandler=JP});var bg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.webSocketPolicyProcessor=Sn.getWebSocketPolicyFunctions=void 0;var zP=D(),WP=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new zP.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Sn.getWebSocketPolicyFunctions=WP;var QP=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Sn.webSocketPolicyProcessor=QP});var Eg=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.webSocketPipelineHandler=void 0;var Ld=D(),YP=Ct(),ZP=Y(),XP=Tn(),Dd=bg();function _g(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{o(async c=>{let u=await(0,Dd.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(_g,"wireUpListeners");async function eA(e,t){let r=ZP.Environment.instance,n=t.route.handler.options,i=(0,XP.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Ld.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return YP.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Ld.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new Ld.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),L=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(L)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let y=l.webSocket;y.accept(),m.accept();let w=n.policies&&n.policies.inbound?(0,Dd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Dd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return _g(m,y,e,t,w),_g(y,m,e,t,T),new Response(null,{status:101,webSocket:p})}o(eA,"webSocketPipelineHandler");Qs.webSocketPipelineHandler=eA});var wg=g(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.DynaTraceLoggingPlugin=void 0;var tA=ve(),Ud=Y(),rA=Or(),nA=Dt(),iA=bt(),Md=class extends nA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new kd(this.options)}};Ys.DynaTraceLoggingPlugin=Md;var kd=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Ud.Environment.instance.loggingEnvironmentType,this.#i=Ud.Environment.instance.loggingEnvironmentStage,this.#r=Ud.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,iA.stringifyNonString)((0,rA.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new tA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var vg=g(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.LokiLoggingPlugin=void 0;var oA=ve(),Hd=Y(),sA=Or(),aA=Dt(),cA=bt(),Fd=class extends aA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new $d(this.options)}};Zs.LokiLoggingPlugin=Fd;var qd=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function uA(e,t){return btoa(`${e}:${t}`)}o(uA,"createBasicDigest");var $d=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=uA(t.username,t.password),this.#n=Hd.Environment.instance.loggingEnvironmentType,this.#i=Hd.Environment.instance.loggingEnvironmentStage,this.#r=Hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new qd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,cA.stringifyNonString)((0,sA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new oA.BatchDispatch("loki-log-transport",10,this.#s)}});var Tg=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.SumoLogicLoggingPlugin=void 0;var lA=ve(),jd=Y(),dA=Or(),pA=Dt(),hA=bt(),Vd=class extends pA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Gd(this.options)}};Xs.SumoLogicLoggingPlugin=Vd;var Gd=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=jd.Environment.instance.loggingEnvironmentType,this.#n=jd.Environment.instance.loggingEnvironmentStage,this.#t=jd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,hA.stringifyNonString)((0,dA.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
64
- `),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new lA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Ig=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.VMWareLogInsightTransport=In.VMWareLogInsightLoggingPlugin=void 0;var fA=D(),mA=ve(),Bd=Y(),yA=Dt(),Sg=bt(),gA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Kd=class extends yA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ea(this.options)}};In.VMWareLogInsightLoggingPlugin=Kd;var ea=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new fA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Bd.Environment.instance.loggingEnvironmentType,this.#n=Bd.Environment.instance.loggingEnvironmentStage,this.#t=Bd.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,Sg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,Sg.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${gA}`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new mA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};In.VMWareLogInsightTransport=ea});var Ag=g(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.AWSLogTransport=Pn.AWSLoggingPlugin=void 0;var bA=ve(),Pg=Y(),_A=Or(),EA=Dt(),wA=bt(),vA=xd(),Jd=class extends EA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ta(this.options)}};Pn.AWSLoggingPlugin=Jd;var ta=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new bA.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new vA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=Pg.Environment.instance.loggingEnvironmentType,this.environment=Pg.Environment.instance.deploymentName}async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,wA.stringifyNonString)((0,_A.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Pn.AWSLogTransport=ta});var Rg=g(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var TA=nd();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return TA.DataDogLoggingPlugin}});var SA=wg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return SA.DynaTraceLoggingPlugin}});var IA=Is();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return IA.GoogleCloudLoggingPlugin}});var PA=vg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return PA.LokiLoggingPlugin}});var AA=Tg();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return AA.SumoLogicLoggingPlugin}});var RA=Ig();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return RA.VMWareLogInsightLoggingPlugin}});var OA=Ag();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return OA.AWSLoggingPlugin}})});var Og=g(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.DataDogMetricsError=fr.DataDogMetricsTransport=fr.DataDogMetricsPlugin=void 0;var xA=Le(),NA=ve(),CA=wo(),zd=new WeakMap,LA={tags:[]},Wd=class extends CA.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ra(this.options)}static setContext(t,r){let n=zd.get(t);n||(n=LA);let i=Object.assign({...n},r);zd.set(t,i)}};fr.DataDogMetricsPlugin=Wd;var ra=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new NA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,xA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(zd.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let s=t.systemRouteName||t.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new na(await n.text())}};fr.DataDogMetricsTransport=ra;var na=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};fr.DataDogMetricsError=na});var xg=g(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DynaTraceMetricsError=mr.DynaTraceMetricsTransport=mr.DynatraceMetricsPlugin=void 0;var DA=Le(),UA=ve(),MA=wo(),Qd=new WeakMap,kA={dimensions:[]},Yd=class extends MA.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ia(this.options)}static setContext(t,r){let n=Qd.get(t);n||(n=kA);let i=Object.assign({...n},r);Qd.set(t,i)}};mr.DynatraceMetricsPlugin=Yd;var ia=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new UA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,DA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Qd.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
65
- `),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new oa(await n.text())}};mr.DynaTraceMetricsTransport=ia;var oa=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=oa});var Ng=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.DynatraceMetricsPlugin=An.DataDogMetricsPlugin=void 0;var HA=Og();Object.defineProperty(An,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return HA.DataDogMetricsPlugin}});var FA=xg();Object.defineProperty(An,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return FA.DynatraceMetricsPlugin}})});var Cg=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.AuditLogDataStaxProvider=void 0;var Zd=class{static{o(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};sa.AuditLogDataStaxProvider=Zd});var Dg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.AuditLogPlugin=void 0;var qA=yt(),$A=ve(),Xd=class extends qA.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new ep(t,this.#e,this.#t)}};aa.AuditLogPlugin=Xd;var Lg=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),jA={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},ep=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...jA};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,t.addRequestHook(this.#o),this.#r=new $A.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?Lg(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:t.status,statusText:t.statusText,headers:this.#e.include?.response?.headers?Lg(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,s=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var Ug=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.StripeSignatureVerificationError=Rn.StripeError=void 0;var ca=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(t={}){super(t.message),this.type=this.constructor.name,this.raw=t,this.rawType=t.type,this.code=t.code,this.doc_url=t.doc_url,this.param=t.param,this.detail=t.detail,this.headers=t.headers,this.requestId=t.requestId,this.statusCode=t.statusCode,this.message=t.message,this.charge=t.charge,this.decline_code=t.decline_code,this.payment_intent=t.payment_intent,this.payment_method=t.payment_method,this.payment_method_type=t.payment_method_type,this.setup_intent=t.setup_intent,this.source=t.source}};Rn.StripeError=ca;var tp=class extends ca{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Rn.StripeSignatureVerificationError=tp});var kg=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.computeHMACSignatureAsync=On.constructEventAsync=void 0;var Ur=Ug(),VA="v1",GA=300;async function BA(e,t,r,n=GA,i){return await JA(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}o(BA,"constructEventAsync");On.constructEventAsync=BA;function KA(e,t){return`${t.timestamp}.${e}`}o(KA,"makeHMACContent");async function JA(e,t,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=zA(e,t,VA),l=/\s/.test(r),d=await Mg(KA(a,c),r);return WA(a,s,c,d,n,u,l,i)}o(JA,"verifyHeaderAsync");function zA(e,t,r){if(!e)throw new Ur.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),s=e instanceof Uint8Array?i.decode(e):e;if(Array.isArray(t))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(t==null||t=="")throw new Ur.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=QA(a,r);if(!c||c.timestamp===-1)throw new Ur.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Ur.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o(zA,"parseEventDetails");function WA(e,t,r,n,i,s,a,c){let u=!!r.signatures.filter(m=>YA(m,n)).length,l=`
63
+ `)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Xy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Ad(await Yy(this.body||""))}return t}};En.AwsV4Signer=js;async function Ti(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Rd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Rd.encode(t))}s(Ti,"hmac");async function Yy(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Rd.encode(e):e)}s(Yy,"hash");function Ad(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Ad,"buf2hex");function Zy(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(Zy,"encodeRfc3986");function aP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in Qy?[Qy[o],a]:[o,a]}s(aP,"guessServiceRegion")});var eg=g(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.convertStringToUtf8Array=It.convertUtf8ArrayToString=It.base64Encode=It.base64Decode=void 0;function cP(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}s(cP,"b64ToUint6");function uP(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,o=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=cP(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)o[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return o}s(uP,"base64Decode");It.base64Decode=uP;function Vs(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Vs,"uint6ToB64");function lP(e){let t=2,r="",n=e.length,i=0;for(let o=0;o<n;o++)t=o%3,i|=e[o]<<(16>>>t&24),(t===2||e.length-o===1)&&(r+=String.fromCodePoint(Vs(i>>>18&63),Vs(i>>>12&63),Vs(i>>>6&63),Vs(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(lP,"base64Encode");It.base64Encode=lP;function dP(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}s(dP,"convertUtf8ArrayToString");It.convertUtf8ArrayToString=dP;function pP(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),o=0,a=0;for(;o<n;)t=e.codePointAt(a),t<128?i[o++]=t:t<2048?(i[o++]=192+(t>>>6),i[o++]=128+(t&63)):t<65536?(i[o++]=224+(t>>>12),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63)):t<2097152?(i[o++]=240+(t>>>18),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):t<67108864?(i[o++]=248+(t>>>24),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):(i[o++]=252+(t>>>30),i[o++]=128+(t>>>24&63),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++),a++;return i}s(pP,"convertStringToUtf8Array");It.convertStringToUtf8Array=pP});var tg=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.toCLFDate=void 0;function wn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(wn,"numberToString");function hP(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=wn(Math.floor(r/60)),o=wn(r%60);return`${n}${i}${o}`}s(hP,"getCLFOffset");function fP(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=wn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=wn(e.getHours()),a=wn(e.getMinutes()),c=wn(e.getSeconds()),u=hP(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(fP,"toCLFDate");Gs.toCLFDate=fP});var cg=g(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.getResponse=fr.awsLambdaHandler=fr.AwsLambdaHandlerExtensions=void 0;var mP=Sr(),rg=Wy(),Si=L(),yP=Lt(),gP=xd(),ig=eg(),og=tg(),ng=(0,mP.debug)("zuplo:runtime"),bP="X-Amzn-Trace-Id",_P="x-amzn-errortype",sg=[],EP=s(async(e,t,r)=>{let n=r;for await(let i of sg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Si.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(bP)??void 0,this.errorType=r.get(_P)??void 0}};fr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{sg.push(e)}};async function wP(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:o,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Si.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Si.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Si.ConfigurationError("region is not set in the handler options");if(!o)throw new Si.ConfigurationError("functionName is not set in the handler options");let l=new gP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(ng(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await SP(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,y;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?y=TP(e,t):y=await vP(e,t,{useAwsResourcePathStyle:c}),ng("Calling onSendingAwsLambdaEvent hook");let w=await EP(e,t,y);w.body=p,w.isBase64Encoded=m;let T=await l.fetch(d,{body:JSON.stringify(w)});try{return ag(T)}catch(S){if(S instanceof Ke){let D=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return yP.HttpProblems.internalServerError(e,t,void 0,D)}throw S}}s(wP,"awsLambdaHandler");fr.awsLambdaHandler=wP;async function ag(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,o]of Object.entries(t.headers))r.set(i,o)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,ig.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}s(ag,"getResponse");fr.getResponse=ag;async function vP(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let o=e.query,a={};for(let[l,d]of Object.entries(o))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:o,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,og.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:PP(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(vP,"buildEventVersion1");function TP(e,t){let r={};e.headers.forEach((o,a)=>{r[a]=o});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,og.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(TP,"buildEventVersion2");async function SP(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&IP(t,i)){let o=await e.arrayBuffer();r=(0,ig.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(SP,"getBodyResult");function IP(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(IP,"matchesContentType");function PP(e,t=!1){if(!t)return e;let r=(0,rg.parse)(e),n=(0,rg.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(PP,"getResourcePath")});var Tn=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.getHandlerUserLogFunction=vn.logBadGatewayResponses=void 0;var AP=Le(),RP=Y(),OP=[502,503,504];async function xP(e,t){if(OP.includes(e.status)){let r=AP.SystemLogMap.getLogger(t),i=await e.clone().text(),o={};for(let[a,c]of e.headers)o[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:o})}}s(xP,"logBadGatewayResponses");vn.logBadGatewayResponses=xP;var Nd;function NP(e){if(Nd===void 0){let r=RP.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Nd=r}return e.log[Nd]}s(NP,"getHandlerUserLogFunction");vn.getHandlerUserLogFunction=NP});var lg=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.openApiSpecHandler=void 0;var ug=L(),CP=se(),Cd=Y(),LP=Tn();async function DP(e,t){let r=Cd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Cd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new ug.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=UP(o);if(!a.isValid)throw new ug.ConfigurationError(a.error);let c;Cd.Environment.instance.isLocalDevelopment?c=`${n}/${o.substring(1)}`:c=`${n}/${r}${o.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return CP.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,LP.logBadGatewayResponses)(l,t),l}s(DP,"openApiSpecHandler");Bs.openApiSpecHandler=DP;var UP=s(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var dg=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.redirectHandler=void 0;var kP=L();async function MP(e,t){let r=t.route.handler.options;if(!r.location)throw new kP.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(MP,"redirectHandler");Ks.redirectHandler=MP});var hg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.urlForwardHandler=void 0;var HP=L(),pg=Tn();function FP(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}s(FP,"join");async function qP(e,t){let r=(0,pg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new HP.ConfigurationError("Invalid options for this route");let o={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,o),u=FP(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,pg.logBadGatewayResponses)(p,t),p}s(qP,"urlForwardHandler");Js.urlForwardHandler=qP});var mg=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.urlRewriteHandler=void 0;var $P=L(),fg=Tn(),jP=s((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,o]of n.searchParams.entries())r.searchParams.append(i,o);return r.toString()},"addQuery");async function VP(e,t){let r=(0,fg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new $P.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?jP(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:o?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,fg.logBadGatewayResponses)(d,t),d}s(VP,"urlRewriteHandler");zs.urlRewriteHandler=VP});var gg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.webSocketHandler=void 0;var yg=L(),GP=wd(),BP=Lt(),KP=Y(),JP=Tn();async function zP(e,t){let r=KP.Environment.instance,n=t.route.handler.options,i=(0,JP.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new yg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return BP.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new yg.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,GP.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${h.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}s(zP,"webSocketHandler");Ws.webSocketHandler=zP});var bg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.webSocketPolicyProcessor=Sn.getWebSocketPolicyFunctions=void 0;var WP=L(),QP=s((e,t)=>e.map((n,i)=>{let o;if(typeof n.module=="object"&&(o=n.module[n.export]),!o||typeof o!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new WP.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");Sn.getWebSocketPolicyFunctions=QP;var YP=s(async(e,t,r,n,i,o)=>{let a=e.data;if(o&&o.length>0){let c=[...o];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Sn.webSocketPolicyProcessor=YP});var Eg=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.webSocketPipelineHandler=void 0;var Ld=L(),ZP=Lt(),XP=Y(),eA=Tn(),Dd=bg();function _g(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",o=>{n.log.error("WebSocket error: ",o),t.send(JSON.stringify(o))}),e.addEventListener("message",o=>{try{s(async c=>{let u=await(0,Dd.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(o).catch(n.log.error)}catch(a){n.log.error(a)}})}s(_g,"wireUpListeners");async function tA(e,t){let r=XP.Environment.instance,n=t.route.handler.options,i=(0,eA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Ld.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return ZP.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Ld.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new Ld.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),D=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(D)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let y=l.webSocket;y.accept(),m.accept();let w=n.policies&&n.policies.inbound?(0,Dd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Dd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return _g(m,y,e,t,w),_g(y,m,e,t,T),new Response(null,{status:101,webSocket:p})}s(tA,"webSocketPipelineHandler");Qs.webSocketPipelineHandler=tA});var wg=g(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.DynaTraceLoggingPlugin=void 0;var rA=ve(),Ud=Y(),nA=xr(),iA=Ut(),oA=bt(),kd=class extends iA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Md(this.options)}};Ys.DynaTraceLoggingPlugin=kd;var Md=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Ud.Environment.instance.loggingEnvironmentType,this.#i=Ud.Environment.instance.loggingEnvironmentStage,this.#r=Ud.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,oA.stringifyNonString)((0,nA.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new rA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var vg=g(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.LokiLoggingPlugin=void 0;var sA=ve(),Hd=Y(),aA=xr(),cA=Ut(),uA=bt(),Fd=class extends cA.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new $d(this.options)}};Zs.LokiLoggingPlugin=Fd;var qd=class{static{s(this,"LokiStream")}constructor(t,r,n,i,o){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=o}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function lA(e,t){return btoa(`${e}:${t}`)}s(lA,"createBasicDigest");var $d=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=lA(t.username,t.password),this.#n=Hd.Environment.instance.loggingEnvironmentType,this.#i=Hd.Environment.instance.loggingEnvironmentStage,this.#r=Hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new qd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,uA.stringifyNonString)((0,aA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(o)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(o=>o.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new sA.BatchDispatch("loki-log-transport",10,this.#s)}});var Tg=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.SumoLogicLoggingPlugin=void 0;var dA=ve(),jd=Y(),pA=xr(),hA=Ut(),fA=bt(),Vd=class extends hA.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Gd(this.options)}};Xs.SumoLogicLoggingPlugin=Vd;var Gd=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=jd.Environment.instance.loggingEnvironmentType,this.#n=jd.Environment.instance.loggingEnvironmentStage,this.#t=jd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,fA.stringifyNonString)((0,pA.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
64
+ `),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new dA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Ig=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.VMWareLogInsightTransport=In.VMWareLogInsightLoggingPlugin=void 0;var mA=L(),yA=ve(),Bd=Y(),gA=Ut(),Sg=bt(),bA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Kd=class extends gA.LogPlugin{static{s(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ea(this.options)}};In.VMWareLogInsightLoggingPlugin=Kd;var ea=class{static{s(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new mA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Bd.Environment.instance.loggingEnvironmentType,this.#n=Bd.Environment.instance.loggingEnvironmentStage,this.#t=Bd.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,Sg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([o,a])=>{let c=(0,Sg.stringifyNonStringToText)(a);c&&i.fields.push({name:o,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${bA}`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new yA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};In.VMWareLogInsightTransport=ea});var Ag=g(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.AWSLogTransport=Pn.AWSLoggingPlugin=void 0;var _A=ve(),Pg=Y(),EA=xr(),wA=Ut(),vA=bt(),TA=xd(),Jd=class extends wA.LogPlugin{static{s(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ta(this.options)}};Pn.AWSLoggingPlugin=Jd;var ta=class{static{s(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new _A.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:o}){this.awsClient=new TA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:o}),this.logGroupName=n,this.logStreamName=r,this.region=o,this.environmentType=Pg.Environment.instance.loggingEnvironmentType,this.environment=Pg.Environment.instance.deploymentName}async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,vA.stringifyNonString)((0,EA.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Pn.AWSLogTransport=ta});var Rg=g(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var SA=nd();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return SA.DataDogLoggingPlugin}});var IA=wg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return IA.DynaTraceLoggingPlugin}});var PA=Is();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return PA.GoogleCloudLoggingPlugin}});var AA=vg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return AA.LokiLoggingPlugin}});var RA=Tg();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return RA.SumoLogicLoggingPlugin}});var OA=Ig();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return OA.VMWareLogInsightLoggingPlugin}});var xA=Ag();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return xA.AWSLoggingPlugin}})});var Og=g(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DataDogMetricsError=mr.DataDogMetricsTransport=mr.DataDogMetricsPlugin=void 0;var NA=Le(),CA=ve(),LA=wo(),zd=new WeakMap,DA={tags:[]},Wd=class extends LA.MetricsPlugin{static{s(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ra(this.options)}static setContext(t,r){let n=zd.get(t);n||(n=DA);let i=Object.assign({...n},r);zd.set(t,i)}};mr.DataDogMetricsPlugin=Wd;var ra=class{static{s(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new CA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,NA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(zd.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let o=t.systemRouteName||t.routePath;i.push(`path:${o}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new na(await n.text())}};mr.DataDogMetricsTransport=ra;var na=class e extends Error{static{s(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DataDogMetricsError=na});var xg=g(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.DynaTraceMetricsError=yr.DynaTraceMetricsTransport=yr.DynatraceMetricsPlugin=void 0;var UA=Le(),kA=ve(),MA=wo(),Qd=new WeakMap,HA={dimensions:[]},Yd=class extends MA.MetricsPlugin{static{s(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ia(this.options)}static setContext(t,r){let n=Qd.get(t);n||(n=HA);let i=Object.assign({...n},r);Qd.set(t,i)}};yr.DynatraceMetricsPlugin=Yd;var ia=class{static{s(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new kA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,UA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Qd.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let o=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${o} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${o} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${o} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
65
+ `),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new oa(await n.text())}};yr.DynaTraceMetricsTransport=ia;var oa=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};yr.DynaTraceMetricsError=oa});var Ng=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.DynatraceMetricsPlugin=An.DataDogMetricsPlugin=void 0;var FA=Og();Object.defineProperty(An,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return FA.DataDogMetricsPlugin}});var qA=xg();Object.defineProperty(An,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return qA.DynatraceMetricsPlugin}})});var Cg=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.AuditLogDataStaxProvider=void 0;var Zd=class{static{s(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};sa.AuditLogDataStaxProvider=Zd});var Dg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.AuditLogPlugin=void 0;var $A=yt(),jA=ve(),Xd=class extends $A.SystemRuntimePlugin{static{s(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new ep(t,this.#e,this.#t)}};aa.AuditLogPlugin=Xd;var Lg=s(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),VA={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},ep=class{static{s(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...VA};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,t.addRequestHook(this.#o),this.#r=new jA.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,o,a)=>{try{let c={timestamp:i,durationMs:o,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?Lg(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:t.status,statusText:t.statusText,headers:this.#e.include?.response?.headers?Lg(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,o=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-o,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var Ug=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.StripeSignatureVerificationError=Rn.StripeError=void 0;var ca=class extends Error{static{s(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(t={}){super(t.message),this.type=this.constructor.name,this.raw=t,this.rawType=t.type,this.code=t.code,this.doc_url=t.doc_url,this.param=t.param,this.detail=t.detail,this.headers=t.headers,this.requestId=t.requestId,this.statusCode=t.statusCode,this.message=t.message,this.charge=t.charge,this.decline_code=t.decline_code,this.payment_intent=t.payment_intent,this.payment_method=t.payment_method,this.payment_method_type=t.payment_method_type,this.setup_intent=t.setup_intent,this.source=t.source}};Rn.StripeError=ca;var tp=class extends ca{static{s(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Rn.StripeSignatureVerificationError=tp});var Mg=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.computeHMACSignatureAsync=On.constructEventAsync=void 0;var kr=Ug(),GA="v1",BA=300;async function KA(e,t,r,n=BA,i){return await zA(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}s(KA,"constructEventAsync");On.constructEventAsync=KA;function JA(e,t){return`${t.timestamp}.${e}`}s(JA,"makeHMACContent");async function zA(e,t,r,n,i){let{decodedHeader:o,decodedPayload:a,details:c,suspectPayloadType:u}=WA(e,t,GA),l=/\s/.test(r),d=await kg(JA(a,c),r);return QA(a,o,c,d,n,u,l,i)}s(zA,"verifyHeaderAsync");function WA(e,t,r){if(!e)throw new kr.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),o=e instanceof Uint8Array?i.decode(e):e;if(Array.isArray(t))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(t==null||t=="")throw new kr.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=YA(a,r);if(!c||c.timestamp===-1)throw new kr.StripeSignatureVerificationError(a,o,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new kr.StripeSignatureVerificationError(a,o,{message:"No signatures found with expected scheme"});return{decodedPayload:o,decodedHeader:a,details:c,suspectPayloadType:n}}s(WA,"parseEventDetails");function QA(e,t,r,n,i,o,a,c){let u=!!r.signatures.filter(m=>ZA(m,n)).length,l=`
66
66
  Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
67
67
 
68
- Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new Ur.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
68
+ Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw o?new kr.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
69
69
  Signature verification is impossible without access to the original signed material.
70
70
  `+l+`
71
- `+d}):new Ur.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
71
+ `+d}):new kr.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
72
72
  If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
73
73
  `+l+`
74
- `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Ur.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}o(WA,"validateComputedSignature");function QA(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(QA,"parseHeader");function YA(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}o(YA,"secureCompare");async function Mg(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=rp[s[c]];return a.join("")}o(Mg,"computeHMACSignatureAsync");On.computeHMACSignatureAsync=Mg;var rp=new Array(256);for(let e=0;e<rp.length;e++)rp[e]=e.toString(16).padStart(2,"0")});var Ft=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.optionValidator=void 0;var Ii=D();function ZA(e,t){let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(ZA,"optionValidator");ua.optionValidator=ZA});var np=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.StripeWebhookInboundPolicy=void 0;var XA=se(),eR=kg(),tR=Ft(),rR=o(async(e,t,r,n)=>{(0,tR.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let s=await e.clone().text();await(0,eR.constructEventAsync)(s,i,r.signingSecret)}catch(s){return t.log.error("Error validating stripe webhook",s),XA.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:s.message})}return e},"StripeWebhookInboundPolicy");la.StripeWebhookInboundPolicy=rR});var Hg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.MeteringPlugin=void 0;var nR=yt(),ip=class extends nR.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};da.MeteringPlugin=ip});var qg=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.StripeMeteringPlugin=void 0;var iR=D(),oR=Nt(),sR=np(),Mr=se(),aR=Qt(),cR=zr(),uR=Cu(),lR=ot(),dR=Y(),Fg=Lt(),pR=Hg(),hR=["customer.subscription.created","customer.subscription.deleted","customer.subscription.paused","customer.subscription.resumed","customer.subscription.updated"],op=class extends pR.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=o(async(c,u)=>{if(this.options.testMode)return"success";let{bucketId:l}=this.options;if(!l)throw new iR.ConfigurationError("StripeMeteringPlugin - No bucketName property provided");let{authApiJWT:d,meteringServiceUrl:p}=dR.Environment.instance,m=await c.json();try{fR(m)}catch{return Mr.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."})}if(!hR.includes(m.type))return Mr.HttpProblems.ok(c,u,{detail:"Event was ignored by Stripe metering plugin webhook."});let h=m.data?.object?.id;if(!h)return Mr.HttpProblems.badRequest(c,u,{detail:"Invalid Stripe Webhook event. Expected '.data.object.id' to be the subscription ID."});let y=m.data?.object?.items?.data.find(L=>L.object==="subscription_item");if(!y||!y.id)return Mr.HttpProblems.badRequest(c,u,{detail:"Invalid Stripe Webhook event. Expected '.data.object.items.data[]' to contain a subscription_item."});let w=y.plan;if(!w||!w.product)return Mr.HttpProblems.badRequest(c,u,{detail:"Invalid Stripe Webhook event. Expected '.data.object.items.data[].plan'."});let T={status:"active",type:"periodic",renewalStrategy:"monthly",customerKey:"luis-tester",productKey:"routes.oas.json",planProviderKey:w.product,subscriptionProviderKey:h,region:this.options.bucketRegion??"us-central1"},S=await fetch(`${p}/internal/v1/metering/${l}/subscriptions`,{headers:{Authorization:`Bearer ${d}`,"Content-Type":"application/json"},method:"POST",body:JSON.stringify(T)});if(S.status!==200){let L="Unknown error creating subscription",F;try{F=await S.json(),L=F.detail??F.title??L}catch{}return u.log.error(L,F),Mr.HttpProblems.internalServerError(c,u,{detail:L})}return Mr.HttpProblems.ok(c,u)},"stripeWebhookHandler"),i=(0,cR.createInternalPolicyProcessor)({inboundPolicies:[{handler:sR.StripeWebhookInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),s=new oR.Pipeline({processors:[aR.metricsProcessor,i],handler:n,gateway:r}),a=new lR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__zuplo/stripe-webhooks",systemRouteName:uR.SystemRouteName.StripePlugin});t.addRoute(a,s.execute)}};pa.StripeMeteringPlugin=op;function fR(e){if(!(e!==null&&typeof e=="object"&&"id"in e&&(0,Fg.isString)(e.id)&&"type"in e&&(0,Fg.isString)(e.type)))throw new Error("Object is not a stripe webhook event")}o(fR,"assertsStripeWebhookEvent")});var Bg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.AmberfloMeteringInboundPolicy=xn.AmberfloMeteringPolicy=void 0;var $g=D(),mR=ve(),jg=ri(),Gg=new WeakMap,Vg={},sp=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Gg.set(t,r)}};xn.AmberfloMeteringPolicy=sp;async function yR(e,t,r,n){if(!r.statusCodes)throw new $g.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,jg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=Gg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new $g.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,jg.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=Vg[r.apiKey];if(!m){let h=r.apiKey,y=e.headers.get("zm-test-id")??"";m=new mR.BatchDispatch("amberflo-ingest-meter",10,async w=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(w),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":y}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),Vg[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}o(yR,"AmberfloMeteringInboundPolicy");xn.AmberfloMeteringInboundPolicy=yR});var ap=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.sha256=void 0;async function gR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(gR,"sha256");ha.sha256=gR});var qt=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.getPolicyCacheName=void 0;var bR=ap(),Kg=new Map;async function _R(e,t){let r,n=Kg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,bR.sha256)(JSON.stringify({policyName:e,options:t}))}`,Kg.set(e,r)),r}o(_R,"getPolicyCacheName");fa.getPolicyCacheName=_R});var dp=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.ApiKeyInboundPolicy=void 0;var ER=qt(),wR=Kt(),Jg=Ed(),cp=D(),vR=Ct(),up=Le(),lp=Y(),TR=Ts(),zg="key-metadata-cache-type";function SR(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(SR,"getKeyValue");async function IR(e,t,r,n){if(!r.bucketName)if(Jg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Jg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new cp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new cp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?e:vR.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=SR(a,i);if(!c||c==="")return s("No key present");let u=await PR(c),l=await(0,ER.getPolicyCacheName)(n,i),d=new wR.MemoryZoneReadThroughCache(l,{logger:up.SystemLogMap.getLogger(t)}),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==zg&&up.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let m={key:c},h=await(0,TR.fetchRetry)({retryDelayMs:5,retries:2,logger:up.SystemLogMap.getLogger(t)},`${lp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":lp.Environment.instance.deploymentName??"unknown","User-Agent":lp.Environment.instance.systemUserAgent},body:JSON.stringify(m)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new cp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let y=await h.json(),w={isValid:!0,typeId:zg,user:{sub:y.name,data:y.metadata}};return e.user=w.user,d.put(u,w,i.cacheTtlSeconds),e}o(IR,"ApiKeyInboundPolicy");ma.ApiKeyInboundPolicy=IR;async function PR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(PR,"hashValue")});var Wg=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.ApiAuthKeyInboundPolicy=void 0;var AR=dp();ya.ApiAuthKeyInboundPolicy=AR.ApiKeyInboundPolicy});var $t=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.OpenIdJwtInboundPolicy=void 0;var hp=(ws(),Zi(Es)),fp=D(),RR=se(),pp={},OR=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new fp.ConfigurationError("Invalid State - jwkUrl not set");pp[t.jwkUrl]||(pp[t.jwkUrl]=(0,hp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,hp.jwtVerify)(e,pp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),xR=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,hp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),NR=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(m=>RR.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new fp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new fp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?OR:xR,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let y=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${y.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${y.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");ga.OpenIdJwtInboundPolicy=NR});var Qg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.Auth0JwtInboundPolicy=void 0;var CR=$t(),LR=o(async(e,t,r,n)=>(0,CR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");ba.Auth0JwtInboundPolicy=LR});var Yg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.BasicAuthInboundPolicy=void 0;var DR=se(),UR=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>DR.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),h=d.substring(p+1),y=r.accounts.find(w=>w.username===m&&w.password===h);return y||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");_a.BasicAuthInboundPolicy=UR});var Zg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.CachingInboundPolicy=void 0;var MR=qt(),kR=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function HR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(HR,"digestMessage");var FR=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await HR(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function qR(e,t,r,n){let i=await(0,MR.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await FR(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);kR.forEach(y=>h.headers.delete(y)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(qR,"CachingInboundPolicy");Ea.CachingInboundPolicy=qR});var Xg=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.ChangeMethodInboundPolicy=void 0;var $R=D(),jR=He(),VR=o(async(e,t,r,n)=>{if(!r.method)throw new $R.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new jR.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");wa.ChangeMethodInboundPolicy=VR});var eb=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.ClearHeadersInboundPolicy=void 0;var GR=He(),BR=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new GR.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");va.ClearHeadersInboundPolicy=BR});var tb=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.ClearHeadersOutboundPolicy=void 0;var KR=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");Ta.ClearHeadersOutboundPolicy=KR});var rb=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.ClerkJwtInboundPolicy=void 0;var JR=$t(),zR=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,JR.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Sa.ClerkJwtInboundPolicy=zR});var ib=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.CognitoJwtInboundPolicy=void 0;var nb=D(),WR=$t(),QR=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new nb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new nb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,WR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");Ia.CognitoJwtInboundPolicy=QR});var sb=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.CompositeInboundPolicy=void 0;var YR=D(),ZR=mn(),ob=zr(),XR=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new YR.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=ZR.Gateway.instance,s=(0,ob.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,ob.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");Pa.CompositeInboundPolicy=XR});var cb=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.CreditsMeteringInboundPolicy=void 0;var Pi=se(),ab=Y(),e0=o(async(e,t,r)=>{let n=e.user;if(!n)return Pi.HttpProblems.unauthorized(e,t,{title:"Unable to check subscription for anonymous user",detail:"No user data on request"});let{sub:i}=n;if(!r.bucketId)return Pi.HttpProblems.unauthorized(e,t,{title:"Metering bucket not configured",detail:"Specify one using the bucketId option on the policy"});let s=r.bucketId,a=await t0(s,i,t);if(!a)return Pi.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return Pi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return Pi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});return t.custom.subscription=a,t.addResponseSendingFinalHook(async()=>{let c=t.custom.meters,u={};for(let l of Object.keys(c))u[l]=c[l];await r0(s,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");Aa.CreditsMeteringInboundPolicy=e0;async function t0(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=ab.Environment.instance,s=new URL(`${i}/internal/v1/metering/${e}/subscriptions`);s.search=new URLSearchParams({customerRef:t,status:"active"}).toString();let a=await fetch(s,{method:"GET",headers:{Authorization:`Bearer ${n}`}});if(!a.ok)throw new Error(`Error retrieving subscriptions for credits metering ': ${a.status} - ${await a.text()}`);let c=await a.json();if(c.data.length!==0)return c.data.length>1&&r.log.warn(`Found more than one active subscription for customer ${t} -- using the first one.`),c.data[0]}o(t0,"getSubscription");async function r0(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:s}=ab.Environment.instance,a=new URL(`${s}/internal/v1/metering/${e}/subscriptions/${t}/quotas/consume`),c=await fetch(a,{method:"POST",body:JSON.stringify({meters:r}),headers:{Authorization:`Bearer ${i}`}});c.ok||n.log.error(`Error consuming subscription quotas for credits metering ': ${c.status} - ${await c.text()}`)}o(r0,"consumeSubscription")});var ub=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.CurityPhantomTokenInboundPolicy=void 0;var n0=qt(),i0=Kt(),Ra=se(),o0=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Ra.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=s0(i);if(!s)return Ra.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,n0.getPolicyCacheName)(n,r),c=new i0.MemoryZoneReadThroughCache(a,t),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Ra.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Ra.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Oa.CurityPhantomTokenInboundPolicy=o0;function s0(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(s0,"getToken")});var lb=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.FirebaseJwtInboundPolicy=void 0;var a0=Ft(),c0=$t(),u0=o(async(e,t,r,n)=>((0,a0.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,c0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");xa.FirebaseJwtInboundPolicy=u0});var db=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.FormDataToJsonInboundPolicy=void 0;var l0=He(),d0=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new l0.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Na.FormDataToJsonInboundPolicy=d0});var pb=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.GeoFilterInboundPolicy=void 0;var p0=D(),h0=se(),Nn="__unknown__",f0=o(async(e,t,r,n)=>{let i={allow:{countries:Ln(r.allow?.countries,"allow.countries",n),regionCodes:Ln(r.allow?.regionCodes,"allow.regionCode",n),asns:Ln(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Ln(r.block?.countries,"block.countries",n),regionCodes:Ln(r.block?.regionCodes,"block.regionCode",n),asns:Ln(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??Nn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Nn,c=t.incomingRequestProperties.asn?.toString()??Nn,u=i.ignoreUnknown&&s===Nn,l=i.ignoreUnknown&&a===Nn,d=i.ignoreUnknown&&c===Nn,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Cn(e,t,n,s,a,c);let y=i.block.countries,w=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(s)&&!u||w.length>0&&w.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Cn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");Ca.GeoFilterInboundPolicy=f0;function Cn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),h0.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Cn,"blockedResponse");function Ln(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new p0.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Ln,"toLowerStringArray")});var hb=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.JWTScopeValidationInboundPolicy=void 0;var m0=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");La.JWTScopeValidationInboundPolicy=m0});var mb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.MockApiInboundPolicy=void 0;var y0=se(),g0=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return mp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return mp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return fb(a[c])}else return a.length>0?fb(a[0]):mp(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");Da.MockApiInboundPolicy=g0;function fb(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(fb,"generateResponse");var mp=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return y0.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var Eb=g(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.MoesifInboundPolicy=Dn.setMoesifContext=void 0;var b0=D(),_0=ve(),E0="Incoming",w0={logRequestBody:!0,logResponseBody:!0};function yb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(yb,"headersToObject");function gb(){return new Date().toISOString()}o(gb,"timestamp");var yp=new WeakMap,v0={};function T0(e,t){let r=yp.get(e);r||(r=v0);let n=Object.assign({...r},t);yp.set(e,n)}o(T0,"setMoesifContext");Dn.setMoesifContext=T0;async function bb(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(bb,"readBody");var S0={},gp;function _b(){if(!gp)throw new b0.RuntimeError("Invalid State - no _lastLogger");return gp}o(_b,"getLastLogger");function I0(e){let t=S0[e];return t||(t=new _0.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);_b().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||_b().error({status:i.status,body:await i.text()})})),t}o(I0,"getDispatcher");async function P0(e,t,r,n){gp=t.log;let i=gb(),s=Object.assign(w0,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await bb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=I0(s.applicationId),d=e.headers.get("true-client-ip"),p=yp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:yb(e.headers)},h=s.logResponseBody?await bb(c,t):void 0,y={time:gb(),status:c.status,headers:yb(c.headers),body:h},w={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:E0};l.enqueue(w),t.waitUntil(l.waitUntilFlushed())}),e}o(P0,"MoesifInboundPolicy");Dn.MoesifInboundPolicy=P0});var wb=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.OktaJwtInboundPolicy=void 0;var A0=$t(),R0=o(async(e,t,r,n)=>(0,A0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Ua.OktaJwtInboundPolicy=R0});var vb=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.PropelAuthJwtInboundPolicy=void 0;var O0=(ws(),Zi(Es)),x0=$t(),bp,N0=o(async(e,t,r,n)=>{if(!bp)try{bp=await(0,O0.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,x0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:bp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ma.PropelAuthJwtInboundPolicy=N0});var Tb=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var je=Lt(),et=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Ai=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ai;var Ri=class extends et{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ri;function C0(e,t){if((0,je.isUndefined)(e))throw new Ai(t)}o(C0,"throwIfUndefined");G.throwIfUndefined=C0;function _p(e,t){if((0,je.isUndefinedOrNull)(e))throw new Ai(t)}o(_p,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=_p;function L0(e,t){if(_p(e,t),!(0,je.isString)(e))throw new Ri(t,"string")}o(L0,"throwIfNotString");G.throwIfNotString=L0;function D0(e,t){if(_p(e,t),!(0,je.isNumber)(e))throw new Ri(t,"number")}o(D0,"throwIfNotNumber");G.throwIfNotNumber=D0;var Oi=class extends et{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Oi;var Un=class extends et{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=Un;function U0(e,t,r,n){if((0,je.isUndefined)(n))throw new Oi(e,t,r)}o(U0,"throwIfOptionUndefined");G.throwIfOptionUndefined=U0;function ka(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Oi(e,t,r)}o(ka,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=ka;function M0(e,t,r,n){if(ka(e,t,r,n),!(0,je.isString)(n))throw new Un(e,t,r,"string")}o(M0,"throwIfOptionNotString");G.throwIfOptionNotString=M0;function k0(e,t,r,n){if(ka(e,t,r,n),!(0,je.isNumber)(n))throw new Un(e,t,r,"number")}o(k0,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=k0;function H0(e,t,r,n){if(ka(e,t,r,n),!(0,je.isObject)(n))throw new Un(e,t,r,"object")}o(H0,"throwIfOptionNotObject");G.throwIfOptionNotObject=H0;function F0(e,t){if((0,je.isUndefined)(e))throw new et(t)}o(F0,"throwIfStateUndefined");G.throwIfStateUndefined=F0;function Ha(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}o(Ha,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Ha;function q0(e,t){if(Ha(e,t),!(0,je.isString)(e))throw new et(t);return!0}o(q0,"throwIfStateNotString");G.throwIfStateNotString=q0;function $0(e,t){if(Ha(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}o($0,"throwIfStateNotNumber");G.throwIfStateNotNumber=$0;function j0(e,t){if(Ha(e,t),!(0,je.isObject)(e))throw new et(t);return!0}o(j0,"throwIfStateNotObject");G.throwIfStateNotObject=j0});var Sb=g(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.InMemoryRedisClient=Mn.StandardRedisClient=void 0;var Ep=D(),Fa=Tb(),wp=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,Fa.throwIfNotString)(t,"redisClientUrl"),(0,Fa.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,Fa.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new Ep.SystemError("Redis client failed with 401: Unauthorized"):new Ep.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Mn.StandardRedisClient=wp;var vp=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Fa.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Ep.SystemError("The in-memory redis client only supports /rate-limit calls")}};Mn.InMemoryRedisClient=vp});var Ob=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.RateLimitInboundPolicy=void 0;var V0=Tr(),G0=qt(),B0=no(),jt=D(),K0=se(),Ib=Le(),xi=Y(),Pb=Sb(),Ab=Lt(),qa=(0,V0.debug)("zuplo:policies:RateLimitInboundPolicy"),J0="strict",z0=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),W0=o(async e=>({key:`ip-${z0(e)}`}),"getIP"),Q0=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),Y0=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),$a;function Z0(e,t){let r;if($a)return $a;if(xi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Pb.InMemoryRedisClient,$a=r,r;let{authApiJWT:n,redisURL:i}=xi.Environment.instance;if(!(0,Ab.isString)(i))throw new jt.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,Ab.isString)(n))throw new jt.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Pb.StandardRedisClient.initialize(i,n,xi.Environment.instance.deploymentName??"unknown",xi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new jt.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return $a=r,r}o(Z0,"getRedisClient");async function Rb(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(Rb,"getCountAndUpdateExpiry");function X0(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new jt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new jt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new jt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new jt.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new jt.RuntimeError(u)}return c},"outerFunction")}o(X0,"wrapUserFunction");var eO="Retry-After",tO=o(async(e,t,r,n)=>{let i=Date.now(),s=Ib.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new jt.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[eO]=l.toString()),K0.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:X0(r,n),user:Q0,ip:W0,all:Y0}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",w=Z0(n,s),S=`bucket/${xi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??J0)==="async"){let N=await(0,G0.getPolicyCacheName)(n,r),re=new B0.ZoneCache(N,{logger:Ib.SystemLogMap.getLogger(t)}),ne=Rb(S,h,w,s,t.requestId),me=await re.get(S);if(me!==void 0&&me<=Date.now()){qa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(y,Be)}return t.addEventListener("responseSending",Be=>{try{let E=Be,H=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>m){let ru=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,ru,Ce.ttlSeconds).catch(dh=>{throw s.error(dh),dh}),qa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(y,Ce.ttlSeconds)}return H})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let F=await Rb(S,h,w,s,t.requestId);return F.count>m?(qa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(y,F.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;qa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");ja.RateLimitInboundPolicy=tO});var Lb=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.ReadmeMetricsInboundPolicy=void 0;var rO=ve(),Tp=Y(),xb=ri(),Sp;function Nb(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(Nb,"headersToNameValuePairs");function nO(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(nO,"queryToNameValueParis");function iO(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(iO,"parseIntOrUndefined");var Cb={};async function oO(e,t,r,n){let i=new Date,s=Date.now();return Sp||(Sp={name:"zuplo",version:Tp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Tp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,xb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,xb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Tp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Sp,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:Nb(e.headers),queryString:nO(e.query)},response:{status:a.status,statusText:a.statusText,headers:Nb(a.headers),content:{size:iO(e.headers.get("content-length"))}}}]}}},d=Cb[r.apiKey];if(!d){let p=r.apiKey;d=new rO.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",y=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Cb[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(oO,"ReadmeMetricsInboundPolicy");Va.ReadmeMetricsInboundPolicy=oO});var Db=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.RemoveHeadersInboundPolicy=void 0;var sO=D(),aO=He(),cO=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new sO.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new aO.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");Ga.RemoveHeadersInboundPolicy=cO});var Ub=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.RemoveHeadersOutboundPolicy=void 0;var uO=D(),lO=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new uO.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Ba.RemoveHeadersOutboundPolicy=lO});var Mb=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.RemoveQueryParamsInboundPolicy=void 0;var dO=D(),pO=He(),hO=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new dO.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new pO.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");Ka.RemoveQueryParamsInboundPolicy=hO});var kb=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.ReplaceStringOutboundPolicy=void 0;var fO=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Ja.ReplaceStringOutboundPolicy=fO});var Fb=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.RequestSizeLimitInboundPolicy=void 0;var Hb=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),mO=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?Hb():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?Hb():e},"RequestSizeLimitInboundPolicy");za.RequestSizeLimitInboundPolicy=mO});var Wa=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function yO(e,t,r){return`_${kr(e+"_"+t+"_"+r)}`}o(yO,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=yO;function gO(e,t,r,n){return`_${kr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(gO,"getIdForParameterSchema");tt.getIdForParameterSchema=gO;function bO(e,t,r){return`_${kr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${kr(r.toLowerCase())}`}o(bO,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=bO;function _O(e,t){return`_${kr(e)}__${kr(t)}`}o(_O,"getIdForRefSchema");tt.getIdForRefSchema=_O;function kr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(kr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=kr});var Ni=g(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.getErrorsFromValidator=De.shouldReject=De.shouldLog=De.logErrors=De.validateParameters=De.getParametersForOperation=void 0;var EO=mn(),wO=Wa(),vO=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");De.getParametersForOperation=vO;var TO=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,wO.getIdForParameterSchema)(r,n,i,u.name),d=EO.Gateway.instance.schemaValidator[l],p=d(t[u.name]),m=(0,De.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${m.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");De.validateParameters=TO;var SO=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");De.logErrors=SO;var IO=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");De.shouldLog=IO;var PO=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");De.shouldReject=PO;var AO=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");De.getErrorsFromValidator=AO});var qb=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.handleBodyValidation=void 0;var RO=mn(),Qa=se(),OO=Wa(),Je=Ni();async function xO(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let y=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,w=Qa.HttpProblems.badRequest(t,e,{detail:`${y}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",y,[n],h),(0,Je.shouldReject)(r.validateBody))return w}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,y=Qa.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,OO.getIdForRequestBodySchema)(e.route.path,t.method,i),c=RO.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,y=Qa.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),m=Qa.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return m}o(xO,"handleBodyValidation");Ya.handleBodyValidation=xO});var $b=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.handleHeadersValidation=void 0;var NO=se(),Ci=Ni();function CO(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ci.getParametersForOperation)(e),s=(0,Ci.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=NO.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ci.shouldLog)(r.validateHeaders)&&(0,Ci.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ci.shouldReject)(r.validateHeaders))return c}}o(CO,"handleHeadersValidation");Za.handleHeadersValidation=CO});var jb=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.handlePathParameterValidation=void 0;var LO=se(),Li=Ni();function DO(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Li.getParametersForOperation)(e),i=(0,Li.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=LO.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Li.shouldLog)(r.validatePathParameters)&&(0,Li.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Li.shouldReject)(r.validatePathParameters))return a}}o(DO,"handlePathParameterValidation");Xa.handlePathParameterValidation=DO});var Vb=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.handleQueryParameterValidation=void 0;var UO=se(),Di=Ni();function MO(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Di.getParametersForOperation)(e),i=(0,Di.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=UO.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Di.shouldLog)(r.validateQueryParameters)&&(0,Di.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Di.shouldReject)(r.validateQueryParameters))return a}}o(MO,"handleQueryParameterValidation");ec.handleQueryParameterValidation=MO});var Gb=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy=void 0;var kO=qb(),HO=$b(),FO=jb(),qO=Vb(),$O=o(async(e,t,r)=>{let n=(0,qO.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,FO.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,HO.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,kO.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Hr.RequestValidationInboundPolicy=$O;Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy});var Bb=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.RequireOriginInboundPolicy=void 0;var jO=D(),VO=se(),GO=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new jO.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return VO.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");tc.RequireOriginInboundPolicy=GO});var Kb=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.SetBodyInboundPolicy=void 0;var BO=He(),KO=o(async(e,t,r)=>new BO.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");rc.SetBodyInboundPolicy=KO});var zb=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.SetHeadersInboundPolicy=void 0;var Jb=D(),JO=He(),zO=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new Jb.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new Jb.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new JO.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");nc.SetHeadersInboundPolicy=zO});var Qb=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.SetHeadersOutboundPolicy=void 0;var Wb=D(),WO=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new Wb.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new Wb.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");ic.SetHeadersOutboundPolicy=WO});var Zb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.SetQueryParamsInboundPolicy=void 0;var Yb=D(),QO=He(),YO=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new Yb.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new Yb.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new QO.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");oc.SetQueryParamsInboundPolicy=YO});var Xb=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.SetStatusOutboundPolicy=void 0;var ZO=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");sc.SetStatusOutboundPolicy=ZO});var e_=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.SleepInboundPolicy=void 0;var XO=D(),ex=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),tx=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new XO.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await ex(r.sleepInMs),e},"SleepInboundPolicy");ac.SleepInboundPolicy=tx});var r_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.SupabaseJwtInboundPolicy=void 0;var t_=D(),rx=se(),nx=He(),ix=Ft(),ox=$t(),sx=o(async(e,t,r,n)=>{(0,ix.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,ox.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof nx.ZuploRequest))throw new t_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new t_.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?rx.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");cc.SupabaseJwtInboundPolicy=sx});var i_=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var ax=qt(),cx=Kt(),n_=D(),ux=Le(),lx=Ts(),dx=Ft(),px=o(async(e,t,r,n)=>{(0,dx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,ax.getPolicyCacheName)(n,r),s=new cx.MemoryZoneReadThroughCache(i,{logger:ux.SystemLogMap.getLogger(t)}),a=await s.get(n);if(!a){let c=await hx(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");uc.UpstreamAzureAdServiceAuthInboundPolicy=px;async function hx(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,lx.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new n_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new n_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(hx,"getAccessToken")});var s_=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var fx=qt(),mx=Kt(),yx=D(),gx=Le(),Ip=pn(),bx=Ft(),o_="https://accounts.google.com/o/oauth2/token",Pp,_x=o(async(e,t,r,n)=>{(0,bx.optionValidator)(r,n).required("serviceAccountJson","string"),Pp||(Pp=await Ip.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,fx.getPolicyCacheName)(n,r),a=new mx.MemoryZoneReadThroughCache(s,{logger:gx.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,Ip.getTokenFromGcpServiceAccount)({serviceAccount:Pp,audience:o_,payload:i}),l=await(0,Ip.exchangeGgpJwtForIdToken)(o_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new yx.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");lc.UpstreamFirebaseAdminAuthInboundPolicy=_x});var a_=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var Ex=qt(),wx=Kt(),kn=D(),vx=Le(),Tx=ap(),Ap=pn(),Sx=ri(),Ix=Ft(),Px="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",Ax=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Rp,Rx=o(async(e,t,r,n)=>{if((0,Ix.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new kn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(Ax.indexOf(p)!==-1)throw new kn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Rp||(Rp=await Ap.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new kn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new kn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,Sx.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new kn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,Ex.getPolicyCacheName)(n,r),c=new wx.MemoryZoneReadThroughCache(a,{logger:vx.SystemLogMap.getLogger(t)}),u={uid:s,claims:i},l=await(0,Tx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Ap.getTokenFromGcpServiceAccount)({serviceAccount:Rp,audience:Px,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Ap.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new kn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");dc.UpstreamFirebaseUserAuthInboundPolicy=Rx});var u_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.UpstreamGcpJwtInboundPolicy=void 0;var c_=pn(),Ox=Ft(),Op,xx=o(async(e,t,r,n)=>{(0,Ox.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Op||(Op=await c_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,c_.getTokenFromGcpServiceAccount)({serviceAccount:Op,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");pc.UpstreamGcpJwtInboundPolicy=xx});var d_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.UpstreamGcpServiceAuthInboundPolicy=void 0;var Nx=qt(),Cx=uu(),Lx=Kt(),Dx=D(),xp=pn(),Ux=Ft(),l_="https://www.googleapis.com/oauth2/v4/token",Np,Mx=o(async(e,t,r,n)=>{(0,Ux.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Np||(Np=await xp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,Nx.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new Cx.MemoryCache(i):s=new Lx.MemoryZoneReadThroughCache(i,t);let a=await s.get(n);if(!a){let c=await(0,xp.getTokenFromGcpServiceAccount)({serviceAccount:Np,audience:l_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,xp.exchangeGgpJwtForIdToken)(l_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new Dx.RuntimeError("Invalid token response from GCP");a=u,s.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");hc.UpstreamGcpServiceAuthInboundPolicy=Mx});var h_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.ValidateJsonSchemaInbound=void 0;var kx=D(),p_=se(),Hx=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return p_.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new kx.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return p_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");fc.ValidateJsonSchemaInbound=Hx});var m_=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.MeteringInboundPolicy=void 0;var f_=$s(),Cp=D(),Fx=se(),qx=Le(),$x=Y(),jx=o(async(e,t,r,n)=>{let i=qx.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,m)=>{let h=f_.ContextData.get(m,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;let w=r.bucketId;if(!w){m.log.error(`MeteringInboundPolicy '${n}' - no bucketName property provided`);return}let{authApiJWT:T,meteringServiceUrl:S}=$x.Environment.instance;d.ok&&h&&r.meters&&fetch(`${S}/internal/v1/metering/${w}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${T}`},method:"POST",body:JSON.stringify({meters:r.meters})}).catch(L=>{m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,L)})});let s=f_.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!s){if(a)return e;throw new Cp.ConfigurationError("Subscription is not available for user")}if(s&&Object.keys(s.quotas).length===0)throw new Cp.ConfigurationError("Quota is not set up for the user's subscription");let l=Object.keys(r.meters).filter(d=>!Object.keys(s.quotas).includes(d));if(l.length>0)throw new Cp.ConfigurationError(`The following policy meters are not present in the subscription: ${l.join(", ")}`);for(let d of Object.keys(s.quotas))if(s.quotas[d]<=0&&!c)return Fx.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`});return e},"MeteringInboundPolicy");mc.MeteringInboundPolicy=jx});var y_=g(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.LoadSubscriptionInboundPolicy=void 0;var Vx=$s(),Gx=D(),Lp=se(),Bx=Le(),Kx=Y(),Jx=o(async(e,t,r,n)=>{let i=Bx.SystemLogMap.getLogger(t),s=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return s?e:Lp.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});let c=r.bucketId;if(!c)throw new Gx.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketName property provided`);let{authApiJWT:u,meteringServiceUrl:l}=Kx.Environment.instance,{sub:d}=a,p,m;try{if(p=await fetch(`${l}/internal/v1/metering/${c}/subscriptions?customerRef=${d}&status=active`,{headers:{Authorization:`Bearer ${u}`},method:"GET"}),!p.ok)return t.log.error(await p.text()),Lp.HttpProblems.forbidden(e,t);m=await p.json()}catch(y){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,y)}if((!m||!m.data||m.data.length===0)&&!s)return Lp.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!m||!m.data||m.data.length===0)&&s)return e;let h=m&&m.data?m.data[0]:void 0;return Vx.ContextData.set(t,"subscription",h),e},"LoadSubscriptionInboundPolicy");yc.LoadSubscriptionInboundPolicy=Jx});var g_=g(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.ServiceProviderImpl=void 0;var zx=D(),Dp=class e{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new zx.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};gc.ServiceProviderImpl=Dp});var R_=g(f=>{"use strict";var Wx=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Up=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Wx(t,e,r)},Qx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CreditsMeteringInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.LoadSubscriptionInboundPolicy=f.MeteringInboundPolicy=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=void 0;gh();var Yx=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Yx.MemoryZoneReadThroughCache}});var Zx=no();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return Zx.ZoneCache}});var b_=Sr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return b_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return b_.ResponseSentEvent}});var Xx=$s();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return Xx.ContextData}});var Mp=Ed();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return Mp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Mp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Mp.isZuploReadableEnvVariableName}});var eN=D();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return eN.ConfigurationError}});var tN=vd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return tN.originalFetch}});var __=By();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return __.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return __.purgeGatewayCache}});var E_=cg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return E_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return E_.awsLambdaHandler}});var rN=lg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return rN.openApiSpecHandler}});var nN=dg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return nN.redirectHandler}});var iN=hg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return iN.urlForwardHandler}});var oN=mg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return oN.urlRewriteHandler}});var sN=gg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return sN.webSocketHandler}});var aN=Eg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return aN.webSocketPipelineHandler}});var cN=Lu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return cN.HttpStatusCode}});Up(Rg(),f);Up(Ng(),f);var uN=Cg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return uN.AuditLogDataStaxProvider}});var lN=Dg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return lN.AuditLogPlugin}});Up(qg(),f);var w_=Bg();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return w_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return w_.AmberfloMeteringPolicy}});var dN=Wg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return dN.ApiAuthKeyInboundPolicy}});var pN=dp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return pN.ApiKeyInboundPolicy}});var hN=Qg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return hN.Auth0JwtInboundPolicy}});var fN=Yg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return fN.BasicAuthInboundPolicy}});var mN=Zg();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return mN.CachingInboundPolicy}});var yN=Xg();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return yN.ChangeMethodInboundPolicy}});var gN=eb();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return gN.ClearHeadersInboundPolicy}});var bN=tb();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return bN.ClearHeadersOutboundPolicy}});var _N=rb();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return _N.ClerkJwtInboundPolicy}});var EN=ib();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return EN.CognitoJwtInboundPolicy}});var wN=sb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return wN.CompositeInboundPolicy}});var vN=cb();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return vN.CreditsMeteringInboundPolicy}});var TN=ub();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return TN.CurityPhantomTokenInboundPolicy}});var SN=lb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return SN.FirebaseJwtInboundPolicy}});var IN=db();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return IN.FormDataToJsonInboundPolicy}});var PN=pb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return PN.GeoFilterInboundPolicy}});var AN=hb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return AN.JWTScopeValidationInboundPolicy}});var RN=mb();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return RN.MockApiInboundPolicy}});var v_=Eb();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return v_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return v_.setMoesifContext}});var ON=wb();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return ON.OktaJwtInboundPolicy}});var xN=$t();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return xN.OpenIdJwtInboundPolicy}});var NN=vb();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return NN.PropelAuthJwtInboundPolicy}});var T_=Ob();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return T_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return T_.RateLimitInboundPolicy}});var CN=Lb();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return CN.ReadmeMetricsInboundPolicy}});var LN=Db();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return LN.RemoveHeadersInboundPolicy}});var DN=Ub();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return DN.RemoveHeadersOutboundPolicy}});var UN=Mb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return UN.RemoveQueryParamsInboundPolicy}});var MN=kb();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return MN.ReplaceStringOutboundPolicy}});var kN=Fb();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return kN.RequestSizeLimitInboundPolicy}});var S_=Gb();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return S_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return S_.SchemaBasedRequestValidation}});var HN=Bb();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return HN.RequireOriginInboundPolicy}});var FN=Kb();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return FN.SetBodyInboundPolicy}});var qN=zb();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return qN.SetHeadersInboundPolicy}});var $N=Qb();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return $N.SetHeadersOutboundPolicy}});var jN=Zb();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return jN.SetQueryParamsInboundPolicy}});var VN=Xb();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return VN.SetStatusOutboundPolicy}});var GN=e_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return GN.SleepInboundPolicy}});var BN=np();Object.defineProperty(f,"StripeWebhookInboundPolicy",{enumerable:!0,get:function(){return BN.StripeWebhookInboundPolicy}});var KN=r_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return KN.SupabaseJwtInboundPolicy}});var JN=i_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return JN.UpstreamAzureAdServiceAuthInboundPolicy}});var zN=s_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return zN.UpstreamFirebaseAdminAuthInboundPolicy}});var WN=a_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return WN.UpstreamFirebaseUserAuthInboundPolicy}});var QN=u_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return QN.UpstreamGcpJwtInboundPolicy}});var YN=d_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return YN.UpstreamGcpServiceAuthInboundPolicy}});var ZN=h_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return ZN.ValidateJsonSchemaInbound}});var XN=m_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return XN.MeteringInboundPolicy}});var eC=y_();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return eC.LoadSubscriptionInboundPolicy}});var tC=se();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return tC.HttpProblems}});var rC=ho();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return rC.ProblemResponseFormatter}});var nC=He();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return nC.ZuploRequest}});var iC=Pr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return iC.SystemRouteName}});var I_=pd();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return I_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return I_.Router}});var P_=Su();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return P_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return P_.serialize}});var oC=g_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return oC.ServiceProviderImpl}});var A_=Ku();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return A_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return A_.SYSTEM_LOGGER}});var sC=Uu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return Qx(sC).default}});var aC=Le();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return aC.SystemLogMap}});var Ui=Wa();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Ui.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Ui.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Ui.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Ui.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Ui.sanitizedIdentifierName}})});var O_=g(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.BaseCryptoBeta=Hn.supportedDigests=void 0;Hn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var kp=class{static{o(this,"BaseCryptoBeta")}};Hn.BaseCryptoBeta=kp});var x_=g(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.WorkerCryptoBeta=void 0;var Hp=O_(),cC=D(),Fp=class extends Hp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!Hp.supportedDigests.includes(t.toLowerCase()))throw new cC.RuntimeError(`Algorithm ${t} is not supported. Try using ${Hp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};bc.WorkerCryptoBeta=Fp});var N_=g(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.BaseKeyValueStore=void 0;var qp=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};_c.BaseKeyValueStore=qp});var L_=g(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.WorkerKeyValueStore=void 0;var C_=D(),uC=N_(),$p=class extends uC.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new C_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new C_.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};Ec.WorkerKeyValueStore=$p});var Ct=g(lt=>{"use strict";var lC=lt&&lt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),dC=lt&&lt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&lC(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;dC(R_(),lt);var pC=x_();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return pC.WorkerCryptoBeta}});var hC=L_();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return hC.WorkerKeyValueStore}})});var EL={};Yi(EL,{GraphQLComplexityLimitInboundPolicy:()=>dE,GraphQLDisableIntrospectionInboundPolicy:()=>hE});module.exports=Zi(EL);var Qn=hh(Ct());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}o(Ee,"isObjectLike");function Pt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(Pt,"invariant");var fC=/\r\n|[\n\r]/g;function Fn(e,t){let r=0,n=1;for(let i of e.body.matchAll(fC)){if(typeof i.index=="number"||Pt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Fn,"getLocation");function jp(e){return wc(e.source,Fn(e.source,e.start))}o(jp,"printLocation");function wc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
75
- `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),h=u%80,y=[];for(let w=0;w<p.length;w+=80)y.push(p.slice(w,w+80));return l+D_([[`${a} |`,y[0]],...y.slice(1,m+1).map(w=>["|",w]),["|","^".padStart(h)],["|",y[m+1]]])}return l+D_([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(wc,"printSourceLocation");function D_(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
76
- `)}o(D_,"printPrefixedLines");function mC(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}o(mC,"toNormalizedOptions");var C=class e extends Error{static{o(this,"GraphQLError")}constructor(t,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=mC(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=U_(Array.isArray(a)?a:a?[a]:void 0);let m=U_((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(y=>y.start),this.locations=u&&c?u.map(y=>Fn(c,y)):m?.map(y=>Fn(y.source,y.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
74
+ `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new kr.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(QA,"validateComputedSignature");function YA(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}s(YA,"parseHeader");function ZA(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}s(ZA,"secureCompare");async function kg(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),o=new Uint8Array(i),a=new Array(o.length);for(let c=0;c<o.length;c++)a[c]=rp[o[c]];return a.join("")}s(kg,"computeHMACSignatureAsync");On.computeHMACSignatureAsync=kg;var rp=new Array(256);for(let e=0;e<rp.length;e++)rp[e]=e.toString(16).padStart(2,"0")});var qt=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.optionValidator=void 0;var Ii=L();function XA(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new Ii.ConfigurationError(`Value of '${String(o)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new Ii.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ii.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Ii.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new Ii.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=s((o,a)=>(r(o,a,!0),{optional:n,required:i}),"optional"),i=s((o,a)=>(r(o,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}s(XA,"optionValidator");ua.optionValidator=XA});var np=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.StripeWebhookVerificationInboundPolicy=void 0;var eR=se(),tR=Mg(),rR=qt(),nR=s(async(e,t,r,n)=>{(0,rR.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let o=await e.clone().text();await(0,tR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),eR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");la.StripeWebhookVerificationInboundPolicy=nR});var Hg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.MeteringPlugin=void 0;var iR=yt(),ip=class extends iR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};da.MeteringPlugin=ip});var $g=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.StripeMeteringPlugin=void 0;var qg=L(),oR=Ct(),sR=np(),Pt=se(),aR=Yt(),cR=zr(),uR=Cu(),lR=ot(),dR=Y(),Fg=Dt(),pR=Hg(),hR="checkout.session.completed",op=class extends pR.MeteringPlugin{static{s(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=s(async(c,u)=>{if(this.options.__testMode)return"success";let{monetizationBucketId:l}=this.options;if(!l)throw new qg.ConfigurationError("StripeMeteringPlugin - No 'monetizationBucketId' property provided");let d=this.options.monetizationBucketRegion??"us-central1",p=await c.json();try{yR(p)}catch{return Pt.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."})}if(p.type===hR){let m=p,h=m.data?.object?.subscription;if(!h)return Pt.HttpProblems.badRequest(c,u,{detail:"Invalid Stripe Webhook event. Expected '.data.object.id' to be the subscription ID."});let y=m.data?.object?.client_reference_id;if(!y)return Pt.HttpProblems.badRequest(c,u,{detail:"Invalid Stripe Webhook event. Expected '.data.object.id' to be the subscription ID."});let w=y,T="routes.oas.json",S=await fetch(`https://api.stripe.com/v1/subscriptions/${h}`,{headers:{Authorization:`Bearer ${this.options.stripeSecretKey}`}}),D=await S.json();return S.status!==200?(u.log.error(D),Pt.HttpProblems.internalServerError(c,u,{detail:D.message??"Error calling Stripe API"})):fR({request:c,context:u,subscription:D,customerKey:w,productKey:T,monetizationBucketId:l,monetizationBucketRegion:d})}return Pt.HttpProblems.ok(c,u,{detail:"Event was ignored by Stripe metering plugin webhook."})},"stripeWebhookHandler"),i=(0,cR.createInternalPolicyProcessor)({inboundPolicies:[{handler:sR.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new oR.Pipeline({processors:[aR.metricsProcessor,i],handler:n,gateway:r}),a=new lR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__zuplo/stripe-webhooks",systemRouteName:uR.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};pa.StripeMeteringPlugin=op;async function fR({request:e,context:t,subscription:r,customerKey:n,productKey:i,monetizationBucketId:o,monetizationBucketRegion:a}){let c=r.id;if(!c)return Pt.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe Webhook event. Expected '.data.object.id' to be the subscription ID."});let u=r.items?.data.find(p=>p.object==="subscription_item");if(!u||!u.id)return Pt.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe Webhook event. Expected '.data.object.items.data[]' to contain a subscription_item."});let l=u.plan;if(!l||!l.product)return Pt.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe Webhook event. Expected '.data.object.items.data[].plan'."});let d={status:"active",type:"periodic",renewalStrategy:"monthly",customerKey:n,productKey:i,planProviderKey:l.product,subscriptionProviderKey:c,region:a};try{await mR({logger:t.log,bucketId:o,body:d})}catch(p){return Pt.HttpProblems.internalServerError(e,t,{detail:p.message})}return Pt.HttpProblems.ok(e,t)}s(fR,"saveSubscription");async function mR({logger:e,bucketId:t,body:r}){let{authApiJWT:n,meteringServiceUrl:i}=dR.Environment.instance,o=await fetch(`${i}/internal/v1/metering/${t}/subscriptions`,{headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},method:"POST",body:JSON.stringify(r)});if(o.status!==200){let a="Unknown error creating subscription",c;try{c=await o.json(),a=c.detail??c.title??a}catch{}throw e.error(a,c),new qg.RuntimeError(a)}}s(mR,"makeRequest");function yR(e){if(!(e!==null&&typeof e=="object"&&"id"in e&&(0,Fg.isString)(e.id)&&"type"in e&&(0,Fg.isString)(e.type)))throw new Error("Object is not a stripe webhook event")}s(yR,"assertsStripeWebhookEvent")});var Kg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.AmberfloMeteringInboundPolicy=xn.AmberfloMeteringPolicy=void 0;var jg=L(),gR=ve(),Vg=ri(),Bg=new WeakMap,Gg={},sp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Bg.set(t,r)}};xn.AmberfloMeteringPolicy=sp;async function bR(e,t,r,n){if(!r.statusCodes)throw new jg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Vg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=Bg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new jg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Vg.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=Gg[r.apiKey];if(!m){let h=r.apiKey,y=e.headers.get("zm-test-id")??"";m=new gR.BatchDispatch("amberflo-ingest-meter",10,async w=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(w),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":y}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),Gg[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}s(bR,"AmberfloMeteringInboundPolicy");xn.AmberfloMeteringInboundPolicy=bR});var ap=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.sha256=void 0;async function _R(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}s(_R,"sha256");ha.sha256=_R});var $t=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.getPolicyCacheName=void 0;var ER=ap(),Jg=new Map;async function wR(e,t){let r,n=Jg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,ER.sha256)(JSON.stringify({policyName:e,options:t}))}`,Jg.set(e,r)),r}s(wR,"getPolicyCacheName");fa.getPolicyCacheName=wR});var dp=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.ApiKeyInboundPolicy=void 0;var vR=$t(),TR=Jt(),zg=Ed(),cp=L(),SR=Lt(),up=Le(),lp=Y(),IR=Ts(),Wg="key-metadata-cache-type";function PR(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(PR,"getKeyValue");async function AR(e,t,r,n){if(!r.bucketName)if(zg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=zg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new cp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new cp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(T=>i.allowUnauthenticatedRequests?e:SR.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return o("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return o("Invalid Authorization Scheme");let c=PR(a,i);if(!c||c==="")return o("No key present");let u=await RR(c),l=await(0,vR.getPolicyCacheName)(n,i),d=new TR.MemoryZoneReadThroughCache(l,{logger:up.SystemLogMap.getLogger(t)}),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Wg&&up.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let m={key:c},h=await(0,IR.fetchRetry)({retryDelayMs:5,retries:2,logger:up.SystemLogMap.getLogger(t)},`${lp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":lp.Environment.instance.deploymentName??"unknown","User-Agent":lp.Environment.instance.systemUserAgent},body:JSON.stringify(m)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),o("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new cp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let y=await h.json(),w={isValid:!0,typeId:Wg,user:{sub:y.name,data:y.metadata}};return e.user=w.user,d.put(u,w,i.cacheTtlSeconds),e}s(AR,"ApiKeyInboundPolicy");ma.ApiKeyInboundPolicy=AR;async function RR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(RR,"hashValue")});var Qg=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.ApiAuthKeyInboundPolicy=void 0;var OR=dp();ya.ApiAuthKeyInboundPolicy=OR.ApiKeyInboundPolicy});var jt=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.OpenIdJwtInboundPolicy=void 0;var hp=(ws(),Zi(Es)),fp=L(),xR=se(),pp={},NR=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new fp.ConfigurationError("Invalid State - jwkUrl not set");pp[t.jwkUrl]||(pp[t.jwkUrl]=(0,hp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,hp.jwtVerify)(e,pp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),CR=s(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let o=new TextEncoder().encode(t.secret);r=new Uint8Array(o)}else r=t.secret;let{payload:n}=await(0,hp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),LR=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(m=>xR.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new fp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new fp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?NR:CR,l=await s(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(o)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(o.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let y=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${y.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${y.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");ga.OpenIdJwtInboundPolicy=LR});var Yg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.Auth0JwtInboundPolicy=void 0;var DR=jt(),UR=s(async(e,t,r,n)=>(0,DR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");ba.Auth0JwtInboundPolicy=UR});var Zg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.BasicAuthInboundPolicy=void 0;var kR=se(),MR=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>kR.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await s(async()=>{if(!n)return await o("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await o("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await o("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await o("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),h=d.substring(p+1),y=r.accounts.find(w=>w.username===m&&w.password===h);return y||await o("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");_a.BasicAuthInboundPolicy=MR});var Xg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.CachingInboundPolicy=void 0;var HR=$t(),FR=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function qR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(qR,"digestMessage");var $R=s(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await qR(JSON.stringify(n)),o=new URL(e.url),a=new URLSearchParams(o.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${o.origin}${o.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function jR(e,t,r,n){let i=await(0,HR.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await $R(e,r),u=await o.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);FR.forEach(y=>h.headers.delete(y)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(o.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}s(jR,"CachingInboundPolicy");Ea.CachingInboundPolicy=jR});var eb=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.ChangeMethodInboundPolicy=void 0;var VR=L(),GR=He(),BR=s(async(e,t,r,n)=>{if(!r.method)throw new VR.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new GR.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");wa.ChangeMethodInboundPolicy=BR});var tb=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.ClearHeadersInboundPolicy=void 0;var KR=He(),JR=s(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new KR.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");va.ClearHeadersInboundPolicy=JR});var rb=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.ClearHeadersOutboundPolicy=void 0;var zR=s(async(e,t,r,n)=>{let i=[...n.exclude??[]],o=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&o.set(c,u)}),new Response(e.body,{headers:o,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");Ta.ClearHeadersOutboundPolicy=zR});var nb=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.ClerkJwtInboundPolicy=void 0;var WR=jt(),QR=s(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),o=new URL(i);return o.pathname="/.well-known/jwks.json",(0,WR.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Sa.ClerkJwtInboundPolicy=QR});var ob=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.CognitoJwtInboundPolicy=void 0;var ib=L(),YR=jt(),ZR=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new ib.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new ib.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,YR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");Ia.CognitoJwtInboundPolicy=ZR});var ab=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.CompositeInboundPolicy=void 0;var XR=L(),e0=mn(),sb=zr(),t0=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new XR.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=e0.Gateway.instance,o=(0,sb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,sb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");Pa.CompositeInboundPolicy=t0});var ub=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.CreditsMeteringInboundPolicy=void 0;var Pi=se(),cb=Y(),r0=s(async(e,t,r)=>{let n=e.user;if(!n)return Pi.HttpProblems.unauthorized(e,t,{title:"Unable to check subscription for anonymous user",detail:"No user data on request"});let{sub:i}=n;if(!r.bucketId)return Pi.HttpProblems.unauthorized(e,t,{title:"Metering bucket not configured",detail:"Specify one using the bucketId option on the policy"});let o=r.bucketId,a=await n0(o,i,t);if(!a)return Pi.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return Pi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return Pi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});return t.custom.subscription=a,t.addResponseSendingFinalHook(async()=>{let c=t.custom.meters,u={};for(let l of Object.keys(c))u[l]=c[l];await i0(o,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");Aa.CreditsMeteringInboundPolicy=r0;async function n0(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=cb.Environment.instance,o=new URL(`${i}/internal/v1/metering/${e}/subscriptions`);o.search=new URLSearchParams({customerRef:t,status:"active"}).toString();let a=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${n}`}});if(!a.ok)throw new Error(`Error retrieving subscriptions for credits metering ': ${a.status} - ${await a.text()}`);let c=await a.json();if(c.data.length!==0)return c.data.length>1&&r.log.warn(`Found more than one active subscription for customer ${t} -- using the first one.`),c.data[0]}s(n0,"getSubscription");async function i0(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=cb.Environment.instance,a=new URL(`${o}/internal/v1/metering/${e}/subscriptions/${t}/quotas/consume`),c=await fetch(a,{method:"POST",body:JSON.stringify({meters:r}),headers:{Authorization:`Bearer ${i}`}});c.ok||n.log.error(`Error consuming subscription quotas for credits metering ': ${c.status} - ${await c.text()}`)}s(i0,"consumeSubscription")});var lb=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.CurityPhantomTokenInboundPolicy=void 0;var o0=$t(),s0=Jt(),Ra=se(),a0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Ra.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=c0(i);if(!o)return Ra.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,o0.getPolicyCacheName)(n,r),c=new s0.MemoryZoneReadThroughCache(a,t),u=await c.get(o);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+o+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(o,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Ra.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Ra.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Oa.CurityPhantomTokenInboundPolicy=a0;function c0(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(c0,"getToken")});var db=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.FirebaseJwtInboundPolicy=void 0;var u0=qt(),l0=jt(),d0=s(async(e,t,r,n)=>((0,u0.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,l0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");xa.FirebaseJwtInboundPolicy=d0});var pb=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.FormDataToJsonInboundPolicy=void 0;var p0=He(),h0=s(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",o=e.headers.get("content-type")?.toLowerCase();if(!o||![i,n].includes(o))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new p0.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Na.FormDataToJsonInboundPolicy=h0});var hb=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.GeoFilterInboundPolicy=void 0;var f0=L(),m0=se(),Nn="__unknown__",y0=s(async(e,t,r,n)=>{let i={allow:{countries:Ln(r.allow?.countries,"allow.countries",n),regionCodes:Ln(r.allow?.regionCodes,"allow.regionCode",n),asns:Ln(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Ln(r.block?.countries,"block.countries",n),regionCodes:Ln(r.block?.regionCodes,"block.regionCode",n),asns:Ln(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Nn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Nn,c=t.incomingRequestProperties.asn?.toString()??Nn,u=i.ignoreUnknown&&o===Nn,l=i.ignoreUnknown&&a===Nn,d=i.ignoreUnknown&&c===Nn,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(o)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Cn(e,t,n,o,a,c);let y=i.block.countries,w=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(o)&&!u||w.length>0&&w.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Cn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");Ca.GeoFilterInboundPolicy=y0;function Cn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),m0.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(Cn,"blockedResponse");function Ln(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new f0.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s(Ln,"toLowerStringArray")});var fb=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.JWTScopeValidationInboundPolicy=void 0;var g0=s(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!s((o,a)=>a.every(c=>o.includes(c)),"scopeChecker")(n,r.scopes)){let o={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(o),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");La.JWTScopeValidationInboundPolicy=g0});var yb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.MockApiInboundPolicy=void 0;var b0=se(),_0=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return mp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let o=Object.keys(i),a=[];if(o.length===0)return mp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(o.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return mb(a[c])}else return a.length>0?mb(a[0]):mp(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");Da.MockApiInboundPolicy=_0;function mb(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}s(mb,"generateResponse");var mp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return b0.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var wb=g(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.MoesifInboundPolicy=Dn.setMoesifContext=void 0;var E0=L(),w0=ve(),v0="Incoming",T0={logRequestBody:!0,logResponseBody:!0};function gb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(gb,"headersToObject");function bb(){return new Date().toISOString()}s(bb,"timestamp");var yp=new WeakMap,S0={};function I0(e,t){let r=yp.get(e);r||(r=S0);let n=Object.assign({...r},t);yp.set(e,n)}s(I0,"setMoesifContext");Dn.setMoesifContext=I0;async function _b(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}s(_b,"readBody");var P0={},gp;function Eb(){if(!gp)throw new E0.RuntimeError("Invalid State - no _lastLogger");return gp}s(Eb,"getLastLogger");function A0(e){let t=P0[e];return t||(t=new w0.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Eb().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||Eb().error({status:i.status,body:await i.text()})})),t}s(A0,"getDispatcher");async function R0(e,t,r,n){gp=t.log;let i=bb(),o=Object.assign(T0,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await _b(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=A0(o.applicationId),d=e.headers.get("true-client-ip"),p=yp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:gb(e.headers)},h=o.logResponseBody?await _b(c,t):void 0,y={time:bb(),status:c.status,headers:gb(c.headers),body:h},w={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:v0};l.enqueue(w),t.waitUntil(l.waitUntilFlushed())}),e}s(R0,"MoesifInboundPolicy");Dn.MoesifInboundPolicy=R0});var vb=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.OktaJwtInboundPolicy=void 0;var O0=jt(),x0=s(async(e,t,r,n)=>(0,O0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Ua.OktaJwtInboundPolicy=x0});var Tb=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.PropelAuthJwtInboundPolicy=void 0;var N0=(ws(),Zi(Es)),C0=jt(),bp,L0=s(async(e,t,r,n)=>{if(!bp)try{bp=await(0,N0.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,C0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:bp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");ka.PropelAuthJwtInboundPolicy=L0});var Sb=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var je=Dt(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Ai=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ai;var Ri=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ri;function D0(e,t){if((0,je.isUndefined)(e))throw new Ai(t)}s(D0,"throwIfUndefined");G.throwIfUndefined=D0;function _p(e,t){if((0,je.isUndefinedOrNull)(e))throw new Ai(t)}s(_p,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=_p;function U0(e,t){if(_p(e,t),!(0,je.isString)(e))throw new Ri(t,"string")}s(U0,"throwIfNotString");G.throwIfNotString=U0;function k0(e,t){if(_p(e,t),!(0,je.isNumber)(e))throw new Ri(t,"number")}s(k0,"throwIfNotNumber");G.throwIfNotNumber=k0;var Oi=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Oi;var Un=class extends et{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=Un;function M0(e,t,r,n){if((0,je.isUndefined)(n))throw new Oi(e,t,r)}s(M0,"throwIfOptionUndefined");G.throwIfOptionUndefined=M0;function Ma(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Oi(e,t,r)}s(Ma,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Ma;function H0(e,t,r,n){if(Ma(e,t,r,n),!(0,je.isString)(n))throw new Un(e,t,r,"string")}s(H0,"throwIfOptionNotString");G.throwIfOptionNotString=H0;function F0(e,t,r,n){if(Ma(e,t,r,n),!(0,je.isNumber)(n))throw new Un(e,t,r,"number")}s(F0,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=F0;function q0(e,t,r,n){if(Ma(e,t,r,n),!(0,je.isObject)(n))throw new Un(e,t,r,"object")}s(q0,"throwIfOptionNotObject");G.throwIfOptionNotObject=q0;function $0(e,t){if((0,je.isUndefined)(e))throw new et(t)}s($0,"throwIfStateUndefined");G.throwIfStateUndefined=$0;function Ha(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(Ha,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Ha;function j0(e,t){if(Ha(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(j0,"throwIfStateNotString");G.throwIfStateNotString=j0;function V0(e,t){if(Ha(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(V0,"throwIfStateNotNumber");G.throwIfStateNotNumber=V0;function G0(e,t){if(Ha(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(G0,"throwIfStateNotObject");G.throwIfStateNotObject=G0});var Ib=g(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.InMemoryRedisClient=kn.StandardRedisClient=void 0;var Ep=L(),Fa=Sb(),wp=class e{static{s(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,Fa.throwIfNotString)(t,"redisClientUrl"),(0,Fa.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,Fa.throwIfNotString)(t,"url");let o=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=o.headers.get("Content-Type")?.includes("application/json")?await o.json():await o.text();if(o.ok)return a;throw o.status===401?new Ep.SystemError("Redis client failed with 401: Unauthorized"):new Ep.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};kn.StandardRedisClient=wp;var vp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Fa.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:o,key:a}=JSON.parse(r),c=Date.now()+o*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Ep.SystemError("The in-memory redis client only supports /rate-limit calls")}};kn.InMemoryRedisClient=vp});var xb=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.RateLimitInboundPolicy=void 0;var B0=Sr(),K0=$t(),J0=no(),Vt=L(),z0=se(),Pb=Le(),xi=Y(),Ab=Ib(),Rb=Dt(),qa=(0,B0.debug)("zuplo:policies:RateLimitInboundPolicy"),W0="strict",Q0=s(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),Y0=s(async e=>({key:`ip-${Q0(e)}`}),"getIP"),Z0=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),X0=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),$a;function eO(e,t){let r;if($a)return $a;if(xi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Ab.InMemoryRedisClient,$a=r,r;let{authApiJWT:n,redisURL:i}=xi.Environment.instance;if(!(0,Rb.isString)(i))throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,Rb.isString)(n))throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Ab.StandardRedisClient.initialize(i,n,xi.Environment.instance.deploymentName??"unknown",xi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return $a=r,r}s(eO,"getRedisClient");async function Ob(e,t,r,n,i){let o=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:o,key:e}),requestId:i})}s(Ob,"getCountAndUpdateExpiry");function tO(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Vt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Vt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Vt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new Vt.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return s(async(i,o,a)=>{let c=await r(i,o,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw o.log.error(u),new Vt.RuntimeError(u)}return c},"outerFunction")}s(tO,"wrapUserFunction");var rO="Retry-After",nO=s(async(e,t,r,n)=>{let i=Date.now(),o=Pb.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new Vt.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[rO]=l.toString()),z0.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:tO(r,n),user:Z0,ip:Y0,all:X0}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",w=eO(n,o),S=`bucket/${xi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??W0)==="async"){let C=await(0,K0.getPolicyCacheName)(n,r),re=new J0.ZoneCache(C,{logger:Pb.SystemLogMap.getLogger(t)}),ne=Ob(S,h,w,o,t.requestId),me=await re.get(S);if(me!==void 0&&me<=Date.now()){qa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(y,Be)}return t.addEventListener("responseSending",Be=>{try{let E=Be,H=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>m){let ru=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,ru,Ce.ttlSeconds).catch(dh=>{throw o.error(dh),dh}),qa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(y,Ce.ttlSeconds)}return H})()}catch(E){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let j=await Ob(S,h,w,o,t.requestId);return j.count>m?(qa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(y,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;qa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");ja.RateLimitInboundPolicy=nO});var Db=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.ReadmeMetricsInboundPolicy=void 0;var iO=ve(),Tp=Y(),Nb=ri(),Sp;function Cb(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(Cb,"headersToNameValuePairs");function oO(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(oO,"queryToNameValueParis");function sO(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(sO,"parseIntOrUndefined");var Lb={};async function aO(e,t,r,n){let i=new Date,o=Date.now();return Sp||(Sp={name:"zuplo",version:Tp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Tp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Nb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Nb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Tp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Sp,entries:[{startedDateTime:i.toISOString(),time:Date.now()-o,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:Cb(e.headers),queryString:oO(e.query)},response:{status:a.status,statusText:a.statusText,headers:Cb(a.headers),content:{size:sO(e.headers.get("content-length"))}}}]}}},d=Lb[r.apiKey];if(!d){let p=r.apiKey;d=new iO.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",y=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Lb[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(aO,"ReadmeMetricsInboundPolicy");Va.ReadmeMetricsInboundPolicy=aO});var Ub=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.RemoveHeadersInboundPolicy=void 0;var cO=L(),uO=He(),lO=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new cO.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let o=new Headers(e.headers);return i.forEach(c=>{o.delete(c)}),new uO.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");Ga.RemoveHeadersInboundPolicy=lO});var kb=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.RemoveHeadersOutboundPolicy=void 0;var dO=L(),pO=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new dO.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return o.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Ba.RemoveHeadersOutboundPolicy=pO});var Mb=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.RemoveQueryParamsInboundPolicy=void 0;var hO=L(),fO=He(),mO=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new hO.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let o=new URL(e.url);return i.forEach(c=>{o.searchParams.delete(c)}),new fO.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");Ka.RemoveQueryParamsInboundPolicy=mO});var Hb=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.ReplaceStringOutboundPolicy=void 0;var yO=s(async(e,t,r,n)=>{let i=await e.text(),o=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(o,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Ja.ReplaceStringOutboundPolicy=yO});var qb=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.RequestSizeLimitInboundPolicy=void 0;var Fb=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),gO=s(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),o=i!==null?parseInt(i):void 0;return o&&!isNaN(o)&&o>r.maxSizeInBytes?Fb():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?Fb():e},"RequestSizeLimitInboundPolicy");za.RequestSizeLimitInboundPolicy=gO});var Wa=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function bO(e,t,r){return`_${Mr(e+"_"+t+"_"+r)}`}s(bO,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=bO;function _O(e,t,r,n){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(_O,"getIdForParameterSchema");tt.getIdForParameterSchema=_O;function EO(e,t,r){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Mr(r.toLowerCase())}`}s(EO,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=EO;function wO(e,t){return`_${Mr(e)}__${Mr(t)}`}s(wO,"getIdForRefSchema");tt.getIdForRefSchema=wO;function Mr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}s(Mr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Mr});var Ni=g(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.getErrorsFromValidator=De.shouldReject=De.shouldLog=De.logErrors=De.validateParameters=De.getParametersForOperation=void 0;var vO=mn(),TO=Wa(),SO=s(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");De.getParametersForOperation=SO;var IO=s((e,t,r,n,i)=>{let o=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,o.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,TO.getIdForParameterSchema)(r,n,i,u.name),d=vO.Gateway.instance.schemaValidator[l],p=d(t[u.name]),m=(0,De.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),o.push(`Invalid value for ${i} parameter: '${u.name}' ${m.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:o}},"validateParameters");De.validateParameters=IO;var PO=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");De.logErrors=PO;var AO=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");De.shouldLog=AO;var RO=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");De.shouldReject=RO;var OO=s(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");De.getErrorsFromValidator=OO});var $b=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.handleBodyValidation=void 0;var xO=mn(),Qa=se(),NO=Wa(),Je=Ni();async function CO(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let y=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,w=Qa.HttpProblems.badRequest(t,e,{detail:`${y}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",y,[n],h),(0,Je.shouldReject)(r.validateBody))return w}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,y=Qa.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,NO.getIdForRequestBodySchema)(e.route.path,t.method,i),c=xO.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,y=Qa.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),m=Qa.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return m}s(CO,"handleBodyValidation");Ya.handleBodyValidation=CO});var jb=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.handleHeadersValidation=void 0;var LO=se(),Ci=Ni();function DO(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ci.getParametersForOperation)(e),o=(0,Ci.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=LO.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,Ci.shouldLog)(r.validateHeaders)&&(0,Ci.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,Ci.shouldReject)(r.validateHeaders))return c}}s(DO,"handleHeadersValidation");Za.handleHeadersValidation=DO});var Vb=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.handlePathParameterValidation=void 0;var UO=se(),Li=Ni();function kO(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Li.getParametersForOperation)(e),i=(0,Li.validateParameters)(n.filter(o=>o.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let o="Path parameters validation failed",a=UO.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Li.shouldLog)(r.validatePathParameters)&&(0,Li.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Li.shouldReject)(r.validatePathParameters))return a}}s(kO,"handlePathParameterValidation");Xa.handlePathParameterValidation=kO});var Gb=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.handleQueryParameterValidation=void 0;var MO=se(),Di=Ni();function HO(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Di.getParametersForOperation)(e),i=(0,Di.validateParameters)(n.filter(o=>o.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let o="Query parameters validation failed",a=MO.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Di.shouldLog)(r.validateQueryParameters)&&(0,Di.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Di.shouldReject)(r.validateQueryParameters))return a}}s(HO,"handleQueryParameterValidation");ec.handleQueryParameterValidation=HO});var Bb=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy=void 0;var FO=$b(),qO=jb(),$O=Vb(),jO=Gb(),VO=s(async(e,t,r)=>{let n=(0,jO.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,$O.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,qO.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,FO.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Hr.RequestValidationInboundPolicy=VO;Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy});var Kb=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.RequireOriginInboundPolicy=void 0;var GO=L(),BO=se(),KO=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new GO.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let o=e.headers.get("origin");if(!o||!i.includes(o)){let a=r.failureDetail??"Forbidden";return BO.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");tc.RequireOriginInboundPolicy=KO});var Jb=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.SetBodyInboundPolicy=void 0;var JO=He(),zO=s(async(e,t,r)=>new JO.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");rc.SetBodyInboundPolicy=zO});var Wb=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.SetHeadersInboundPolicy=void 0;var zb=L(),WO=He(),QO=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new zb.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let o=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new zb.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.has(c.name)||u)&&o.set(c.name,c.value)}),new WO.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");nc.SetHeadersInboundPolicy=QO});var Yb=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.SetHeadersOutboundPolicy=void 0;var Qb=L(),YO=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new Qb.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return o.forEach(u=>{if(!u.name||u.name.length===0)throw new Qb.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");ic.SetHeadersOutboundPolicy=YO});var Xb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.SetQueryParamsInboundPolicy=void 0;var Zb=L(),ZO=He(),XO=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new Zb.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let o=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new Zb.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.searchParams.has(c.name)||u)&&o.searchParams.set(c.name,c.value)}),new ZO.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");oc.SetQueryParamsInboundPolicy=XO});var e_=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.SetStatusOutboundPolicy=void 0;var ex=s(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");sc.SetStatusOutboundPolicy=ex});var t_=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.SleepInboundPolicy=void 0;var tx=L(),rx=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),nx=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new tx.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await rx(r.sleepInMs),e},"SleepInboundPolicy");ac.SleepInboundPolicy=nx});var n_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.SupabaseJwtInboundPolicy=void 0;var r_=L(),ix=se(),ox=He(),sx=qt(),ax=jt(),cx=s(async(e,t,r,n)=>{(0,sx.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,ax.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof ox.ZuploRequest))throw new r_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return o;let c=e.user?.data.app_metadata;if(!c)throw new r_.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?ix.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");cc.SupabaseJwtInboundPolicy=cx});var o_=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var ux=$t(),lx=Jt(),i_=L(),dx=Le(),px=Ts(),hx=qt(),fx=s(async(e,t,r,n)=>{(0,hx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,ux.getPolicyCacheName)(n,r),o=new lx.MemoryZoneReadThroughCache(i,{logger:dx.SystemLogMap.getLogger(t)}),a=await o.get(n);if(!a){let c=await mx(r,t);o.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");uc.UpstreamAzureAdServiceAuthInboundPolicy=fx;async function mx(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,px.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let o=await n.text();t.log.error("Could not get token from Azure AD",o)}catch{}throw new i_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new i_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(mx,"getAccessToken")});var a_=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var yx=$t(),gx=Jt(),bx=L(),_x=Le(),Ip=pn(),Ex=qt(),s_="https://accounts.google.com/o/oauth2/token",Pp,wx=s(async(e,t,r,n)=>{(0,Ex.optionValidator)(r,n).required("serviceAccountJson","string"),Pp||(Pp=await Ip.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},o=await(0,yx.getPolicyCacheName)(n,r),a=new gx.MemoryZoneReadThroughCache(o,{logger:_x.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,Ip.getTokenFromGcpServiceAccount)({serviceAccount:Pp,audience:s_,payload:i}),l=await(0,Ip.exchangeGgpJwtForIdToken)(s_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new bx.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");lc.UpstreamFirebaseAdminAuthInboundPolicy=wx});var c_=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var vx=$t(),Tx=Jt(),Mn=L(),Sx=Le(),Ix=ap(),Ap=pn(),Px=ri(),Ax=qt(),Rx="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",Ox=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Rp,xx=s(async(e,t,r,n)=>{if((0,Ax.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Mn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(Ox.indexOf(p)!==-1)throw new Mn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Rp||(Rp=await Ap.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new Mn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");o=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Mn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,Px.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new Mn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,vx.getPolicyCacheName)(n,r),c=new Tx.MemoryZoneReadThroughCache(a,{logger:Sx.SystemLogMap.getLogger(t)}),u={uid:o,claims:i},l=await(0,Ix.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Ap.getTokenFromGcpServiceAccount)({serviceAccount:Rp,audience:Rx,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Ap.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Mn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");dc.UpstreamFirebaseUserAuthInboundPolicy=xx});var l_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.UpstreamGcpJwtInboundPolicy=void 0;var u_=pn(),Nx=qt(),Op,Cx=s(async(e,t,r,n)=>{(0,Nx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Op||(Op=await u_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,u_.getTokenFromGcpServiceAccount)({serviceAccount:Op,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");pc.UpstreamGcpJwtInboundPolicy=Cx});var p_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.UpstreamGcpServiceAuthInboundPolicy=void 0;var Lx=$t(),Dx=uu(),Ux=Jt(),kx=L(),xp=pn(),Mx=qt(),d_="https://www.googleapis.com/oauth2/v4/token",Np,Hx=s(async(e,t,r,n)=>{(0,Mx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Np||(Np=await xp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,Lx.getPolicyCacheName)(n,r),o;r.useMemoryCacheOnly?o=new Dx.MemoryCache(i):o=new Ux.MemoryZoneReadThroughCache(i,t);let a=await o.get(n);if(!a){let c=await(0,xp.getTokenFromGcpServiceAccount)({serviceAccount:Np,audience:d_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,xp.exchangeGgpJwtForIdToken)(d_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new kx.RuntimeError("Invalid token response from GCP");a=u,o.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");hc.UpstreamGcpServiceAuthInboundPolicy=Hx});var f_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.ValidateJsonSchemaInbound=void 0;var Fx=L(),h_=se(),qx=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return h_.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new Fx.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return h_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");fc.ValidateJsonSchemaInbound=qx});var y_=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.MeteringInboundPolicy=void 0;var m_=$s(),Cp=L(),$x=se(),jx=Le(),Vx=Y(),Gx=s(async(e,t,r,n)=>{let i=jx.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,m)=>{let h=m_.ContextData.get(m,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;let w=r.bucketId;if(!w){m.log.error(`MeteringInboundPolicy '${n}' - no bucketName property provided`);return}let{authApiJWT:T,meteringServiceUrl:S}=Vx.Environment.instance;d.ok&&h&&r.meters&&fetch(`${S}/internal/v1/metering/${w}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${T}`},method:"POST",body:JSON.stringify({meters:r.meters})}).catch(D=>{m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,D)})});let o=m_.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new Cp.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new Cp.ConfigurationError("Quota is not set up for the user's subscription");let l=Object.keys(r.meters).filter(d=>!Object.keys(o.quotas).includes(d));if(l.length>0)throw new Cp.ConfigurationError(`The following policy meters are not present in the subscription: ${l.join(", ")}`);for(let d of Object.keys(o.quotas))if(o.quotas[d]<=0&&!c)return $x.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`});return e},"MeteringInboundPolicy");mc.MeteringInboundPolicy=Gx});var g_=g(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.LoadSubscriptionInboundPolicy=void 0;var Bx=$s(),Kx=L(),Lp=se(),Jx=Le(),zx=Y(),Wx=s(async(e,t,r,n)=>{let i=Jx.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return o?e:Lp.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});let c=r.bucketId;if(!c)throw new Kx.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketName property provided`);let{authApiJWT:u,meteringServiceUrl:l}=zx.Environment.instance,{sub:d}=a,p,m;try{if(p=await fetch(`${l}/internal/v1/metering/${c}/subscriptions?customerRef=${d}&status=active`,{headers:{Authorization:`Bearer ${u}`},method:"GET"}),!p.ok)return t.log.error(await p.text()),Lp.HttpProblems.forbidden(e,t);m=await p.json()}catch(y){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,y)}if((!m||!m.data||m.data.length===0)&&!o)return Lp.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!m||!m.data||m.data.length===0)&&o)return e;let h=m&&m.data?m.data[0]:void 0;return Bx.ContextData.set(t,"subscription",h),e},"LoadSubscriptionInboundPolicy");yc.LoadSubscriptionInboundPolicy=Wx});var b_=g(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.ServiceProviderImpl=void 0;var Qx=L(),Dp=class e{static{s(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new Qx.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};gc.ServiceProviderImpl=Dp});var O_=g(f=>{"use strict";var Yx=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Up=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Yx(t,e,r)},Zx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CreditsMeteringInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.LoadSubscriptionInboundPolicy=f.MeteringInboundPolicy=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=void 0;gh();var Xx=Jt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Xx.MemoryZoneReadThroughCache}});var eN=no();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return eN.ZoneCache}});var __=Ir();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return __.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return __.ResponseSentEvent}});var tN=$s();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return tN.ContextData}});var kp=Ed();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return kp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return kp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return kp.isZuploReadableEnvVariableName}});var rN=L();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return rN.ConfigurationError}});var nN=vd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return nN.originalFetch}});var E_=By();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return E_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return E_.purgeGatewayCache}});var w_=cg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return w_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return w_.awsLambdaHandler}});var iN=lg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return iN.openApiSpecHandler}});var oN=dg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return oN.redirectHandler}});var sN=hg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return sN.urlForwardHandler}});var aN=mg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return aN.urlRewriteHandler}});var cN=gg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return cN.webSocketHandler}});var uN=Eg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return uN.webSocketPipelineHandler}});var lN=Lu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return lN.HttpStatusCode}});Up(Rg(),f);Up(Ng(),f);var dN=Cg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return dN.AuditLogDataStaxProvider}});var pN=Dg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return pN.AuditLogPlugin}});Up($g(),f);var v_=Kg();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return v_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return v_.AmberfloMeteringPolicy}});var hN=Qg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return hN.ApiAuthKeyInboundPolicy}});var fN=dp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return fN.ApiKeyInboundPolicy}});var mN=Yg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return mN.Auth0JwtInboundPolicy}});var yN=Zg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return yN.BasicAuthInboundPolicy}});var gN=Xg();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return gN.CachingInboundPolicy}});var bN=eb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return bN.ChangeMethodInboundPolicy}});var _N=tb();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return _N.ClearHeadersInboundPolicy}});var EN=rb();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return EN.ClearHeadersOutboundPolicy}});var wN=nb();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return wN.ClerkJwtInboundPolicy}});var vN=ob();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return vN.CognitoJwtInboundPolicy}});var TN=ab();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return TN.CompositeInboundPolicy}});var SN=ub();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return SN.CreditsMeteringInboundPolicy}});var IN=lb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return IN.CurityPhantomTokenInboundPolicy}});var PN=db();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return PN.FirebaseJwtInboundPolicy}});var AN=pb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return AN.FormDataToJsonInboundPolicy}});var RN=hb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return RN.GeoFilterInboundPolicy}});var ON=fb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return ON.JWTScopeValidationInboundPolicy}});var xN=yb();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return xN.MockApiInboundPolicy}});var T_=wb();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return T_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return T_.setMoesifContext}});var NN=vb();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return NN.OktaJwtInboundPolicy}});var CN=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return CN.OpenIdJwtInboundPolicy}});var LN=Tb();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return LN.PropelAuthJwtInboundPolicy}});var S_=xb();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return S_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return S_.RateLimitInboundPolicy}});var DN=Db();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return DN.ReadmeMetricsInboundPolicy}});var UN=Ub();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return UN.RemoveHeadersInboundPolicy}});var kN=kb();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return kN.RemoveHeadersOutboundPolicy}});var MN=Mb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return MN.RemoveQueryParamsInboundPolicy}});var HN=Hb();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return HN.ReplaceStringOutboundPolicy}});var FN=qb();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return FN.RequestSizeLimitInboundPolicy}});var I_=Bb();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return I_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return I_.SchemaBasedRequestValidation}});var qN=Kb();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return qN.RequireOriginInboundPolicy}});var $N=Jb();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return $N.SetBodyInboundPolicy}});var jN=Wb();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return jN.SetHeadersInboundPolicy}});var VN=Yb();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return VN.SetHeadersOutboundPolicy}});var GN=Xb();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return GN.SetQueryParamsInboundPolicy}});var BN=e_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return BN.SetStatusOutboundPolicy}});var KN=t_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return KN.SleepInboundPolicy}});var JN=np();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return JN.StripeWebhookVerificationInboundPolicy}});var zN=n_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return zN.SupabaseJwtInboundPolicy}});var WN=o_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return WN.UpstreamAzureAdServiceAuthInboundPolicy}});var QN=a_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return QN.UpstreamFirebaseAdminAuthInboundPolicy}});var YN=c_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return YN.UpstreamFirebaseUserAuthInboundPolicy}});var ZN=l_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return ZN.UpstreamGcpJwtInboundPolicy}});var XN=p_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return XN.UpstreamGcpServiceAuthInboundPolicy}});var eC=f_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return eC.ValidateJsonSchemaInbound}});var tC=y_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return tC.MeteringInboundPolicy}});var rC=g_();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return rC.LoadSubscriptionInboundPolicy}});var nC=se();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return nC.HttpProblems}});var iC=ho();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return iC.ProblemResponseFormatter}});var oC=He();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return oC.ZuploRequest}});var sC=Ar();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return sC.SystemRouteName}});var P_=pd();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return P_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return P_.Router}});var A_=Su();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return A_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return A_.serialize}});var aC=b_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return aC.ServiceProviderImpl}});var R_=Ku();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return R_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return R_.SYSTEM_LOGGER}});var cC=Uu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return Zx(cC).default}});var uC=Le();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return uC.SystemLogMap}});var Ui=Wa();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Ui.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Ui.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Ui.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Ui.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Ui.sanitizedIdentifierName}})});var x_=g(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.BaseCryptoBeta=Hn.supportedDigests=void 0;Hn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Mp=class{static{s(this,"BaseCryptoBeta")}};Hn.BaseCryptoBeta=Mp});var N_=g(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.WorkerCryptoBeta=void 0;var Hp=x_(),lC=L(),Fp=class extends Hp.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!Hp.supportedDigests.includes(t.toLowerCase()))throw new lC.RuntimeError(`Algorithm ${t} is not supported. Try using ${Hp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};bc.WorkerCryptoBeta=Fp});var C_=g(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.BaseKeyValueStore=void 0;var qp=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};_c.BaseKeyValueStore=qp});var D_=g(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.WorkerKeyValueStore=void 0;var L_=L(),dC=C_(),$p=class extends dC.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new L_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new L_.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};Ec.WorkerKeyValueStore=$p});var Lt=g(lt=>{"use strict";var pC=lt&&lt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),hC=lt&&lt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&pC(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;hC(O_(),lt);var fC=N_();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return fC.WorkerCryptoBeta}});var mC=D_();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return mC.WorkerKeyValueStore}})});var vL={};Yi(vL,{GraphQLComplexityLimitInboundPolicy:()=>pE,GraphQLDisableIntrospectionInboundPolicy:()=>fE});module.exports=Zi(vL);var Qn=hh(Lt());function B(e,t){if(!!!e)throw new Error(t)}s(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function At(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(At,"invariant");var yC=/\r\n|[\n\r]/g;function Fn(e,t){let r=0,n=1;for(let i of e.body.matchAll(yC)){if(typeof i.index=="number"||At(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(Fn,"getLocation");function jp(e){return wc(e.source,Fn(e.source,e.start))}s(jp,"printLocation");function wc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
75
+ `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),h=u%80,y=[];for(let w=0;w<p.length;w+=80)y.push(p.slice(w,w+80));return l+U_([[`${a} |`,y[0]],...y.slice(1,m+1).map(w=>["|",w]),["|","^".padStart(h)],["|",y[m+1]]])}return l+U_([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}s(wc,"printSourceLocation");function U_(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
76
+ `)}s(U_,"printPrefixedLines");function gC(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}s(gC,"toNormalizedOptions");var N=class e extends Error{static{s(this,"GraphQLError")}constructor(t,...r){var n,i,o;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=gC(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=k_(Array.isArray(a)?a:a?[a]:void 0);let m=k_((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(y=>y.start),this.locations=u&&c?u.map(y=>Fn(c,y)):m?.map(y=>Fn(y.source,y.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(o=p??h)!==null&&o!==void 0?o:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
77
77
 
78
78
  `+jp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
79
79
 
80
- `+wc(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function U_(e){return e===void 0||e.length===0?void 0:e}o(U_,"undefinedIfEmpty");function de(e,t,r){return new C(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(de,"syntaxError");var Mi=class{static{o(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},qn=class{static{o(this,"Token")}constructor(t,r,n,i,s,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Vp={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},yC=new Set(Object.keys(Vp));function ki(e){let t=e?.kind;return typeof t=="string"&&yC.has(t)}o(ki,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function vc(e){return e===9||e===32}o(vc,"isWhiteSpace");function $n(e){return e>=48&&e<=57}o($n,"isDigit");function M_(e){return e>=97&&e<=122||e>=65&&e<=90}o(M_,"isLetter");function Hi(e){return M_(e)||e===95}o(Hi,"isNameStart");function Tc(e){return M_(e)||$n(e)||e===95}o(Tc,"isNameContinue");function k_(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var s;let c=e[a],u=gC(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}o(k_,"dedentBlockStringLines");function gC(e){let t=0;for(;t<e.length&&vc(e.charCodeAt(t));)++t;return t}o(gC,"leadingWhitespace");function H_(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(h=>h.length===0||vc(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||s||a),p="",m=i&&vc(e.charCodeAt(0));return(d&&!m||s)&&(p+=`
80
+ `+wc(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function k_(e){return e===void 0||e.length===0?void 0:e}s(k_,"undefinedIfEmpty");function de(e,t,r){return new N(`Syntax Error: ${r}`,{source:e,positions:[t]})}s(de,"syntaxError");var ki=class{static{s(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},qn=class{static{s(this,"Token")}constructor(t,r,n,i,o,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=o,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Vp={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},bC=new Set(Object.keys(Vp));function Mi(e){let t=e?.kind;return typeof t=="string"&&bC.has(t)}s(Mi,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function vc(e){return e===9||e===32}s(vc,"isWhiteSpace");function $n(e){return e>=48&&e<=57}s($n,"isDigit");function M_(e){return e>=97&&e<=122||e>=65&&e<=90}s(M_,"isLetter");function Hi(e){return M_(e)||e===95}s(Hi,"isNameStart");function Tc(e){return M_(e)||$n(e)||e===95}s(Tc,"isNameContinue");function H_(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var o;let c=e[a],u=_C(c);u!==c.length&&(n=(o=n)!==null&&o!==void 0?o:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}s(H_,"dedentBlockStringLines");function _C(e){let t=0;for(;t<e.length&&vc(e.charCodeAt(t));)++t;return t}s(_C,"leadingWhitespace");function F_(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,o=n.length>1&&n.slice(1).every(h=>h.length===0||vc(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||o||a),p="",m=i&&vc(e.charCodeAt(0));return(d&&!m||o)&&(p+=`
81
81
  `),p+=r,(d||l)&&(p+=`
82
- `),'"""'+p+'"""'}o(H_,"printBlockString");var _;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(_||(_={}));var qi=class{static{o(this,"Lexer")}constructor(t){let r=new qn(_.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==_.EOF)do if(t.next)t=t.next;else{let r=bC(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===_.COMMENT);return t}};function q_(e){return e===_.BANG||e===_.DOLLAR||e===_.AMP||e===_.PAREN_L||e===_.PAREN_R||e===_.SPREAD||e===_.COLON||e===_.EQUALS||e===_.AT||e===_.BRACKET_L||e===_.BRACKET_R||e===_.BRACE_L||e===_.PIPE||e===_.BRACE_R}o(q_,"isPunctuatorTokenKind");function jn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(jn,"isUnicodeScalarValue");function Sc(e,t){return $_(e.charCodeAt(t))&&j_(e.charCodeAt(t+1))}o(Sc,"isSupplementaryCodePoint");function $_(e){return e>=55296&&e<=56319}o($_,"isLeadingSurrogate");function j_(e){return e>=56320&&e<=57343}o(j_,"isTrailingSurrogate");function Fr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return _.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(Fr,"printCodePointAt");function fe(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new qn(t,r,n,s,a,i)}o(fe,"createToken");function bC(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return _C(e,i);case 33:return fe(e,_.BANG,i,i+1);case 36:return fe(e,_.DOLLAR,i,i+1);case 38:return fe(e,_.AMP,i,i+1);case 40:return fe(e,_.PAREN_L,i,i+1);case 41:return fe(e,_.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,_.SPREAD,i,i+3);break;case 58:return fe(e,_.COLON,i,i+1);case 61:return fe(e,_.EQUALS,i,i+1);case 64:return fe(e,_.AT,i,i+1);case 91:return fe(e,_.BRACKET_L,i,i+1);case 93:return fe(e,_.BRACKET_R,i,i+1);case 123:return fe(e,_.BRACE_L,i,i+1);case 124:return fe(e,_.PIPE,i,i+1);case 125:return fe(e,_.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?IC(e,i):wC(e,i)}if($n(s)||s===45)return EC(e,i,s);if(Hi(s))return PC(e,i);throw de(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:jn(s)||Sc(r,i)?`Unexpected character: ${Fr(e,i)}.`:`Invalid character: ${Fr(e,i)}.`)}return fe(e,_.EOF,n,n)}o(bC,"readNextToken");function _C(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(jn(s))++i;else if(Sc(r,i))i+=2;else break}return fe(e,_.COMMENT,t,i,r.slice(t+1,i))}o(_C,"readComment");function EC(e,t,r){let n=e.source.body,i=t,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),$n(s))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${Fr(e,i)}.`)}else i=Gp(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Gp(e,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=Gp(e,i,s),s=n.charCodeAt(i)),s===46||Hi(s))throw de(e.source,i,`Invalid number, expected digit but got: ${Fr(e,i)}.`);return fe(e,a?_.FLOAT:_.INT,t,i,n.slice(t,i))}o(EC,"readNumber");function Gp(e,t,r){if(!$n(r))throw de(e.source,t,`Invalid number, expected digit but got: ${Fr(e,t)}.`);let n=e.source.body,i=t+1;for(;$n(n.charCodeAt(i));)++i;return i}o(Gp,"readDigits");function wC(e,t){let r=e.source.body,n=r.length,i=t+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),fe(e,_.STRING,t,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?vC(e,i):TC(e,i):SC(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(jn(c))++i;else if(Sc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${Fr(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}o(wC,"readString");function vC(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(t+i++);if(s===125){if(i<5||!jn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Fi(s),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(vC,"readEscapedUnicodeVariableWidth");function TC(e,t){let r=e.source.body,n=F_(r,t+2);if(jn(n))return{value:String.fromCodePoint(n),size:6};if($_(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=F_(r,t+8);if(j_(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(TC,"readEscapedUnicodeFixedWidth");function F_(e,t){return Fi(e.charCodeAt(t))<<12|Fi(e.charCodeAt(t+1))<<8|Fi(e.charCodeAt(t+2))<<4|Fi(e.charCodeAt(t+3))}o(F_,"read16BitHexCode");function Fi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(Fi,"readHexDigit");function SC(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
83
- `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(SC,"readEscapedCharacter");function IC(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=fe(e,_.BLOCK_STRING,t,s+3,k_(u).join(`
84
- `));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(jn(l))++s;else if(Sc(r,s))s+=2;else throw de(e.source,s,`Invalid character within String: ${Fr(e,s)}.`)}throw de(e.source,s,"Unterminated string.")}o(IC,"readBlockString");function PC(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(Tc(s))++i;else break}return fe(e,_.NAME,t,i,r.slice(t,i))}o(PC,"readName");function P(e){return Ic(e,[])}o(P,"inspect");function Ic(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return AC(e,t);default:return String(e)}}o(Ic,"formatValue");function AC(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(RC(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Ic(n,r)}else if(Array.isArray(e))return xC(e,r);return OC(e,r)}o(AC,"formatObjectValue");function RC(e){return typeof e.toJSON=="function"}o(RC,"isJSONable");function OC(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+NC(e)+"]":"{ "+r.map(([i,s])=>i+": "+Ic(s,t)).join(", ")+" }"}o(OC,"formatObject");function xC(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s<r;++s)i.push(Ic(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(xC,"formatArray");function NC(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}o(NC,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(t,r){return t instanceof r},"instanceOf"):o(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=P(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
82
+ `),'"""'+p+'"""'}s(F_,"printBlockString");var _;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(_||(_={}));var qi=class{static{s(this,"Lexer")}constructor(t){let r=new qn(_.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==_.EOF)do if(t.next)t=t.next;else{let r=EC(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===_.COMMENT);return t}};function $_(e){return e===_.BANG||e===_.DOLLAR||e===_.AMP||e===_.PAREN_L||e===_.PAREN_R||e===_.SPREAD||e===_.COLON||e===_.EQUALS||e===_.AT||e===_.BRACKET_L||e===_.BRACKET_R||e===_.BRACE_L||e===_.PIPE||e===_.BRACE_R}s($_,"isPunctuatorTokenKind");function jn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}s(jn,"isUnicodeScalarValue");function Sc(e,t){return j_(e.charCodeAt(t))&&V_(e.charCodeAt(t+1))}s(Sc,"isSupplementaryCodePoint");function j_(e){return e>=55296&&e<=56319}s(j_,"isLeadingSurrogate");function V_(e){return e>=56320&&e<=57343}s(V_,"isTrailingSurrogate");function Fr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return _.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}s(Fr,"printCodePointAt");function fe(e,t,r,n,i){let o=e.line,a=1+r-e.lineStart;return new qn(t,r,n,o,a,i)}s(fe,"createToken");function EC(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let o=r.charCodeAt(i);switch(o){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return wC(e,i);case 33:return fe(e,_.BANG,i,i+1);case 36:return fe(e,_.DOLLAR,i,i+1);case 38:return fe(e,_.AMP,i,i+1);case 40:return fe(e,_.PAREN_L,i,i+1);case 41:return fe(e,_.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,_.SPREAD,i,i+3);break;case 58:return fe(e,_.COLON,i,i+1);case 61:return fe(e,_.EQUALS,i,i+1);case 64:return fe(e,_.AT,i,i+1);case 91:return fe(e,_.BRACKET_L,i,i+1);case 93:return fe(e,_.BRACKET_R,i,i+1);case 123:return fe(e,_.BRACE_L,i,i+1);case 124:return fe(e,_.PIPE,i,i+1);case 125:return fe(e,_.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?AC(e,i):TC(e,i)}if($n(o)||o===45)return vC(e,i,o);if(Hi(o))return RC(e,i);throw de(e.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:jn(o)||Sc(r,i)?`Unexpected character: ${Fr(e,i)}.`:`Invalid character: ${Fr(e,i)}.`)}return fe(e,_.EOF,n,n)}s(EC,"readNextToken");function wC(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(o===10||o===13)break;if(jn(o))++i;else if(Sc(r,i))i+=2;else break}return fe(e,_.COMMENT,t,i,r.slice(t+1,i))}s(wC,"readComment");function vC(e,t,r){let n=e.source.body,i=t,o=r,a=!1;if(o===45&&(o=n.charCodeAt(++i)),o===48){if(o=n.charCodeAt(++i),$n(o))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${Fr(e,i)}.`)}else i=Gp(e,i,o),o=n.charCodeAt(i);if(o===46&&(a=!0,o=n.charCodeAt(++i),i=Gp(e,i,o),o=n.charCodeAt(i)),(o===69||o===101)&&(a=!0,o=n.charCodeAt(++i),(o===43||o===45)&&(o=n.charCodeAt(++i)),i=Gp(e,i,o),o=n.charCodeAt(i)),o===46||Hi(o))throw de(e.source,i,`Invalid number, expected digit but got: ${Fr(e,i)}.`);return fe(e,a?_.FLOAT:_.INT,t,i,n.slice(t,i))}s(vC,"readNumber");function Gp(e,t,r){if(!$n(r))throw de(e.source,t,`Invalid number, expected digit but got: ${Fr(e,t)}.`);let n=e.source.body,i=t+1;for(;$n(n.charCodeAt(i));)++i;return i}s(Gp,"readDigits");function TC(e,t){let r=e.source.body,n=r.length,i=t+1,o=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(o,i),fe(e,_.STRING,t,i+1,a);if(c===92){a+=r.slice(o,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?SC(e,i):IC(e,i):PC(e,i);a+=u.value,i+=u.size,o=i;continue}if(c===10||c===13)break;if(jn(c))++i;else if(Sc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${Fr(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}s(TC,"readString");function SC(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let o=r.charCodeAt(t+i++);if(o===125){if(i<5||!jn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Fi(o),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}s(SC,"readEscapedUnicodeVariableWidth");function IC(e,t){let r=e.source.body,n=q_(r,t+2);if(jn(n))return{value:String.fromCodePoint(n),size:6};if(j_(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=q_(r,t+8);if(V_(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}s(IC,"readEscapedUnicodeFixedWidth");function q_(e,t){return Fi(e.charCodeAt(t))<<12|Fi(e.charCodeAt(t+1))<<8|Fi(e.charCodeAt(t+2))<<4|Fi(e.charCodeAt(t+3))}s(q_,"read16BitHexCode");function Fi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}s(Fi,"readHexDigit");function PC(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
83
+ `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}s(PC,"readEscapedCharacter");function AC(e,t){let r=e.source.body,n=r.length,i=e.lineStart,o=t+3,a=o,c="",u=[];for(;o<n;){let l=r.charCodeAt(o);if(l===34&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34){c+=r.slice(a,o),u.push(c);let d=fe(e,_.BLOCK_STRING,t,o+3,H_(u).join(`
84
+ `));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34&&r.charCodeAt(o+3)===34){c+=r.slice(a,o),a=o+1,o+=4;continue}if(l===10||l===13){c+=r.slice(a,o),u.push(c),l===13&&r.charCodeAt(o+1)===10?o+=2:++o,c="",a=o,i=o;continue}if(jn(l))++o;else if(Sc(r,o))o+=2;else throw de(e.source,o,`Invalid character within String: ${Fr(e,o)}.`)}throw de(e.source,o,"Unterminated string.")}s(AC,"readBlockString");function RC(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(Tc(o))++i;else break}return fe(e,_.NAME,t,i,r.slice(t,i))}s(RC,"readName");function P(e){return Ic(e,[])}s(P,"inspect");function Ic(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return OC(e,t);default:return String(e)}}s(Ic,"formatValue");function OC(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(xC(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Ic(n,r)}else if(Array.isArray(e))return CC(e,r);return NC(e,r)}s(OC,"formatObjectValue");function xC(e){return typeof e.toJSON=="function"}s(xC,"isJSONable");function NC(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+LC(e)+"]":"{ "+r.map(([i,o])=>i+": "+Ic(o,t)).join(", ")+" }"}s(NC,"formatObject");function CC(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let o=0;o<r;++o)i.push(Ic(e[o],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}s(CC,"formatArray");function LC(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}s(LC,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?s(function(t,r){return t instanceof r},"instanceOf"):s(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],o=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===o){let a=P(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
85
85
 
86
86
  Ensure that there is only one instance of "graphql" in the node_modules
87
87
  directory. If different versions of "graphql" are the dependencies of other
@@ -92,16 +92,16 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
92
92
  Duplicate "graphql" modules cannot be used at the same time since different
93
93
  versions may have different capabilities and behavior. The data from one
94
94
  version used in the function from another could produce confusing and
95
- spurious results.`)}}return!1},"instanceOf");var Vn=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function V_(e){return ze(e,Vn)}o(V_,"isSource");function Rc(e,t){return new Ac(e,t).parseDocument()}o(Rc,"parse");function Oc(e,t){let r=new Ac(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}o(Oc,"parseValue");var Ac=class{static{o(this,"Parser")}constructor(t,r={}){let n=V_(t)?t:new Vn(t);this._lexer=new qi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(_.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(_.SOF,this.parseDefinition,_.EOF)})}parseDefinition(){if(this.peek(_.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===_.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(_.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(_.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(_.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(_.PAREN_L,this.parseVariableDefinition,_.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(_.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(_.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(_.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(_.BRACE_L,this.parseSelection,_.BRACE_R)})}parseSelection(){return this.peek(_.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(_.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(_.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(_.PAREN_L,r,_.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(_.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(_.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case _.BRACKET_L:return this.parseList(t);case _.BRACE_L:return this.parseObject(t);case _.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case _.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case _.STRING:case _.BLOCK_STRING:return this.parseStringLiteral();case _.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case _.DOLLAR:if(t)if(this.expectToken(_.DOLLAR),this._lexer.token.kind===_.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===_.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(_.BRACKET_L,r,_.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(_.BRACE_L,r,_.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(_.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(_.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(_.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(_.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(_.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(_.STRING)||this.peek(_.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(_.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(_.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseFieldDefinition,_.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(_.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(_.PAREN_L,this.parseInputValueDef,_.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(_.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(_.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(_.EQUALS)?this.delimitedMany(_.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(_.BRACE_L,this.parseEnumValueDefinition,_.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${Pc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseInputValueDef,_.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===_.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(_.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(_.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Mi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${G_(t)}, found ${Pc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===_.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${Pc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===_.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${Pc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==_.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Pc(e){let t=e.value;return G_(e.kind)+(t!=null?` "${t}"`:"")}o(Pc,"getTokenDesc");function G_(e){return q_(e)?`"${e}"`:e}o(G_,"getTokenKindDesc");function xc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(xc,"didYouMean");function Bp(e){return e}o(Bp,"identityFunc");function Gn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(Gn,"keyMap");function At(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(At,"keyValMap");function $i(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o($i,"mapValue");function B_(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(Nc(i)&&Nc(s)){let a=0;do++r,a=a*10+i-Kp,i=e.charCodeAt(r);while(Nc(i)&&a>0);let c=0;do++n,c=c*10+s-Kp,s=t.charCodeAt(n);while(Nc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(B_,"naturalCompare");var Kp=48,CC=57;function Nc(e){return!isNaN(e)&&Kp<=e&&e<=CC}o(Nc,"isDigit");function Cc(e,t){let r=Object.create(null),n=new Jp(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:B_(s,a)})}o(Cc,"suggestionList");var Jp=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=K_(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=K_(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],h=m[0]=d;for(let y=1;y<=c;y++){let w=i[d-1]===s[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+w);if(d>1&&y>1&&i[d-1]===s[y-2]&&i[d-2]===s[y-1]){let S=u[(d-2)%3][y-2];T=Math.min(T,S+1)}T<h&&(h=T),m[y]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function K_(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(K_,"stringToArray");function Ue(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(Ue,"toObjMap");function J_(e){return`"${e.replace(LC,DC)}"`}o(J_,"printString");var LC=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function DC(e){return UC[e.charCodeAt(0)]}o(DC,"escapedReplacer");var UC=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var zp=Object.freeze({});function yr(e,t,r=Vp){let n=new Map;for(let S of Object.values(b))n.set(S,Bn(t,S));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let S=c===a.length,L=S&&u.length!==0;if(S){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),L)if(s){l=l.slice();let N=0;for(let[re,ne]of u){let me=re-N;ne===null?(l.splice(me,1),N++):l[me]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[N,re]of u)l[N]=re}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;m.push(d)}let F;if(!Array.isArray(l)){var y,w;ki(l)||B(!1,`Invalid AST Node: ${P(l)}.`);let N=S?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(w=n.get(l.kind))===null||w===void 0?void 0:w.enter;if(F=N?.call(t,l,d,p,m,h),F===zp)break;if(F===!1){if(!S){m.pop();continue}}else if(F!==void 0&&(u.push([d,F]),!S))if(ki(F))l=F;else{m.pop();continue}}if(F===void 0&&L&&u.push([d,l]),S)m.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(yr,"visit");function Bn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o(Bn,"getEnterLeaveForKind");function Me(e){return yr(e,kC)}o(Me,"print");var MC=80,kC={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
95
+ spurious results.`)}}return!1},"instanceOf");var Vn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function G_(e){return ze(e,Vn)}s(G_,"isSource");function Rc(e,t){return new Ac(e,t).parseDocument()}s(Rc,"parse");function Oc(e,t){let r=new Ac(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}s(Oc,"parseValue");var Ac=class{static{s(this,"Parser")}constructor(t,r={}){let n=G_(t)?t:new Vn(t);this._lexer=new qi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(_.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(_.SOF,this.parseDefinition,_.EOF)})}parseDefinition(){if(this.peek(_.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===_.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(_.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(_.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(_.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(_.PAREN_L,this.parseVariableDefinition,_.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(_.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(_.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(_.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(_.BRACE_L,this.parseSelection,_.BRACE_R)})}parseSelection(){return this.peek(_.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(_.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(_.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(_.PAREN_L,r,_.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(_.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(_.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case _.BRACKET_L:return this.parseList(t);case _.BRACE_L:return this.parseObject(t);case _.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case _.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case _.STRING:case _.BLOCK_STRING:return this.parseStringLiteral();case _.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case _.DOLLAR:if(t)if(this.expectToken(_.DOLLAR),this._lexer.token.kind===_.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===_.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(_.BRACKET_L,r,_.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(_.BRACE_L,r,_.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(_.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(_.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(_.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(_.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(_.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(_.STRING)||this.peek(_.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(_.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(_.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseFieldDefinition,_.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(_.COLON);let o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(_.PAREN_L,this.parseInputValueDef,_.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(_.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(_.EQUALS)&&(o=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(_.EQUALS)?this.delimitedMany(_.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(_.BRACE_L,this.parseEnumValueDefinition,_.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${Pc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseInputValueDef,_.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===_.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(_.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(_.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new ki(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${B_(t)}, found ${Pc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===_.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${Pc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===_.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${Pc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==_.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Pc(e){let t=e.value;return B_(e.kind)+(t!=null?` "${t}"`:"")}s(Pc,"getTokenDesc");function B_(e){return $_(e)?`"${e}"`:e}s(B_,"getTokenKindDesc");function xc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let o=n.map(u=>`"${u}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}let a=o.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}s(xc,"didYouMean");function Bp(e){return e}s(Bp,"identityFunc");function Gn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Gn,"keyMap");function Rt(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Rt,"keyValMap");function $i(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s($i,"mapValue");function K_(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(Nc(i)&&Nc(o)){let a=0;do++r,a=a*10+i-Kp,i=e.charCodeAt(r);while(Nc(i)&&a>0);let c=0;do++n,c=c*10+o-Kp,o=t.charCodeAt(n);while(Nc(o)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<o)return-1;if(i>o)return 1;++r,++n}}return e.length-t.length}s(K_,"naturalCompare");var Kp=48,DC=57;function Nc(e){return!isNaN(e)&&Kp<=e&&e<=DC}s(Nc,"isDigit");function Cc(e,t){let r=Object.create(null),n=new Jp(e),i=Math.floor(e.length*.4)+1;for(let o of t){let a=n.measure(o,i);a!==void 0&&(r[o]=a)}return Object.keys(r).sort((o,a)=>{let c=r[o]-r[a];return c!==0?c:K_(o,a)})}s(Cc,"suggestionList");var Jp=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=J_(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=J_(n),o=this._inputArray;if(i.length<o.length){let d=i;i=o,o=d}let a=i.length,c=o.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],h=m[0]=d;for(let y=1;y<=c;y++){let w=i[d-1]===o[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+w);if(d>1&&y>1&&i[d-1]===o[y-2]&&i[d-2]===o[y-1]){let S=u[(d-2)%3][y-2];T=Math.min(T,S+1)}T<h&&(h=T),m[y]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function J_(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(J_,"stringToArray");function Ue(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}s(Ue,"toObjMap");function z_(e){return`"${e.replace(UC,kC)}"`}s(z_,"printString");var UC=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function kC(e){return MC[e.charCodeAt(0)]}s(kC,"escapedReplacer");var MC=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var zp=Object.freeze({});function gr(e,t,r=Vp){let n=new Map;for(let S of Object.values(b))n.set(S,Bn(t,S));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let S=c===a.length,D=S&&u.length!==0;if(S){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),D)if(o){l=l.slice();let C=0;for(let[re,ne]of u){let me=re-C;ne===null?(l.splice(me,1),C++):l[me]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[C,re]of u)l[C]=re}c=i.index,a=i.keys,u=i.edits,o=i.inArray,i=i.prev}else if(p){if(d=o?c:a[c],l=p[d],l==null)continue;m.push(d)}let j;if(!Array.isArray(l)){var y,w;Mi(l)||B(!1,`Invalid AST Node: ${P(l)}.`);let C=S?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(w=n.get(l.kind))===null||w===void 0?void 0:w.enter;if(j=C?.call(t,l,d,p,m,h),j===zp)break;if(j===!1){if(!S){m.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(Mi(j))l=j;else{m.pop();continue}}if(j===void 0&&D&&u.push([d,l]),S)m.pop();else{var T;i={inArray:o,index:c,keys:a,edits:u,prev:i},o=Array.isArray(l),a=o?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}s(gr,"visit");function Bn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}s(Bn,"getEnterLeaveForKind");function ke(e){return gr(e,FC)}s(ke,"print");var HC=80,FC={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
96
96
 
97
- `)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>dt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",x(r,", "),")");return a.length>MC&&(a=s+J(`(
97
+ `)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>dt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",x(r,", "),")");return a.length>HC&&(a=o+J(`(
98
98
  `,Lc(x(r,`
99
99
  `)),`
100
- )`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?H_(e):J_(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+x(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+x(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",x(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
100
+ )`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?F_(e):z_(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+x(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+x(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",x(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
101
101
  `)+x(["schema",x(t," "),dt(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
102
102
  `)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
103
103
  `)+x(["type",t,J("implements ",x(r," & ")),x(n," "),dt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
104
- `)+t+(z_(r)?J(`(
104
+ `)+t+(W_(r)?J(`(
105
105
  `,Lc(x(r,`
106
106
  `)),`
107
107
  )`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
@@ -111,20 +111,20 @@ spurious results.`)}}return!1},"instanceOf");var Vn=class{static{o(this,"Source"
111
111
  `)+x(["enum",t,x(r," "),dt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
112
112
  `)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
113
113
  `)+x(["input",t,x(r," "),dt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
114
- `)+"directive @"+t+(z_(r)?J(`(
114
+ `)+"directive @"+t+(W_(r)?J(`(
115
115
  `,Lc(x(r,`
116
116
  `)),`
117
- )`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),dt(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>x(["extend scalar",e,x(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend type",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>x(["extend union",e,x(t," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>x(["extend enum",e,x(t," "),dt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),dt(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o(x,"join");function dt(e){return J(`{
117
+ )`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),dt(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>x(["extend scalar",e,x(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend type",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>x(["extend union",e,x(t," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>x(["extend enum",e,x(t," "),dt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),dt(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}s(x,"join");function dt(e){return J(`{
118
118
  `,Lc(x(e,`
119
119
  `)),`
120
- }`)}o(dt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function Lc(e){return J(" ",e.replace(/\n/g,`
121
- `))}o(Lc,"indent");function z_(e){var t;return(t=e?.some(r=>r.includes(`
122
- `)))!==null&&t!==void 0?t:!1}o(z_,"hasMultilineItems");function ji(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>ji(r,t));case b.OBJECT:return At(e.fields,r=>r.name.value,r=>ji(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o(ji,"valueFromASTUntyped");function Ve(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new C("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Tc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Hi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(Ve,"assertName");function Wp(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Ve(e)}o(Wp,"assertEnumValueName");function Uc(e){return gr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}o(Uc,"isType");function gr(e){return ze(e,We)}o(gr,"isScalarType");function Ne(e){return ze(e,xe)}o(Ne,"isObjectType");function Mc(e){if(!Ne(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}o(Mc,"assertObjectType");function we(e){return ze(e,Vt)}o(we,"isInterfaceType");function kc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}o(kc,"assertInterfaceType");function nt(e){return ze(e,qr)}o(nt,"isUnionType");function Qe(e){return ze(e,Rt)}o(Qe,"isEnumType");function Ae(e){return ze(e,$r)}o(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}o(Ge,"isListType");function ce(e){return ze(e,j)}o(ce,"isNonNullType");function Ye(e){return gr(e)||Qe(e)||Ae(e)||Vi(e)&&Ye(e.ofType)}o(Ye,"isInputType");function Gt(e){return gr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Vi(e)&&Gt(e.ofType)}o(Gt,"isOutputType");function br(e){return gr(e)||Qe(e)}o(br,"isLeafType");function Ot(e){return Ne(e)||we(e)||nt(e)}o(Ot,"isCompositeType");function _r(e){return we(e)||nt(e)}o(_r,"isAbstractType");var pe=class{static{o(this,"GraphQLList")}constructor(t){Uc(t)||B(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},j=class{static{o(this,"GraphQLNonNull")}constructor(t){Hc(t)||B(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Vi(e){return Ge(e)||ce(e)}o(Vi,"isWrappingType");function Hc(e){return Uc(e)&&!ce(e)}o(Hc,"isNullableType");function Fc(e){if(!Hc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}o(Fc,"assertNullableType");function qc(e){if(e)return ce(e)?e.ofType:e}o(qc,"getNullableType");function pt(e){if(e){let t=e;for(;Vi(t);)t=t.ofType;return t}}o(pt,"getNamedType");function $c(e){return typeof e=="function"?e():e}o($c,"resolveReadonlyArrayThunk");function jc(e){return typeof e=="function"?e():e}o(jc,"resolveObjMapThunk");var We=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:Bp;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Bp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(ji(c,u)),this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>Q_(t),this._interfaces=()=>W_(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Y_(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function W_(e){var t;let r=$c((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(W_,"defineInterfaces");function Q_(e){let t=jc(e.fields);return Kn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),$i(t,(r,n)=>{var i;Kn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return Kn(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:Qp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}})}o(Q_,"defineFieldMap");function Qp(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}o(Qp,"defineArguments");function Kn(e){return Ee(e)&&!Array.isArray(e)}o(Kn,"isPlainObj");function Y_(e){return $i(e,t=>({description:t.description,type:t.type,args:Yp(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Y_,"fieldsToFieldsConfig");function Yp(e){return At(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Yp,"argsToArgsConfig");var Vt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=Q_.bind(void 0,t),this._interfaces=W_.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Y_(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},qr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=HC.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function HC(e){let t=$c(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(HC,"defineTypes");var Rt=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=FC(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Gn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Dc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+Dc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Me(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Dc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Me(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+Dc(this,i),{nodes:t})}return n.value}toConfig(){let t=At(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Dc(e,t){let r=e.getValues().map(i=>i.name),n=Cc(t,r);return xc("the enum value",n)}o(Dc,"didYouMeanEnumValue");function FC(e,t){return Kn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Kn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:Wp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Ue(n.extensions),astNode:n.astNode}))}o(FC,"defineEnumValues");var $r=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=qC.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=$i(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function qC(e){let t=jc(e.fields);return Kn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),$i(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}o(qC,"defineInputFieldMap");var Vc=2147483647,Gc=-2147483648,Zp=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${P(t)}`);if(r>Vc||r<Gc)throw new C("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new C(`Int cannot represent non-integer value: ${P(e)}`);if(e>Vc||e<Gc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new C(`Int cannot represent non-integer value: ${Me(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Vc||t<Gc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),Z_=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new C(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new C(`Float cannot represent non numeric value: ${Me(e)}`,e);return parseFloat(e.value)}}),oe=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Gi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new C(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new C(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new C(`String cannot represent a non string value: ${Me(e)}`,{nodes:e});return e.value}}),ke=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new C(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${Me(e)}`,{nodes:e});return e.value}}),Bc=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=Gi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new C(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new C(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new C("ID cannot represent a non-string and non-integer value: "+Me(e),{nodes:e});return e.value}}),Xp=Object.freeze([oe,Zp,Z_,ke,Bc]);function Gi(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(Gi,"serializeObject");function eh(e){return ze(e,ht)}o(eh,"isDirective");var ht=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Ue(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Qp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Yp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},X_=new ht({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new j(ke),description:"Included when true."}}}),eE=new ht({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new j(ke),description:"Skipped when true."}}}),tE="No longer supported",rE=new ht({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:oe,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:tE}}}),nE=new ht({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new j(oe),description:"The URL that specifies the behavior of this scalar."}}}),th=Object.freeze([X_,eE,rE,nE]);function Kc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(Kc,"isIterableObject");function jr(e,t){if(ce(t)){let r=jr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(Kc(e)){let n=[];for(let i of e){let s=jr(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return jr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=jr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(br(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return iE.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:b.ENUM,value:r}:t===Bc&&iE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Pt(!1,"Unexpected input type: "+P(t))}o(jr,"astFromValue");var iE=/^-?(?:0|[1-9][0-9]*)$/;var Bi=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:oe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new j(new pe(new j(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new j(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new j(new pe(new j(rh))),resolve:e=>e.getDirectives()}})}),rh=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
120
+ }`)}s(dt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function Lc(e){return J(" ",e.replace(/\n/g,`
121
+ `))}s(Lc,"indent");function W_(e){var t;return(t=e?.some(r=>r.includes(`
122
+ `)))!==null&&t!==void 0?t:!1}s(W_,"hasMultilineItems");function ji(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>ji(r,t));case b.OBJECT:return Rt(e.fields,r=>r.name.value,r=>ji(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(ji,"valueFromASTUntyped");function Ve(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new N("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Tc(e.charCodeAt(t)))throw new N(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Hi(e.charCodeAt(0)))throw new N(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function Wp(e){if(e==="true"||e==="false"||e==="null")throw new N(`Enum values cannot be named: ${e}`);return Ve(e)}s(Wp,"assertEnumValueName");function Uc(e){return br(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(Uc,"isType");function br(e){return ze(e,We)}s(br,"isScalarType");function Ne(e){return ze(e,xe)}s(Ne,"isObjectType");function kc(e){if(!Ne(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(kc,"assertObjectType");function we(e){return ze(e,Gt)}s(we,"isInterfaceType");function Mc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Mc,"assertInterfaceType");function nt(e){return ze(e,qr)}s(nt,"isUnionType");function Qe(e){return ze(e,Ot)}s(Qe,"isEnumType");function Ae(e){return ze(e,$r)}s(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}s(Ge,"isListType");function ce(e){return ze(e,$)}s(ce,"isNonNullType");function Ye(e){return br(e)||Qe(e)||Ae(e)||Vi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Bt(e){return br(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Vi(e)&&Bt(e.ofType)}s(Bt,"isOutputType");function _r(e){return br(e)||Qe(e)}s(_r,"isLeafType");function xt(e){return Ne(e)||we(e)||nt(e)}s(xt,"isCompositeType");function Er(e){return we(e)||nt(e)}s(Er,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){Uc(t)||B(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){Hc(t)||B(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Vi(e){return Ge(e)||ce(e)}s(Vi,"isWrappingType");function Hc(e){return Uc(e)&&!ce(e)}s(Hc,"isNullableType");function Fc(e){if(!Hc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(Fc,"assertNullableType");function qc(e){if(e)return ce(e)?e.ofType:e}s(qc,"getNullableType");function pt(e){if(e){let t=e;for(;Vi(t);)t=t.ofType;return t}}s(pt,"getNamedType");function $c(e){return typeof e=="function"?e():e}s($c,"resolveReadonlyArrayThunk");function jc(e){return typeof e=="function"?e():e}s(jc,"resolveObjMapThunk");var We=class{static{s(this,"GraphQLScalarType")}constructor(t){var r,n,i,o;let a=(r=t.parseValue)!==null&&r!==void 0?r:Bp;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Bp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(ji(c,u)),this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>Y_(t),this._interfaces=()=>Q_(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Z_(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Q_(e){var t;let r=$c((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(Q_,"defineInterfaces");function Y_(e){let t=jc(e.fields);return Kn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),$i(t,(r,n)=>{var i;Kn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return Kn(o)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:Qp(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}})}s(Y_,"defineFieldMap");function Qp(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}s(Qp,"defineArguments");function Kn(e){return Ee(e)&&!Array.isArray(e)}s(Kn,"isPlainObj");function Z_(e){return $i(e,t=>({description:t.description,type:t.type,args:Yp(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(Z_,"fieldsToFieldsConfig");function Yp(e){return Rt(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(Yp,"argsToArgsConfig");var Gt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=Y_.bind(void 0,t),this._interfaces=Q_.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Z_(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},qr=class{static{s(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=qC.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function qC(e){let t=$c(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(qC,"defineTypes");var Ot=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=$C(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Gn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new N(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new N(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Dc(this,n))}let r=this.getValue(t);if(r==null)throw new N(`Value "${t}" does not exist in "${this.name}" enum.`+Dc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=ke(t);throw new N(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Dc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=ke(t);throw new N(`Value "${i}" does not exist in "${this.name}" enum.`+Dc(this,i),{nodes:t})}return n.value}toConfig(){let t=Rt(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Dc(e,t){let r=e.getValues().map(i=>i.name),n=Cc(t,r);return xc("the enum value",n)}s(Dc,"didYouMeanEnumValue");function $C(e,t){return Kn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Kn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:Wp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Ue(n.extensions),astNode:n.astNode}))}s($C,"defineEnumValues");var $r=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=jC.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=$i(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function jC(e){let t=jc(e.fields);return Kn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),$i(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}s(jC,"defineInputFieldMap");var Vc=2147483647,Gc=-2147483648,Zp=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new N(`Int cannot represent non-integer value: ${P(t)}`);if(r>Vc||r<Gc)throw new N("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new N(`Int cannot represent non-integer value: ${P(e)}`);if(e>Vc||e<Gc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new N(`Int cannot represent non-integer value: ${ke(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Vc||t<Gc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),X_=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new N(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new N(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new N(`Float cannot represent non numeric value: ${ke(e)}`,e);return parseFloat(e.value)}}),oe=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Gi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new N(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new N(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new N(`String cannot represent a non string value: ${ke(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new N(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new N(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new N(`Boolean cannot represent a non boolean value: ${ke(e)}`,{nodes:e});return e.value}}),Bc=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=Gi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new N(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new N(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new N("ID cannot represent a non-string and non-integer value: "+ke(e),{nodes:e});return e.value}}),Xp=Object.freeze([oe,Zp,X_,Me,Bc]);function Gi(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}s(Gi,"serializeObject");function eh(e){return ze(e,ht)}s(eh,"isDirective");var ht=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Ue(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Qp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Yp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},eE=new ht({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Included when true."}}}),tE=new ht({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Skipped when true."}}}),rE="No longer supported",nE=new ht({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:oe,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:rE}}}),iE=new ht({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(oe),description:"The URL that specifies the behavior of this scalar."}}}),th=Object.freeze([eE,tE,nE,iE]);function Kc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(Kc,"isIterableObject");function jr(e,t){if(ce(t)){let r=jr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(Kc(e)){let n=[];for(let i of e){let o=jr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return jr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=jr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(_r(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return oE.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:b.ENUM,value:r}:t===Bc&&oE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}At(!1,"Unexpected input type: "+P(t))}s(jr,"astFromValue");var oE=/^-?(?:0|[1-9][0-9]*)$/;var Bi=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:oe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(rh))),resolve:e=>e.getDirectives()}})}),rh=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
123
123
 
124
- In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new j(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isRepeatable:{type:new j(ke),resolve:e=>e.isRepeatable},locations:{type:new j(new pe(new j(nh))),resolve:e=>e.locations},args:{type:new j(new pe(new j(Ki))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),nh=new Rt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new j(sh),resolve(e){if(gr(e))return ee.SCALAR;if(Ne(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Pt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:oe,resolve:e=>"name"in e?e.name:void 0},description:{type:oe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:oe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new j(ih)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ne(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new j(it)),resolve(e){if(Ne(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new j(it)),resolve(e,t,r,{schema:n}){if(_r(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new j(oh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new j(Ki)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),ih=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new j(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},args:{type:new j(new pe(new j(Ki))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new j(it),resolve:e=>e.type},isDeprecated:{type:new j(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Ki=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new j(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},type:{type:new j(it),resolve:e=>e.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=jr(r,t);return n?Me(n):null}},isDeprecated:{type:new j(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),oh=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new j(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isDeprecated:{type:new j(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),ee;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(ee||(ee={}));var sh=new Rt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Jc={name:"__schema",type:new j(Bi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},zc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new j(oe),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Wc={name:"__typename",type:new j(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},ah=Object.freeze([Bi,rh,nh,it,ih,Ki,oh,sh]);var Ji=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:th;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),ft(s,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let s of this._directives)if(eh(s))for(let a of s.args)ft(a.type,i);ft(Bi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,we(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(Ne(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}o(ft,"collectReferencedTypes");function Er(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Er(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Er(e,t.type);return r&&new j(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}o(Er,"typeFromAST");var wr=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??$C,r&&(Ye(r)&&this._inputTypeStack.push(r),Ot(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(Ot(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ne(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Er(r,i):pt(this.getType());this._typeStack.push(Gt(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=Er(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.LIST:{let i=qc(this.getInputType()),s=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=pt(this.getInputType()),s,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),s;Qe(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function $C(e,t,r){let n=r.name.value;if(n===Jc.name&&e.getQueryType()===t)return Jc;if(n===zc.name&&e.getQueryType()===t)return zc;if(n===Wc.name&&Ot(t))return Wc;if(Ne(t)||we(t))return t.getFields()[n]}o($C,"getFieldDef");function Jn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Bn(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),ki(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=Bn(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(Jn,"visitWithTypeInfo");function Qc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Qc,"printPathArray");function ch(e,t,r){return{prev:e,key:t,typename:r}}o(ch,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Bt,"pathToArray");function uh(e,t,r=jC){return zi(e,t,r,void 0)}o(uh,"coerceInputValue");function jC(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${Qc(e)}"`),r.message=n+": "+r.message,r}o(jC,"defaultOnError");function zi(e,t,r,n){if(ce(t)){if(e!=null)return zi(e,t.ofType,r,n);r(Bt(n),e,new C(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return Kc(e)?Array.from(e,(s,a)=>{let c=ch(n,a,void 0);return zi(s,i,r,c)}):[zi(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new C(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=zi(c,a.type,r,ch(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=Cc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+xc(c)))}return i}if(br(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof C?r(Bt(n),e,s):r(Bt(n),e,new C(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Pt(!1,"Unexpected input type: "+P(t))}o(zi,"coerceInputValueImpl");function xt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:xt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let s=[];for(let a of e.values)if(oE(a,r)){if(ce(n))return;s.push(null)}else{let c=xt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=xt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Gn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||oE(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ce(s.type))return;continue}let c=xt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(br(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Pt(!1,"Unexpected input type: "+P(t))}}o(xt,"valueFromAST");function oE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(oE,"isMissingVariable");function Yc(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=VC(e,t,r,c=>{if(s!=null&&i.length>=s)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(Yc,"getVariableValues");function VC(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=Er(e,s.type);if(!Ye(c)){let l=Me(s.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!sE(r,a)){if(s.defaultValue)i[a]=xt(s.defaultValue,c);else if(ce(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=uh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${Qc(l)}"`),n(new C(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(VC,"coerceVariableValues");function Wi(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=Gn(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let y=p.name.value;if(r==null||!sE(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ce(l))throw new C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=xt(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${Me(p)}.`,{nodes:p});i[u]=h}return i}o(Wi,"getArgumentValues");function Qi(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return Wi(e,i,r)}o(Qi,"getDirectiveValues");function sE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(sE,"hasOwnProperty");var Zc=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===b.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},aE=class extends Zc{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},zn=class extends Zc{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new wr(this._schema);yr(t,Jn(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function Xc(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
124
+ In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isRepeatable:{type:new $(Me),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(nh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(Ki))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),nh=new Ot({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(sh),resolve(e){if(br(e))return ee.SCALAR;if(Ne(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;At(!1,`Unexpected type: "${P(e)}".`)}},name:{type:oe,resolve:e=>"name"in e?e.name:void 0},description:{type:oe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:oe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(ih)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ne(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(Ne(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(Er(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(oh)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(Ki)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),ih=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},args:{type:new $(new pe(new $(Ki))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Ki=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=jr(r,t);return n?ke(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),oh=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),ee;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(ee||(ee={}));var sh=new Ot({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Jc={name:"__schema",type:new $(Bi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},zc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(oe),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Wc={name:"__typename",type:new $(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},ah=Object.freeze([Bi,rh,nh,it,ih,Ki,oh,sh]);var Ji=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:th;let i=new Set(t.types);if(t.types!=null)for(let o of t.types)i.delete(o),ft(o,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let o of this._directives)if(eh(o))for(let a of o.args)ft(a.type,i);ft(Bi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let o of i){if(o==null)continue;let a=o.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=o,we(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(o)}}else if(Ne(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(Ne(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}s(ft,"collectReferencedTypes");function wr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=wr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=wr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(wr,"typeFromAST");var vr=class{static{s(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??VC,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Bt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Bt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ne(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?wr(r,i):pt(this.getType());this._typeStack.push(Bt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=wr(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,o,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(o=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.LIST:{let i=qc(this.getInputType()),o=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.OBJECT_FIELD:{let i=pt(this.getInputType()),o,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),o;Qe(i)&&(o=i.getValue(t.value)),this._enumValue=o;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function VC(e,t,r){let n=r.name.value;if(n===Jc.name&&e.getQueryType()===t)return Jc;if(n===zc.name&&e.getQueryType()===t)return zc;if(n===Wc.name&&xt(t))return Wc;if(Ne(t)||we(t))return t.getFields()[n]}s(VC,"getFieldDef");function Jn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Bn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),Mi(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Bn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Jn,"visitWithTypeInfo");function Qc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(Qc,"printPathArray");function ch(e,t,r){return{prev:e,key:t,typename:r}}s(ch,"addPath");function Kt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Kt,"pathToArray");function uh(e,t,r=GC){return zi(e,t,r,void 0)}s(uh,"coerceInputValue");function GC(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${Qc(e)}"`),r.message=n+": "+r.message,r}s(GC,"defaultOnError");function zi(e,t,r,n){if(ce(t)){if(e!=null)return zi(e,t.ofType,r,n);r(Kt(n),e,new N(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return Kc(e)?Array.from(e,(o,a)=>{let c=ch(n,a,void 0);return zi(o,i,r,c)}):[zi(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Kt(n),e,new N(`Expected type "${t.name}" to be an object.`));return}let i={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Kt(n),e,new N(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=zi(c,a.type,r,ch(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=Cc(a,Object.keys(t.getFields()));r(Kt(n),e,new N(`Field "${a}" is not defined by type "${t.name}".`+xc(c)))}return i}if(_r(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof N?r(Kt(n),e,o):r(Kt(n),e,new N(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Kt(n),e,new N(`Expected type "${t.name}".`)),i}At(!1,"Unexpected input type: "+P(t))}s(zi,"coerceInputValueImpl");function Nt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Nt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(sE(a,r)){if(ce(n))return;o.push(null)}else{let c=Nt(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Nt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Gn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||sE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=Nt(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(_r(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}At(!1,"Unexpected input type: "+P(t))}}s(Nt,"valueFromAST");function sE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(sE,"isMissingVariable");function Yc(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=BC(e,t,r,c=>{if(o!=null&&i.length>=o)throw new N("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}s(Yc,"getVariableValues");function BC(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=wr(e,o.type);if(!Ye(c)){let l=ke(o.type);n(new N(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!aE(r,a)){if(o.defaultValue)i[a]=Nt(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new N(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new N(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=uh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${Qc(l)}"`),n(new N(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(BC,"coerceVariableValues");function Wi(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Gn(o,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new N(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let y=p.name.value;if(r==null||!aE(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new N(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ce(l))throw new N(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Nt(p,l,r);if(h===void 0)throw new N(`Argument "${u}" has invalid value ${ke(p)}.`,{nodes:p});i[u]=h}return i}s(Wi,"getArgumentValues");function Qi(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(o=>o.name.value===e.name);if(i)return Wi(e,i,r)}s(Qi,"getDirectiveValues");function aE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(aE,"hasOwnProperty");var Zc=class{static{s(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let o of i.selections)o.kind===b.FRAGMENT_SPREAD?r.push(o):o.selectionSet&&n.push(o.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],o;for(;o=i.pop();)for(let a of this.getFragmentSpreads(o)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},cE=class extends Zc{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},zn=class extends Zc{static{s(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new vr(this._schema);gr(t,Jn(i,{VariableDefinition:()=>!1,Variable(o){n.push({node:o,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function Xc(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",o=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return s(a,"inputDeprecation"),`
125
125
  query IntrospectionQuery {
126
126
  __schema {
127
- ${s}
127
+ ${o}
128
128
  queryType { name }
129
129
  mutationType { name }
130
130
  subscriptionType { name }
@@ -226,5 +226,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
226
226
  }
227
227
  }
228
228
  }
229
- `}o(Xc,"getIntrospectionQuery");function eu(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=At(r.types,E=>E.name,E=>m(E));for(let E of[...Xp,...ah])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new Ji({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===ee.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(E.kind===ee.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new j(Fc(Ce))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${P(E)}.`);let Ce=n[H];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return Mc(l(E))}function p(E){return kc(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ee.SCALAR:return h(E);case ee.OBJECT:return w(E);case ee.INTERFACE:return T(E);case ee.UNION:return S(E);case ee.ENUM:return L(E);case ee.INPUT_OBJECT:return F(E)}let H=P(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===ee.INTERFACE)return[];if(!E.interfaces){let H=P(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function w(E){return new xe({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>N(E)})}function T(E){return new Vt({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>N(E)})}function S(E){if(!E.possibleTypes){let H=P(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new qr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function L(E){if(!E.enumValues){let H=P(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Rt({name:E.name,description:E.description,values:At(E.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function F(E){if(!E.inputFields){let H=P(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new $r({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function N(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${P(E)}.`);return At(E.fields,H=>H.name,re)}function re(E){let H=u(E.type);if(!Gt(H)){let Ce=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=P(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:H,args:ne(E.args)}}function ne(E){return At(E,H=>H.name,me)}function me(E){let H=u(E.type);if(!Ye(H)){let ru=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${ru}.`)}let Ce=E.defaultValue!=null?xt(Oc(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Be(E){if(!E.args){let H=P(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=P(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ht({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(eu,"buildClientSchema");function hL(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(hL,"queryComplexityMessage");function cE(e){let t=new wr(e.schema),r=[],n=new zn(e.schema,e.query,t,s=>r.push(s)),i=new lh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(yr(e.query,Jn(t,i)),r.length)throw r.pop();return i.complexity}o(cE,"getComplexity");var lh=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=Yc(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof xe||r instanceof Vt)&&(n=r.getFields());let i;_r(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&Qi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Qi(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=pt(p.type),h;try{h=Wi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let y=0;Ot(m)&&(y=this.nodeComplexity(c,m));let w={childComplexity:y,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let L=S(w);return typeof L=="number"&&!isNaN(L)?(u=Wn(L,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!Ot(m))break;let h=this.nodeComplexity(p,m);_r(m)?u=Wn(h,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Wn(h,a,[m.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Ot(p)))break;let m=this.nodeComplexity(c,p);_r(p)?u=Wn(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Wn(m,a,[p.name]);break}default:{u=Wn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(hL(this.options.maximumComplexity,this.complexity))}};function Wn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(Wn,"addComplexities");function uE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(uE,"simpleEstimator");var lE=o((e,t,r={})=>{let{definitions:n}=e,i=fL(n),s=mL(n);return Object.entries(s).map(([a,c])=>tu(c,i,0,t,a,r))},"depthLimit");function fL(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(fL,"getFragments");function mL(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(mL,"getQueriesAndMutations");function tu(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case b.FIELD:return yL(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>tu(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return tu(t[e.name.value],t,r,n,i,s);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>tu(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(tu,"determineDepth");var yL=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var gL=o(async(e,t)=>{if(!t.complexityLimit)throw new Qn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Qn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Xc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=eu(c,{assumeValid:!0}),l=cE({estimators:[uE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new C(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),bL=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Qn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...lE(e,r))},"applyDepthLimitPolicy"),dE=o(async(e,t,r)=>{let n=Qn.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=Rc(s.query);r.useDepthLimit&&await bL(a,r.useDepthLimit),r.useComplexityLimit&&await gL(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var pE=hh(Ct());function _L(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(_L,"isIntrospectionQuery");var hE=o(async(e,t)=>{let n=await e.clone().json();return _L(n.query)?pE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
229
+ `}s(Xc,"getIntrospectionQuery");function eu(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Rt(r.types,E=>E.name,E=>m(E));for(let E of[...Xp,...ah])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,o=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new Ji({description:r.description,query:i,mutation:o,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===ee.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(E.kind===ee.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new $(Fc(Ce))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${P(E)}.`);let Ce=n[H];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return kc(l(E))}function p(E){return Mc(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ee.SCALAR:return h(E);case ee.OBJECT:return w(E);case ee.INTERFACE:return T(E);case ee.UNION:return S(E);case ee.ENUM:return D(E);case ee.INPUT_OBJECT:return j(E)}let H=P(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===ee.INTERFACE)return[];if(!E.interfaces){let H=P(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function w(E){return new xe({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>C(E)})}function T(E){return new Gt({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>C(E)})}function S(E){if(!E.possibleTypes){let H=P(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new qr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function D(E){if(!E.enumValues){let H=P(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Ot({name:E.name,description:E.description,values:Rt(E.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function j(E){if(!E.inputFields){let H=P(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new $r({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function C(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${P(E)}.`);return Rt(E.fields,H=>H.name,re)}function re(E){let H=u(E.type);if(!Bt(H)){let Ce=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=P(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:H,args:ne(E.args)}}function ne(E){return Rt(E,H=>H.name,me)}function me(E){let H=u(E.type);if(!Ye(H)){let ru=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${ru}.`)}let Ce=E.defaultValue!=null?Nt(Oc(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Be(E){if(!E.args){let H=P(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=P(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ht({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}s(eu,"buildClientSchema");function mL(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(mL,"queryComplexityMessage");function uE(e){let t=new vr(e.schema),r=[],n=new zn(e.schema,e.query,t,o=>r.push(o)),i=new lh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(gr(e.query,Jn(t,i)),r.length)throw r.pop();return i.complexity}s(uE,"getComplexity");var lh=class{static{s(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=Yc(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(o=>this.context.reportError(o));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let o=i.getQueryType();if(!o)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,o);break}case"mutation":{let o=i.getMutationType();if(!o)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,o);break}case"subscription":{let o=i.getSubscriptionType();if(!o)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,o);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof xe||r instanceof Gt)&&(n=r.getFields());let i;Er(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let o=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&Qi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Qi(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=pt(p.type),h;try{h=Wi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let y=0;xt(m)&&(y=this.nodeComplexity(c,m));let w={childComplexity:y,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let D=S(w);return typeof D=="number"&&!isNaN(D)?(u=Wn(D,a,i),!0):!1}))return this.context.reportError(new N(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(m))break;let h=this.nodeComplexity(p,m);Er(m)?u=Wn(h,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Wn(h,a,[m.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!xt(p)))break;let m=this.nodeComplexity(c,p);Er(p)?u=Wn(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Wn(m,a,[p.name]);break}default:{u=Wn(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new N(mL(this.options.maximumComplexity,this.complexity))}};function Wn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(Wn,"addComplexities");function lE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(lE,"simpleEstimator");var dE=s((e,t,r={})=>{let{definitions:n}=e,i=yL(n),o=gL(n);return Object.entries(o).map(([a,c])=>tu(c,i,0,t,a,r))},"depthLimit");function yL(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(yL,"getFragments");function gL(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(gL,"getQueriesAndMutations");function tu(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new N(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return bL(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>tu(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return tu(t[e.name.value],t,r,n,i,o);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>tu(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(tu,"determineDepth");var bL=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var _L=s(async(e,t)=>{if(!t.complexityLimit)throw new Qn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Qn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Xc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new N("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=eu(c,{assumeValid:!0}),l=uE({estimators:[lE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new N(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),EL=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Qn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...dE(e,r))},"applyDepthLimitPolicy"),pE=s(async(e,t,r)=>{let n=Qn.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Rc(o.query);r.useDepthLimit&&await EL(a,r.useDepthLimit),r.useComplexityLimit&&await _L(a,r.useComplexityLimit)}catch(i){if(i instanceof N)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var hE=hh(Lt());function wL(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(wL,"isIntrospectionQuery");var fE=s(async(e,t)=>{let n=await e.clone().json();return wL(n.query)?hE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
230
230
  /*! For license information please see index.minified.js.LEGAL.txt */