@zuplo/graphql 5.1650.0 → 5.1651.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 +42 -42
  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 Y_=Object.create;var Qn=Object.defineProperty;var Z_=Object.getOwnPropertyDescriptor;var X_=Object.getOwnPropertyNames;var eE=Object.getPrototypeOf,tE=Object.prototype.hasOwnProperty;var o=(e,t)=>Qn(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),Wi=(e,t)=>{for(var r in t)Qn(e,r,{get:t[r],enumerable:!0})},Zp=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of X_(t))!tE.call(e,i)&&i!==r&&Qn(e,i,{get:()=>t[i],enumerable:!(n=Z_(t,i))||n.enumerable});return e};var Xp=(e,t,r)=>(r=e!=null?Y_(eE(e)):{},Zp(t||!e||!e.__esModule?Qn(r,"default",{value:e,enumerable:!0}):r,e)),Qi=e=>Zp(Qn({},"__esModule",{value:!0}),e);var D=g(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.FeatureNotEnabledError=ft.ConfigurationError=ft.RuntimeError=ft.SystemError=void 0;var Yc=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};ft.SystemError=Yc;var Yn=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"}};ft.RuntimeError=Yn;var Zc=class extends Yn{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};ft.ConfigurationError=Zc;var Xc=class extends Yn{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};ft.FeatureNotEnabledError=Xc});var ee=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.Environment=void 0;var rE=D(),eu=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 rE.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"}};Yi.Environment=eu});var nh=g(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});var eh=ee();Function.prototype.toString=function(){return"[native code]"};var Zi=globalThis,th=Zi.caches;if(th){let e=th.open;Zi.caches.open=function(t){let r=eh.Environment.instance.deploymentName??eh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete Zi.caches.default,Object.freeze(Zi.caches)}});var nu=g(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.MemoryCache=void 0;var nE=1e4,iE=1e3,ih=new Map,tu=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+nE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},ru=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:iE}){this.name=t;let n=ih.get(t);n||(n=new tu(r),ih.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()}};Xi.MemoryCache=ru});var to=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.ZoneCache=void 0;var iu="__zuplo-expiry-header",ou=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(iu);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(iu,`${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(iu,`${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)}};eo.ZoneCache=ou});var Bt=g(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.MemoryZoneReadThroughCache=void 0;var oE=nu(),sE=to(),su=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new oE.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(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)})}};ro.MemoryZoneReadThroughCache=su});var Zn=g(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.INTERNAL_HEADERS_TO_REMOVE=P.DISPATCH_HEADERS_TO_REMOVE=P.ZP_TIMEZONE_HEADER=P.ZP_REGION_CODE_HEADER=P.ZP_REGION_HEADER=P.ZP_METRO_CODE_HEADER=P.ZP_POSTAL_CODE_HEADER=P.ZP_COLO_HEADER=P.ZP_AS_ORG_HEADER=P.ZP_ASN_HEADER=P.TRUE_CLIENT_IP=P.ZP_IP_LATITUDE_HEADER=P.ZP_IP_LONGITUDE_HEADER=P.ZP_IP_COUNTRY_HEADER=P.ZP_IP_CONTINENT_HEADER=P.ZP_IP_CITY_HEADER=P.CF_IP_LATITUDE_HEADER=P.CF_IP_LONGITUDE_HEADER=P.CF_IP_COUNTRY_HEADER=P.CF_IP_CONTINENT_HEADER=P.CF_IP_CITY_HEADER=P.RAY_ID_HEADER=P.BODY_REMOVED_HEADER=P.REQUEST_ID_HEADER=P.LEGACY_REQUEST_ID_HEADER=void 0;P.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";P.REQUEST_ID_HEADER="zp-rid";P.BODY_REMOVED_HEADER="zp-body-removed";P.RAY_ID_HEADER="cf-ray";P.CF_IP_CITY_HEADER="cf-ipcity";P.CF_IP_CONTINENT_HEADER="cf-ipcontinent";P.CF_IP_COUNTRY_HEADER="cf-ipcountry";P.CF_IP_LONGITUDE_HEADER="cf-iplongitude";P.CF_IP_LATITUDE_HEADER="cf-iplatitude";P.ZP_IP_CITY_HEADER="zp-ipcity";P.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";P.ZP_IP_COUNTRY_HEADER="zp-ipcountry";P.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";P.ZP_IP_LATITUDE_HEADER="zp-iplatitude";P.TRUE_CLIENT_IP="true-client-ip";P.ZP_ASN_HEADER="zp-asn";P.ZP_AS_ORG_HEADER="zp-asorg";P.ZP_COLO_HEADER="zp-colo";P.ZP_POSTAL_CODE_HEADER="zp-postalcode";P.ZP_METRO_CODE_HEADER="zp-metrocode";P.ZP_REGION_HEADER="zp-region";P.ZP_REGION_CODE_HEADER="zp-regioncode";P.ZP_TIMEZONE_HEADER="zp-timezone";P.DISPATCH_HEADERS_TO_REMOVE=[P.CF_IP_CITY_HEADER,P.CF_IP_CONTINENT_HEADER,P.CF_IP_COUNTRY_HEADER,P.CF_IP_LONGITUDE_HEADER,P.CF_IP_LATITUDE_HEADER,P.ZP_ASN_HEADER,P.ZP_AS_ORG_HEADER,P.ZP_COLO_HEADER,P.ZP_POSTAL_CODE_HEADER,P.ZP_METRO_CODE_HEADER,P.ZP_REGION_HEADER,P.ZP_REGION_CODE_HEADER,P.ZP_TIMEZONE_HEADER];P.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 hh=g(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.generateColor=w.colorFunctions=w.stripColor=w.bgRgb24=w.rgb24=w.bgRgb8=w.rgb8=w.bgBrightWhite=w.bgBrightCyan=w.bgBrightMagenta=w.bgBrightBlue=w.bgBrightYellow=w.bgBrightGreen=w.bgBrightRed=w.bgBrightBlack=w.bgWhite=w.bgCyan=w.bgMagenta=w.bgBlue=w.bgYellow=w.bgGreen=w.bgRed=w.bgBlack=w.brightWhite=w.brightCyan=w.brightMagenta=w.brightBlue=w.brightYellow=w.brightGreen=w.brightRed=w.brightBlack=w.gray=w.white=w.cyan=w.magenta=w.blue=w.yellow=w.green=w.red=w.black=w.strikethrough=w.hidden=w.inverse=w.underline=w.italic=w.dim=w.bold=w.reset=w.getColorEnabled=w.setColorEnabled=void 0;var oh=!0,au=!oh;function aE(e){oh||(au=e)}o(aE,"setColorEnabled");w.setColorEnabled=aE;function cE(){return au}o(cE,"getColorEnabled");w.getColorEnabled=cE;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(F,"code");function q(e,t){return au?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function uE(e){return q(e,F([0],0))}o(uE,"reset");w.reset=uE;function lE(e){return q(e,F([1],22))}o(lE,"bold");w.bold=lE;function dE(e){return q(e,F([2],22))}o(dE,"dim");w.dim=dE;function pE(e){return q(e,F([3],23))}o(pE,"italic");w.italic=pE;function hE(e){return q(e,F([4],24))}o(hE,"underline");w.underline=hE;function fE(e){return q(e,F([7],27))}o(fE,"inverse");w.inverse=fE;function mE(e){return q(e,F([8],28))}o(mE,"hidden");w.hidden=mE;function yE(e){return q(e,F([9],29))}o(yE,"strikethrough");w.strikethrough=yE;function gE(e){return q(e,F([30],39))}o(gE,"black");w.black=gE;function sh(e){return q(e,F([31],39))}o(sh,"red");w.red=sh;function ah(e){return q(e,F([32],39))}o(ah,"green");w.green=ah;function ch(e){return q(e,F([33],39))}o(ch,"yellow");w.yellow=ch;function uh(e){return q(e,F([34],39))}o(uh,"blue");w.blue=uh;function lh(e){return q(e,F([35],39))}o(lh,"magenta");w.magenta=lh;function dh(e){return q(e,F([36],39))}o(dh,"cyan");w.cyan=dh;function bE(e){return q(e,F([37],39))}o(bE,"white");w.white=bE;function _E(e){return ph(e)}o(_E,"gray");w.gray=_E;function ph(e){return q(e,F([90],39))}o(ph,"brightBlack");w.brightBlack=ph;function EE(e){return q(e,F([91],39))}o(EE,"brightRed");w.brightRed=EE;function wE(e){return q(e,F([92],39))}o(wE,"brightGreen");w.brightGreen=wE;function vE(e){return q(e,F([93],39))}o(vE,"brightYellow");w.brightYellow=vE;function TE(e){return q(e,F([94],39))}o(TE,"brightBlue");w.brightBlue=TE;function SE(e){return q(e,F([95],39))}o(SE,"brightMagenta");w.brightMagenta=SE;function IE(e){return q(e,F([96],39))}o(IE,"brightCyan");w.brightCyan=IE;function AE(e){return q(e,F([97],39))}o(AE,"brightWhite");w.brightWhite=AE;function RE(e){return q(e,F([40],49))}o(RE,"bgBlack");w.bgBlack=RE;function PE(e){return q(e,F([41],49))}o(PE,"bgRed");w.bgRed=PE;function OE(e){return q(e,F([42],49))}o(OE,"bgGreen");w.bgGreen=OE;function NE(e){return q(e,F([43],49))}o(NE,"bgYellow");w.bgYellow=NE;function xE(e){return q(e,F([44],49))}o(xE,"bgBlue");w.bgBlue=xE;function CE(e){return q(e,F([45],49))}o(CE,"bgMagenta");w.bgMagenta=CE;function LE(e){return q(e,F([46],49))}o(LE,"bgCyan");w.bgCyan=LE;function DE(e){return q(e,F([47],49))}o(DE,"bgWhite");w.bgWhite=DE;function UE(e){return q(e,F([100],49))}o(UE,"bgBrightBlack");w.bgBrightBlack=UE;function ME(e){return q(e,F([101],49))}o(ME,"bgBrightRed");w.bgBrightRed=ME;function kE(e){return q(e,F([102],49))}o(kE,"bgBrightGreen");w.bgBrightGreen=kE;function HE(e){return q(e,F([103],49))}o(HE,"bgBrightYellow");w.bgBrightYellow=HE;function FE(e){return q(e,F([104],49))}o(FE,"bgBrightBlue");w.bgBrightBlue=FE;function qE(e){return q(e,F([105],49))}o(qE,"bgBrightMagenta");w.bgBrightMagenta=qE;function $E(e){return q(e,F([106],49))}o($E,"bgBrightCyan");w.bgBrightCyan=$E;function jE(e){return q(e,F([107],49))}o(jE,"bgBrightWhite");w.bgBrightWhite=jE;function Kt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(Kt,"clampAndTruncate");function VE(e,t){return q(e,F([38,5,Kt(t)],39))}o(VE,"rgb8");w.rgb8=VE;function GE(e,t){return q(e,F([48,5,Kt(t)],49))}o(GE,"bgRgb8");w.bgRgb8=GE;function BE(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,Kt(t.r),Kt(t.g),Kt(t.b)],39))}o(BE,"rgb24");w.rgb24=BE;function KE(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,Kt(t.r),Kt(t.g),Kt(t.b)],49))}o(KE,"bgRgb24");w.bgRgb24=KE;var JE=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 zE(e){return e.replace(JE,"")}o(zE,"stripColor");w.stripColor=zE;w.colorFunctions=[sh,ah,ch,uh,lh,dh];function WE(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(WE,"hashCode");function QE(e){let t=Math.abs(WE(e));return w.colorFunctions[t%w.colorFunctions.length]}o(QE,"generateColor");w.generateColor=QE});var fh=g(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.format=void 0;function YE(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(YE,"format");no.format=YE});var Eh=g(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.inspect=void 0;function Tr(e,t,r,n){let i={seen:[],stylize:ZE,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=ew),io(i,e,i.depth)}o(Tr,"inspect");oo.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 ZE(e,t){return e}o(ZE,"stylizeNoColor");function XE(e){return typeof e=="boolean"}o(XE,"isBoolean");function yh(e){return e===void 0}o(yh,"isUndefined");function ew(e,t){let r=Tr.styles[t];return r?"\x1B["+Tr.colors[r][0]+"m"+e+"\x1B["+Tr.colors[r][1]+"m":e}o(ew,"stylizeWithColor");function cu(e){return typeof e=="function"}o(cu,"isFunction");function gh(e){return typeof e=="string"}o(gh,"isString");function tw(e){return typeof e=="number"}o(tw,"isNumber");function bh(e){return e===null}o(bh,"isNull");function _h(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(_h,"hasOwn");function uu(e){return hu(e)&&fu(e)==="[object RegExp]"}o(uu,"isRegExp");function hu(e){return typeof e=="object"&&e!==null}o(hu,"isObject");function lu(e){return hu(e)&&(fu(e)==="[object Error]"||e instanceof Error)}o(lu,"isError");function mh(e){return hu(e)&&fu(e)==="[object Date]"}o(mh,"isDate");function fu(e){return Object.prototype.toString.call(e)}o(fu,"objectToString");function rw(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(rw,"arrayToHash");function nw(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)_h(t,String(a))?s.push(pu(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(pu(e,t,r,n,a,!0))}),s}o(nw,"formatArray");function du(e){return"["+Error.prototype.toString.call(e)+"]"}o(du,"formatError");function io(e,t,r){if(e.customInspect&&t&&cu(t.inspect)&&t.inspect!==Tr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return gh(d)||(d=io(e,d,r)),d}let n=iw(e,t);if(n)return n;let i=Object.keys(t),s=rw(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(lu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return du(t);if(i.length===0){if(cu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(uu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(mh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(lu(t))return du(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),cu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),uu(t)&&(a=" "+RegExp.prototype.toString.call(t)),mh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),lu(t)&&(a=" "+du(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return uu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=nw(e,t,r,s,i):l=i.map(function(d){return pu(e,t,r,s,d,c)}),e.seen.pop(),ow(l,a,u)}o(io,"formatValue");function pu(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")),_h(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(bh(r)?c=io(e,u.value,null):c=io(e,u.value,r-1),c.indexOf(`
25
+ "use strict";var q_=Object.create;var Kn=Object.defineProperty;var $_=Object.getOwnPropertyDescriptor;var j_=Object.getOwnPropertyNames;var V_=Object.getPrototypeOf,G_=Object.prototype.hasOwnProperty;var o=(e,t)=>Kn(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),Ki=(e,t)=>{for(var r in t)Kn(e,r,{get:t[r],enumerable:!0})},Kp=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of j_(t))!G_.call(e,i)&&i!==r&&Kn(e,i,{get:()=>t[i],enumerable:!(n=$_(t,i))||n.enumerable});return e};var Jp=(e,t,r)=>(r=e!=null?q_(V_(e)):{},Kp(t||!e||!e.__esModule?Kn(r,"default",{value:e,enumerable:!0}):r,e)),Ji=e=>Kp(Kn({},"__esModule",{value:!0}),e);var L=g(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.FeatureNotEnabledError=ht.ConfigurationError=ht.RuntimeError=ht.SystemError=void 0;var Bc=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};ht.SystemError=Bc;var Jn=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"}};ht.RuntimeError=Jn;var Kc=class extends Jn{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};ht.ConfigurationError=Kc;var Jc=class extends Jn{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};ht.FeatureNotEnabledError=Jc});var ee=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.Environment=void 0;var B_=L(),zc=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 B_.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"}};zi.Environment=zc});var Yp=g(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});var zp=ee();Function.prototype.toString=function(){return"[native code]"};var Wi=globalThis,Wp=Wi.caches;if(Wp){let e=Wp.open;Wi.caches.open=function(t){let r=zp.Environment.instance.deploymentName??zp.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete Wi.caches.default,Object.freeze(Wi.caches)}});var Yc=g(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.MemoryCache=void 0;var K_=1e4,J_=1e3,Zp=new Map,Wc=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+K_*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},Qc=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:J_}){this.name=t;let n=Zp.get(t);n||(n=new Wc(r),Zp.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()}};Qi.MemoryCache=Qc});var Zi=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.ZoneCache=void 0;var Zc="__zuplo-expiry-header",Xc=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(Zc);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(Zc,`${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(Zc,`${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)}};Yi.ZoneCache=Xc});var Vt=g(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.MemoryZoneReadThroughCache=void 0;var z_=Yc(),W_=Zi(),eu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new z_.MemoryCache(n),this.#r=new W_.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)})}};Xi.MemoryZoneReadThroughCache=eu});var zn=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(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.generateColor=w.colorFunctions=w.stripColor=w.bgRgb24=w.rgb24=w.bgRgb8=w.rgb8=w.bgBrightWhite=w.bgBrightCyan=w.bgBrightMagenta=w.bgBrightBlue=w.bgBrightYellow=w.bgBrightGreen=w.bgBrightRed=w.bgBrightBlack=w.bgWhite=w.bgCyan=w.bgMagenta=w.bgBlue=w.bgYellow=w.bgGreen=w.bgRed=w.bgBlack=w.brightWhite=w.brightCyan=w.brightMagenta=w.brightBlue=w.brightYellow=w.brightGreen=w.brightRed=w.brightBlack=w.gray=w.white=w.cyan=w.magenta=w.blue=w.yellow=w.green=w.red=w.black=w.strikethrough=w.hidden=w.inverse=w.underline=w.italic=w.dim=w.bold=w.reset=w.getColorEnabled=w.setColorEnabled=void 0;var Xp=!0,tu=!Xp;function Q_(e){Xp||(tu=e)}o(Q_,"setColorEnabled");w.setColorEnabled=Q_;function Y_(){return tu}o(Y_,"getColorEnabled");w.getColorEnabled=Y_;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(F,"code");function q(e,t){return tu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function Z_(e){return q(e,F([0],0))}o(Z_,"reset");w.reset=Z_;function X_(e){return q(e,F([1],22))}o(X_,"bold");w.bold=X_;function eE(e){return q(e,F([2],22))}o(eE,"dim");w.dim=eE;function tE(e){return q(e,F([3],23))}o(tE,"italic");w.italic=tE;function rE(e){return q(e,F([4],24))}o(rE,"underline");w.underline=rE;function nE(e){return q(e,F([7],27))}o(nE,"inverse");w.inverse=nE;function iE(e){return q(e,F([8],28))}o(iE,"hidden");w.hidden=iE;function oE(e){return q(e,F([9],29))}o(oE,"strikethrough");w.strikethrough=oE;function sE(e){return q(e,F([30],39))}o(sE,"black");w.black=sE;function eh(e){return q(e,F([31],39))}o(eh,"red");w.red=eh;function th(e){return q(e,F([32],39))}o(th,"green");w.green=th;function rh(e){return q(e,F([33],39))}o(rh,"yellow");w.yellow=rh;function nh(e){return q(e,F([34],39))}o(nh,"blue");w.blue=nh;function ih(e){return q(e,F([35],39))}o(ih,"magenta");w.magenta=ih;function oh(e){return q(e,F([36],39))}o(oh,"cyan");w.cyan=oh;function aE(e){return q(e,F([37],39))}o(aE,"white");w.white=aE;function cE(e){return sh(e)}o(cE,"gray");w.gray=cE;function sh(e){return q(e,F([90],39))}o(sh,"brightBlack");w.brightBlack=sh;function uE(e){return q(e,F([91],39))}o(uE,"brightRed");w.brightRed=uE;function lE(e){return q(e,F([92],39))}o(lE,"brightGreen");w.brightGreen=lE;function dE(e){return q(e,F([93],39))}o(dE,"brightYellow");w.brightYellow=dE;function pE(e){return q(e,F([94],39))}o(pE,"brightBlue");w.brightBlue=pE;function hE(e){return q(e,F([95],39))}o(hE,"brightMagenta");w.brightMagenta=hE;function fE(e){return q(e,F([96],39))}o(fE,"brightCyan");w.brightCyan=fE;function mE(e){return q(e,F([97],39))}o(mE,"brightWhite");w.brightWhite=mE;function yE(e){return q(e,F([40],49))}o(yE,"bgBlack");w.bgBlack=yE;function gE(e){return q(e,F([41],49))}o(gE,"bgRed");w.bgRed=gE;function bE(e){return q(e,F([42],49))}o(bE,"bgGreen");w.bgGreen=bE;function _E(e){return q(e,F([43],49))}o(_E,"bgYellow");w.bgYellow=_E;function EE(e){return q(e,F([44],49))}o(EE,"bgBlue");w.bgBlue=EE;function wE(e){return q(e,F([45],49))}o(wE,"bgMagenta");w.bgMagenta=wE;function vE(e){return q(e,F([46],49))}o(vE,"bgCyan");w.bgCyan=vE;function TE(e){return q(e,F([47],49))}o(TE,"bgWhite");w.bgWhite=TE;function SE(e){return q(e,F([100],49))}o(SE,"bgBrightBlack");w.bgBrightBlack=SE;function IE(e){return q(e,F([101],49))}o(IE,"bgBrightRed");w.bgBrightRed=IE;function AE(e){return q(e,F([102],49))}o(AE,"bgBrightGreen");w.bgBrightGreen=AE;function PE(e){return q(e,F([103],49))}o(PE,"bgBrightYellow");w.bgBrightYellow=PE;function RE(e){return q(e,F([104],49))}o(RE,"bgBrightBlue");w.bgBrightBlue=RE;function OE(e){return q(e,F([105],49))}o(OE,"bgBrightMagenta");w.bgBrightMagenta=OE;function xE(e){return q(e,F([106],49))}o(xE,"bgBrightCyan");w.bgBrightCyan=xE;function NE(e){return q(e,F([107],49))}o(NE,"bgBrightWhite");w.bgBrightWhite=NE;function Gt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(Gt,"clampAndTruncate");function CE(e,t){return q(e,F([38,5,Gt(t)],39))}o(CE,"rgb8");w.rgb8=CE;function LE(e,t){return q(e,F([48,5,Gt(t)],49))}o(LE,"bgRgb8");w.bgRgb8=LE;function DE(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,Gt(t.r),Gt(t.g),Gt(t.b)],39))}o(DE,"rgb24");w.rgb24=DE;function UE(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,Gt(t.r),Gt(t.g),Gt(t.b)],49))}o(UE,"bgRgb24");w.bgRgb24=UE;var ME=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 kE(e){return e.replace(ME,"")}o(kE,"stripColor");w.stripColor=kE;w.colorFunctions=[eh,th,rh,nh,ih,oh];function HE(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(HE,"hashCode");function FE(e){let t=Math.abs(HE(e));return w.colorFunctions[t%w.colorFunctions.length]}o(FE,"generateColor");w.generateColor=FE});var ch=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.format=void 0;function qE(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(qE,"format");eo.format=qE});var fh=g(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.inspect=void 0;function wr(e,t,r,n){let i={seen:[],stylize:$E,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=VE),to(i,e,i.depth)}o(wr,"inspect");ro.inspect=wr;wr.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]};wr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function $E(e,t){return e}o($E,"stylizeNoColor");function jE(e){return typeof e=="boolean"}o(jE,"isBoolean");function lh(e){return e===void 0}o(lh,"isUndefined");function VE(e,t){let r=wr.styles[t];return r?"\x1B["+wr.colors[r][0]+"m"+e+"\x1B["+wr.colors[r][1]+"m":e}o(VE,"stylizeWithColor");function ru(e){return typeof e=="function"}o(ru,"isFunction");function dh(e){return typeof e=="string"}o(dh,"isString");function GE(e){return typeof e=="number"}o(GE,"isNumber");function ph(e){return e===null}o(ph,"isNull");function hh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(hh,"hasOwn");function nu(e){return au(e)&&cu(e)==="[object RegExp]"}o(nu,"isRegExp");function au(e){return typeof e=="object"&&e!==null}o(au,"isObject");function iu(e){return au(e)&&(cu(e)==="[object Error]"||e instanceof Error)}o(iu,"isError");function uh(e){return au(e)&&cu(e)==="[object Date]"}o(uh,"isDate");function cu(e){return Object.prototype.toString.call(e)}o(cu,"objectToString");function BE(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(BE,"arrayToHash");function KE(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)hh(t,String(a))?s.push(su(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(su(e,t,r,n,a,!0))}),s}o(KE,"formatArray");function ou(e){return"["+Error.prototype.toString.call(e)+"]"}o(ou,"formatError");function to(e,t,r){if(e.customInspect&&t&&ru(t.inspect)&&t.inspect!==wr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return dh(d)||(d=to(e,d,r)),d}let n=JE(e,t);if(n)return n;let i=Object.keys(t),s=BE(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(iu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return ou(t);if(i.length===0){if(ru(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(nu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(uh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(iu(t))return ou(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),ru(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),nu(t)&&(a=" "+RegExp.prototype.toString.call(t)),uh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),iu(t)&&(a=" "+ou(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return nu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=KE(e,t,r,s,i):l=i.map(function(d){return su(e,t,r,s,d,c)}),e.seen.pop(),zE(l,a,u)}o(to,"formatValue");function su(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")),hh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(ph(r)?c=to(e,u.value,null):c=to(e,u.value,r-1),c.indexOf(`
27
27
  `)>-1&&(s?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")),yh(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(pu,"formatProperty");function iw(e,t){if(yh(t))return e.stylize("undefined","undefined");if(gh(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(tw(t))return e.stylize(""+t,"number");if(XE(t))return e.stylize(""+t,"boolean");if(bh(t))return e.stylize("null","null")}o(iw,"formatPrimitive");function ow(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
32
+ `))):c=e.stylize("[Circular]","special")),lh(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(su,"formatProperty");function JE(e,t){if(lh(t))return e.stylize("undefined","undefined");if(dh(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(GE(t))return e.stylize(""+t,"number");if(jE(t))return e.stylize(""+t,"boolean");if(ph(t))return e.stylize("null","null")}o(JE,"formatPrimitive");function zE(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
33
33
  `)>=0&&n++,s+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(ow,"reduceToSingleString")});var wh=g(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.format=void 0;var sw=fh(),aw=Eh(),cw=o((e,...t)=>(0,sw.format)(aw.inspect,e,t),"format");so.format=cw});var Sr=g(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.debug=Jt.withoutEnv=Jt.Debugger=void 0;var uw=hh(),lw=wh(),ao=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,uw.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,lw.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Jt.Debugger=ao;var co=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function vh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(vh,"extract");var Xn;function dw(e){e||(e=[]),typeof e=="string"&&(e=vh(e)),Xn=new co(e)}o(dw,"withoutEnv");Jt.withoutEnv=dw;function pw(e){let t=globalThis.DEBUG;Xn||(Xn=new co(vh(t)));let r=new ao(Xn,e);return Xn.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(pw,"debug");Jt.debug=pw});var lo=g(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.ProblemResponseFormatter=Kr.InternalProblemResponseFormatter=void 0;var hw=D(),uo=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 hw.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Kr.InternalProblemResponseFormatter=uo;var mu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await uo.problemResponseFormat(t,r,n)}};Kr.ProblemResponseFormatter=mu});var xt=g(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.initializeRuntime=be.invokeOnResponseSendingFinalExtensions=be.invokeOnResponseSendingExtensions=be.invokeOnRequestExtensions=be.plugins=be.runtimeExtensions=be.InitializableRuntimePlugin=be.RuntimePlugin=void 0;var fw=lo(),ho=class{static{o(this,"RuntimePlugin")}};be.RuntimePlugin=ho;var fo=class extends ho{static{o(this,"InitializableRuntimePlugin")}};be.InitializableRuntimePlugin=fo;be.runtimeExtensions={};var yu=[];be.plugins=yu;var Th=[],Sh=[],Ih=[],po={addPlugin(e){yu.push(e)},addRequestHook(e){Th.push(e)},addResponseSendingHook(e){Sh.push(e)},addResponseSendingFinalHook(e){Ih.push(e)}},mw=o(async(e,t)=>{let r=e;for(let n of Th)if(r=await n(r,t),r instanceof Response)return r;return r},"invokeOnRequestExtensions");be.invokeOnRequestExtensions=mw;var yw=o(async(e,t,r)=>{let n=e;for(let i of Sh)n=await i(e,t,r);return n},"invokeOnResponseSendingExtensions");be.invokeOnResponseSendingExtensions=yw;var gw=o(async(e,t,r)=>{for(let n of Ih)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");be.invokeOnResponseSendingFinalExtensions=gw;async function bw(e=()=>Promise.resolve()){await e(po),be.runtimeExtensions.value=po;let t=yu.filter(r=>r instanceof fo);for(let r of t)await r.initialize(po);fw.InternalProblemResponseFormatter.setProblemResponseFormat(po.problemResponseFormat)}o(bw,"initializeRuntime");be.initializeRuntime=bw});var gu=g(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.serialize=zt.ContentTypes=void 0;zt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function _w(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(zt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(zt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(_w,"serialize");zt.serialize=_w});var Wt=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.Pipeline=void 0;var bu=Ir(),Ah=xt(),Ew=gu(),_u=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 m=>{let v=a.pop();return v?v(i,s,r,c):await this.#e(async S=>{let O=await n(S,s);return ww(O)},r)(m,s)},"nextPipe"),l=await c(i),d=new bu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=bu.ZuploContextExtensions.getContextExtensions(s),y=p.latestRequest,h;try{h=await d.mutableResponse}catch(m){return s.log.error(m),r.errorHandler(i,s,m)}try{h=await p.onResponseSending(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),r.errorHandler(i,s,m)}try{h=await(0,Ah.invokeOnResponseSendingExtensions)(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),r.errorHandler(i,s,m)}s.dispatchEvent(new bu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}try{await(0,Ah.invokeOnResponseSendingFinalExtensions)(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}return h}};mo.Pipeline=_u;function ww(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Ew.serialize)(e),{headers:{"content-type":"application/json"}})}o(ww,"resultToResponse")});var go=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.MetricsPlugin=void 0;var vw=xt(),Eu=class extends vw.RuntimePlugin{static{o(this,"MetricsPlugin")}};yo.MetricsPlugin=Eu});var Ke=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.SystemLogMap=void 0;var Tw=D(),wu=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 Tw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};bo.SystemLogMap=wu});var Se=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.BatchDispatch=void 0;var vu=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}};_o.BatchDispatch=vu});var Ph=g(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.EllieMetricsTransport=void 0;var Rh=Ke(),Sw=Se(),Eo=ee(),Tu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Eo.Environment.instance.loggingId,this.#e=t,this.#t=new Sw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Rh.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}=Eo.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":Eo.Environment.instance.deploymentName??"unknown","user-agent":Eo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Rh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};wo.EllieMetricsTransport=Tu});var mt=g(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.systemNoVersion=Ar.SystemRouteConfiguration=void 0;var Su=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=Ar.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Ar.SystemRouteConfiguration=Su;Ar.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Rr=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.metricsProcessor=void 0;var Oh=Zn(),Iw=Ir(),Aw=xt(),Rw=go(),Pw=Ph(),Ow=mt(),Nw=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(Oh.RAY_ID_HEADER)??void 0,u=e.headers.get(Oh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof Ow.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Iw.ZuploContextExtensions.getContextExtensions(t).latestRequest,y={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 Pw.EllieMetricsTransport(t)),Aw.plugins.forEach(m=>{if(m instanceof Rw.MetricsPlugin){let v=m.getTransport();h.push(v)}}),h.forEach(m=>{m.pushMetrics(y,t)}),a},"metricsProcessor");vo.metricsProcessor=Nw});var xh=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.SystemRouteName=void 0;var Nh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(Nh||(To.SystemRouteName=Nh={}))});var Lh=g(Ch=>{"use strict";Object.defineProperty(Ch,"__esModule",{value:!0})});var Pr=g(Qt=>{"use strict";var xw=Qt&&Qt.__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]}),Dh=Qt&&Qt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&xw(t,e,r)};Object.defineProperty(Qt,"__esModule",{value:!0});Dh(xh(),Qt);Dh(Lh(),Qt)});var Uh=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.registerBuildRoute=void 0;var Cw=Ct(),Lw=Wt(),Dw=Rr(),Uw=Pr(),Mw=mt(),kw=Ke(),Hw=ee(),Fw=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 Cw.HttpProblems.notFound(s,a);let l=Hw.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"&&kw.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 Lw.Pipeline({processors:[Dw.metricsProcessor],handler:r,gateway:t}),i=new Mw.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Uw.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");So.registerBuildRoute=Fw});var Iu=g(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.HTTP_STATUS_TITLES=Jr.HttpStatusCode=void 0;var Mh;(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"})(Mh||(Jr.HttpStatusCode=Mh={}));Jr.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 Ru=g(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});var qw={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"};Au.default=qw});var le=g(zr=>{"use strict";var $w=zr&&zr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(zr,"__esModule",{value:!0});zr.HttpProblems=void 0;var jw=Zn(),N=Iu(),Vw=$w(Ru()),Gw=ee(),Pu=lo();function Bw(e){return`${new URL(e.url).pathname}`}o(Bw,"instance");function Kw(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Gw.Environment.instance.build.BUILD_ID},n=e.headers.get(jw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Kw,"trace");var Jw=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Bw(t),trace:Kw(t,r),...n},additionalHeaders:i,statusText:Vw.default[e.status]}),"merge"),Ou=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Pu.ProblemResponseFormatter.format(t,r,n):Pu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},Nu=class extends Ou{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=Jw(this.getProblemFromStatus(t),r,n,i,s);return Pu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};zr.HttpProblems=Nu});var Yt=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:zw}=Object.prototype,{propertyIsEnumerable:Ww}=Object.prototype;function kh(e){return zw.call(e)}o(kh,"toString");M.toString=kh;function Io(e){return typeof e=="string"}o(Io,"isString");M.isString=Io;function Qw(e){return Io(e)&&e!==""}o(Qw,"isNonEmptyString");M.isNonEmptyString=Qw;function Yw(e){return Array.isArray(e)&&e.every(t=>Io(t))}o(Yw,"isStringArray");M.isStringArray=Yw;function Zw(e){return kh(e)==="[object RegExp]"}o(Zw,"isRegexp");M.isRegexp=Zw;function Xw(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Ww.call(e,t))]}o(Xw,"getOwnEnumerableKeys");M.getOwnEnumerableKeys=Xw;function xu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(xu,"isObject");M.isObject=xu;function ev(e){return xu(e)&&Array.isArray(e)}o(ev,"isArray");M.isArray=ev;function tv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(tv,"isTypedArray");M.isTypedArray=tv;function rv(e){return typeof e=="number"&&!isNaN(e)}o(rv,"isNumber");M.isNumber=rv;function nv(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(nv,"isIterable");M.isIterable=nv;function iv(e){return e===!0||e===!1}o(iv,"isBoolean");M.isBoolean=iv;function Hh(e){return typeof e>"u"}o(Hh,"isUndefined");M.isUndefined=Hh;function ov(e){return!ei(e)}o(ov,"isDefined");M.isDefined=ov;function ei(e){return Hh(e)||e===null}o(ei,"isUndefinedOrNull");M.isUndefinedOrNull=ei;function sv(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(sv,"assertType");M.assertType=sv;function av(e){if(ei(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(av,"assertIsDefined");M.assertIsDefined=av;function cv(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ei(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(cv,"assertAllDefined");M.assertAllDefined=cv;var uv=Object.prototype.hasOwnProperty;function lv(e){if(!xu(e))return!1;for(let t in e)if(uv.call(e,t))return!1;return!0}o(lv,"isEmptyObject");M.isEmptyObject=lv;function Cu(e){return typeof e=="function"}o(Cu,"isFunction");M.isFunction=Cu;function dv(...e){return e.length>0&&e.every(Cu)}o(dv,"areFunctions");M.areFunctions=dv;function pv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Fh(e[n],t[n])}o(pv,"validateConstraints");M.validateConstraints=pv;function Fh(e,t){if(Io(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Cu(t)){try{if(e instanceof t)return}catch{}if(!ei(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(Fh,"validateConstraint");M.validateConstraint=Fh;function hv(e){return e===null?void 0:e}o(hv,"withNullAsUndefined");M.withNullAsUndefined=hv;function fv(e){return typeof e>"u"?null:e}o(fv,"withUndefinedAsNull");M.withUndefinedAsNull=fv;function mv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(mv,"isErrorLike");M.isErrorLike=mv});var ti=g(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.parseValueToBoolean=yt.parseValueToStringArray=yt.getValueFromRequestUser=yt.statusCodesStringToNumberArray=void 0;var Wr=D(),Lu=Yt(),qh=new Map;function yv(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=qh.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 qh.set(e,n),n}o(yv,"statusCodesStringToNumberArray");yt.statusCodesStringToNumberArray=yv;function gv(e,t,r){if(!t.startsWith("."))throw new Wr.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 Wr.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(gv,"getValueFromRequestUser");yt.getValueFromRequestUser=gv;function bv(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Wr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Lu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Wr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(bv,"parseValueToStringArray");yt.parseValueToStringArray=bv;function _v(e){if((0,Lu.isBoolean)(e))return e;if((0,Lu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Wr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Wr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(_v,"parseValueToBoolean");yt.parseValueToBoolean=_v});var Ro=g(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Or=D(),$h=ti(),Ao=Yt();function Ev(e){if(e==null)return[];if(!Array.isArray(e))throw new Or.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Ao.isObject)(r))throw new Or.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Ao.isNonEmptyString)(r.name))throw new Or.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Ao.isNumber)(r.maxAge))throw new Or.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,Ao.isBoolean)(r.allowCredentials))throw new Or.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=Du(r,"allowedHeaders"),i=Du(r,"allowedMethods"),s=Du(r,"exposeHeaders"),a;try{a=(0,$h.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Or.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(Ev,"parseCorsPolicies");Zt.parseCorsPolicies=Ev;function Du(e,t){let r;if(e[t]!==void 0)try{r=(0,$h.parseValueToStringArray)(e[t])}catch(n){throw new Or.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(Du,"parseOptionalProperty");var wv=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=wv;var vv=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=vv});var Vh=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.registerCorsRoute=void 0;var Tv=D(),Sv=Wt(),Uu=le(),Iv=Rr(),Av=Pr(),Rv=mt(),jh=Ro(),Pv=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 Uu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let y=e.lookup(l,u);if(!y)return Uu.HttpProblems.notFound(a,c);let h=y.routeConfiguration,m=Ov(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),Uu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new Sv.Pipeline({processors:[Iv.metricsProcessor],handler:n,gateway:t}),s=new Rv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Av.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");Po.registerCorsRoute=Pv;var Ov=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 Tv.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,jh.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,jh.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Gh=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.registerNoRoutes=void 0;var Nv=Wt(),xv=Rr(),Cv=Pr(),Lv=mt(),Dv=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 Nv.Pipeline({processors:[xv.metricsProcessor],handler:r,gateway:t}),i=new Lv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Cv.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Oo.registerNoRoutes=Dv});var Bh=g(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.registerNotMatchedHandler=Nr.notFoundRouteConfiguration=void 0;var Uv=Ir(),Mv=xt(),kv=Wt(),Hv=le(),Fv=Rr(),qv=Pr(),$v=mt();Nr.notFoundRouteConfiguration=new $v.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:qv.SystemRouteName.UnmatchedPath});var jv=o((e,t)=>{let r=o(async(i,s)=>{let a=Mv.runtimeExtensions.value?.notFoundHandler;if(a){let c=Uv.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Hv.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new kv.Pipeline({processors:[Fv.metricsProcessor],handler:r,gateway:t});e.addRoute(Nr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Nr.registerNotMatchedHandler=jv});var Mu=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.corsProcessor=void 0;var zh=D(),Kh=Ro(),Vv=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Jh=o(e=>{Vv.forEach(t=>e.delete(t))},"stripCorsHeaders"),Gv=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 Jh(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 zh.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=Bv(i,r.routeData.corsPolicies),c=Kv(e,a),u=new Headers(s.headers);return Jh(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");No.corsProcessor=Gv;var Bv=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 zh.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),Kv=o((e,t)=>{let r=(0,Kh.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,Kh.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Wh=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.registerPingRoute=void 0;var Jv=Wt(),zv=Mu(),Wv=Pr(),Qv=mt(),Yv=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new Jv.Pipeline({processors:[zv.corsProcessor],handler:r,gateway:t}),i=new Qv.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:Wv.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");xo.registerPingRoute=Yv});var Yh=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.deepFreeze=void 0;function Qh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Qh(r)}return Object.freeze(e)}o(Qh,"deepFreeze");Co.deepFreeze=Qh});var Je=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.ZuploRequest=void 0;var Zh=Yh(),ku=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,Zh.deepFreeze)(this.#e)}get params(){return(0,Zh.deepFreeze)(this.#t)}user};Lo.ZuploRequest=ku});var ri=g(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.policyProcessor=Lt.toStackedInboundHandler=Lt.getInboundPolicyHandlerAndOptions=void 0;var Zv=Ir(),Qr=D(),Xh=Je(),Xv=ee();function ef(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 Qr.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 Qr.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(ef,"getInboundPolicyHandlerAndOptions");Lt.getInboundPolicyHandlerAndOptions=ef;function eT(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Qr.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 Qr.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(eT,"getOutboundPolicyHandlerAndOptions");var tT=o(e=>async(t,r)=>{let n=Zv.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 Xh.ZuploRequest)s=c;else if(c instanceof Request)s=new Xh.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Qr.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");Lt.toStackedInboundHandler=tT;var rT=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 Qr.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"),nT=o(async(e,t,r,n)=>{let i=ef(t.route,r.routeData.policies),s=eT(t.route,r.routeData.policies),a=(0,Lt.toStackedInboundHandler)(i);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await n(c),l=rT(s),d;return Xv.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),r.errorHandler(e,t,c)}},"policyProcessor");Lt.policyProcessor=nT});var tf=g(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.serialize=Yr.parse=void 0;var iT=Object.prototype.toString,Do=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function oT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||aT,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]=lT(l,i)}s=c+1}return r}o(oT,"parse");Yr.parse=oT;function sT(e,t,r){let n=r||{},i=n.encode||cT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Do.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Do.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(!Do.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Do.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!uT(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(sT,"serialize");Yr.serialize=sT;function aT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(aT,"decode");function cT(e){return encodeURIComponent(e)}o(cT,"encode");function uT(e){return iT.call(e)==="[object Date]"||e instanceof Date}o(uT,"isDate");function lT(e,t){try{return t(e)}catch{return e}}o(lT,"tryDecode")});var rf=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.devPortalBaseURL=void 0;var dT=tf();function pT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,dT.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(pT,"devPortalBaseURL");Uo.devPortalBaseURL=pT});var cf=g(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.registerDevPortalLegacyRedirectRoute=Zr.registerDevPortalV3Route=void 0;var Hu=Ct(),of=Wt(),sf=Rr(),hT=ri(),af=mt(),fT=rf(),Xt=ee(),nf="/__zuplo/dev-portal",mT="dev-portal-id",yT="dev-portal-host",gT="zp-account",bT="zp-project",_T="dev-portal-build",ET=`
35
+ `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(zE,"reduceToSingleString")});var mh=g(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.format=void 0;var WE=ch(),QE=fh(),YE=o((e,...t)=>(0,WE.format)(QE.inspect,e,t),"format");no.format=YE});var vr=g(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.debug=Bt.withoutEnv=Bt.Debugger=void 0;var ZE=ah(),XE=mh(),io=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,ZE.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,XE.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Bt.Debugger=io;var oo=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function yh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(yh,"extract");var Wn;function ew(e){e||(e=[]),typeof e=="string"&&(e=yh(e)),Wn=new oo(e)}o(ew,"withoutEnv");Bt.withoutEnv=ew;function tw(e){let t=globalThis.DEBUG;Wn||(Wn=new oo(yh(t)));let r=new io(Wn,e);return Wn.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(tw,"debug");Bt.debug=tw});var ao=g($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.ProblemResponseFormatter=$r.InternalProblemResponseFormatter=void 0;var rw=L(),so=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 rw.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};$r.InternalProblemResponseFormatter=so;var uu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await so.problemResponseFormat(t,r,n)}};$r.ProblemResponseFormatter=uu});var Ot=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.InitializableRuntimePlugin=ye.RuntimePlugin=void 0;var nw=ao(),uo=class{static{o(this,"RuntimePlugin")}};ye.RuntimePlugin=uo;var lo=class extends uo{static{o(this,"InitializableRuntimePlugin")}};ye.InitializableRuntimePlugin=lo;ye.runtimeExtensions={};var lu=[];ye.plugins=lu;var gh=[],bh=[],_h=[],co={addPlugin(e){lu.push(e)},addRequestHook(e){gh.push(e)},addResponseSendingHook(e){bh.push(e)},addResponseSendingFinalHook(e){_h.push(e)}},iw=o(async(e,t)=>{let r=e;for(let n of gh)if(r=await n(r,t),r instanceof Response)return r;return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=iw;var ow=o(async(e,t,r)=>{let n=e;for(let i of bh)n=await i(e,t,r);return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=ow;var sw=o(async(e,t,r)=>{for(let n of _h)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=sw;async function aw(e=()=>Promise.resolve()){await e(co),ye.runtimeExtensions.value=co;let t=lu.filter(r=>r instanceof lo);for(let r of t)await r.initialize(co);nw.InternalProblemResponseFormatter.setProblemResponseFormat(co.problemResponseFormat)}o(aw,"initializeRuntime");ye.initializeRuntime=aw});var du=g(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.serialize=Kt.ContentTypes=void 0;Kt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function cw(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Kt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Kt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(cw,"serialize");Kt.serialize=cw});var Jt=g(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.Pipeline=void 0;var pu=Tr(),Eh=Ot(),uw=du(),hu=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 m=>{let v=a.pop();return v?v(i,s,r,c):await this.#e(async S=>{let k=await n(S,s);return lw(k)},r)(m,s)},"nextPipe"),l=await c(i),d=new pu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=pu.ZuploContextExtensions.getContextExtensions(s),y=p.latestRequest,h;try{h=await d.mutableResponse}catch(m){return s.log.error(m),r.errorHandler(i,s,m)}try{h=await p.onResponseSending(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),r.errorHandler(i,s,m)}try{h=await(0,Eh.invokeOnResponseSendingExtensions)(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),r.errorHandler(i,s,m)}s.dispatchEvent(new pu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}try{await(0,Eh.invokeOnResponseSendingFinalExtensions)(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}return h}};po.Pipeline=hu;function lw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,uw.serialize)(e),{headers:{"content-type":"application/json"}})}o(lw,"resultToResponse")});var fo=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.MetricsPlugin=void 0;var dw=Ot(),fu=class extends dw.RuntimePlugin{static{o(this,"MetricsPlugin")}};ho.MetricsPlugin=fu});var Ge=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.SystemLogMap=void 0;var pw=L(),mu=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 pw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};mo.SystemLogMap=mu});var ve=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.BatchDispatch=void 0;var yu=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}};yo.BatchDispatch=yu});var vh=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.EllieMetricsTransport=void 0;var wh=Ge(),hw=ve(),go=ee(),gu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=go.Environment.instance.loggingId,this.#e=t,this.#t=new hw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,wh.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}=go.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":go.Environment.instance.deploymentName??"unknown","user-agent":go.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();wh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};bo.EllieMetricsTransport=gu});var ft=g(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.systemNoVersion=Sr.SystemRouteConfiguration=void 0;var bu=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=Sr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Sr.SystemRouteConfiguration=bu;Sr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Ir=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.metricsProcessor=void 0;var Th=zn(),fw=Tr(),mw=Ot(),yw=fo(),gw=vh(),bw=ft(),_w=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(Th.RAY_ID_HEADER)??void 0,u=e.headers.get(Th.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof bw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=fw.ZuploContextExtensions.getContextExtensions(t).latestRequest,y={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 gw.EllieMetricsTransport(t)),mw.plugins.forEach(m=>{if(m instanceof yw.MetricsPlugin){let v=m.getTransport();h.push(v)}}),h.forEach(m=>{m.pushMetrics(y,t)}),a},"metricsProcessor");_o.metricsProcessor=_w});var Ih=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.SystemRouteName=void 0;var Sh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(Sh||(Eo.SystemRouteName=Sh={}))});var Ph=g(Ah=>{"use strict";Object.defineProperty(Ah,"__esModule",{value:!0})});var Ar=g(zt=>{"use strict";var Ew=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]}),Rh=zt&&zt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Ew(t,e,r)};Object.defineProperty(zt,"__esModule",{value:!0});Rh(Ih(),zt);Rh(Ph(),zt)});var Oh=g(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.registerBuildRoute=void 0;var ww=xt(),vw=Jt(),Tw=Ir(),Sw=Ar(),Iw=ft(),Aw=Ge(),Pw=ee(),Rw=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 ww.HttpProblems.notFound(s,a);let l=Pw.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"&&Aw.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 vw.Pipeline({processors:[Tw.metricsProcessor],handler:r,gateway:t}),i=new Iw.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Sw.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");wo.registerBuildRoute=Rw});var _u=g(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.HTTP_STATUS_TITLES=jr.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||(jr.HttpStatusCode=xh={}));jr.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 wu=g(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});var Ow={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"};Eu.default=Ow});var pe=g(Vr=>{"use strict";var xw=Vr&&Vr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Vr,"__esModule",{value:!0});Vr.HttpProblems=void 0;var Nw=zn(),O=_u(),Cw=xw(wu()),Lw=ee(),vu=ao();function Dw(e){return`${new URL(e.url).pathname}`}o(Dw,"instance");function Uw(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Lw.Environment.instance.build.BUILD_ID},n=e.headers.get(Nw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Uw,"trace");var Mw=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Dw(t),trace:Uw(t,r),...n},additionalHeaders:i,statusText:Cw.default[e.status]}),"merge"),Tu=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?vu.ProblemResponseFormatter.format(t,r,n):vu.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}}},Su=class extends Tu{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=Mw(this.getProblemFromStatus(t),r,n,i,s);return vu.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)};Vr.HttpProblems=Su});var Wt=g(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:kw}=Object.prototype,{propertyIsEnumerable:Hw}=Object.prototype;function Nh(e){return kw.call(e)}o(Nh,"toString");U.toString=Nh;function vo(e){return typeof e=="string"}o(vo,"isString");U.isString=vo;function Fw(e){return vo(e)&&e!==""}o(Fw,"isNonEmptyString");U.isNonEmptyString=Fw;function qw(e){return Array.isArray(e)&&e.every(t=>vo(t))}o(qw,"isStringArray");U.isStringArray=qw;function $w(e){return Nh(e)==="[object RegExp]"}o($w,"isRegexp");U.isRegexp=$w;function jw(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Hw.call(e,t))]}o(jw,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=jw;function Iu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(Iu,"isObject");U.isObject=Iu;function Vw(e){return Iu(e)&&Array.isArray(e)}o(Vw,"isArray");U.isArray=Vw;function Gw(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(Gw,"isTypedArray");U.isTypedArray=Gw;function Bw(e){return typeof e=="number"&&!isNaN(e)}o(Bw,"isNumber");U.isNumber=Bw;function Kw(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(Kw,"isIterable");U.isIterable=Kw;function Jw(e){return e===!0||e===!1}o(Jw,"isBoolean");U.isBoolean=Jw;function Ch(e){return typeof e>"u"}o(Ch,"isUndefined");U.isUndefined=Ch;function zw(e){return!Qn(e)}o(zw,"isDefined");U.isDefined=zw;function Qn(e){return Ch(e)||e===null}o(Qn,"isUndefinedOrNull");U.isUndefinedOrNull=Qn;function Ww(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(Ww,"assertType");U.assertType=Ww;function Qw(e){if(Qn(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(Qw,"assertIsDefined");U.assertIsDefined=Qw;function Yw(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(Qn(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(Yw,"assertAllDefined");U.assertAllDefined=Yw;var Zw=Object.prototype.hasOwnProperty;function Xw(e){if(!Iu(e))return!1;for(let t in e)if(Zw.call(e,t))return!1;return!0}o(Xw,"isEmptyObject");U.isEmptyObject=Xw;function Au(e){return typeof e=="function"}o(Au,"isFunction");U.isFunction=Au;function ev(...e){return e.length>0&&e.every(Au)}o(ev,"areFunctions");U.areFunctions=ev;function tv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Lh(e[n],t[n])}o(tv,"validateConstraints");U.validateConstraints=tv;function Lh(e,t){if(vo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Au(t)){try{if(e instanceof t)return}catch{}if(!Qn(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(Lh,"validateConstraint");U.validateConstraint=Lh;function rv(e){return e===null?void 0:e}o(rv,"withNullAsUndefined");U.withNullAsUndefined=rv;function nv(e){return typeof e>"u"?null:e}o(nv,"withUndefinedAsNull");U.withUndefinedAsNull=nv;function iv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(iv,"isErrorLike");U.isErrorLike=iv});var Yn=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.parseValueToBoolean=mt.parseValueToStringArray=mt.getValueFromRequestUser=mt.statusCodesStringToNumberArray=void 0;var Gr=L(),Pu=Wt(),Dh=new Map;function ov(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=Dh.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 Dh.set(e,n),n}o(ov,"statusCodesStringToNumberArray");mt.statusCodesStringToNumberArray=ov;function sv(e,t,r){if(!t.startsWith("."))throw new Gr.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 Gr.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(sv,"getValueFromRequestUser");mt.getValueFromRequestUser=sv;function av(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Gr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Pu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Gr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(av,"parseValueToStringArray");mt.parseValueToStringArray=av;function cv(e){if((0,Pu.isBoolean)(e))return e;if((0,Pu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Gr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Gr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(cv,"parseValueToBoolean");mt.parseValueToBoolean=cv});var So=g(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.generateCorsHeaders=Qt.findMatchingOrigin=Qt.parseCorsPolicies=void 0;var Pr=L(),Uh=Yn(),To=Wt();function uv(e){if(e==null)return[];if(!Array.isArray(e))throw new Pr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,To.isObject)(r))throw new Pr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,To.isNonEmptyString)(r.name))throw new Pr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,To.isNumber)(r.maxAge))throw new Pr.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,To.isBoolean)(r.allowCredentials))throw new Pr.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=Ru(r,"allowedHeaders"),i=Ru(r,"allowedMethods"),s=Ru(r,"exposeHeaders"),a;try{a=(0,Uh.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Pr.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(uv,"parseCorsPolicies");Qt.parseCorsPolicies=uv;function Ru(e,t){let r;if(e[t]!==void 0)try{r=(0,Uh.parseValueToStringArray)(e[t])}catch(n){throw new Pr.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(Ru,"parseOptionalProperty");var lv=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");Qt.findMatchingOrigin=lv;var dv=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");Qt.generateCorsHeaders=dv});var kh=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.registerCorsRoute=void 0;var pv=L(),hv=Jt(),Ou=pe(),fv=Ir(),mv=Ar(),yv=ft(),Mh=So(),gv=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 Ou.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let y=e.lookup(l,u);if(!y)return Ou.HttpProblems.notFound(a,c);let h=y.routeConfiguration,m=bv(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),Ou.HttpProblems.notFound(a,c))},"optionsHandler"),i=new hv.Pipeline({processors:[fv.metricsProcessor],handler:n,gateway:t}),s=new yv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:mv.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");Io.registerCorsRoute=gv;var bv=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 pv.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Mh.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Mh.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Hh=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.registerNoRoutes=void 0;var _v=Jt(),Ev=Ir(),wv=Ar(),vv=ft(),Tv=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 _v.Pipeline({processors:[Ev.metricsProcessor],handler:r,gateway:t}),i=new vv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:wv.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Ao.registerNoRoutes=Tv});var Fh=g(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.registerNotMatchedHandler=Rr.notFoundRouteConfiguration=void 0;var Sv=Tr(),Iv=Ot(),Av=Jt(),Pv=pe(),Rv=Ir(),Ov=Ar(),xv=ft();Rr.notFoundRouteConfiguration=new xv.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Ov.SystemRouteName.UnmatchedPath});var Nv=o((e,t)=>{let r=o(async(i,s)=>{let a=Iv.runtimeExtensions.value?.notFoundHandler;if(a){let c=Sv.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Pv.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new Av.Pipeline({processors:[Rv.metricsProcessor],handler:r,gateway:t});e.addRoute(Rr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Rr.registerNotMatchedHandler=Nv});var xu=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.corsProcessor=void 0;var jh=L(),qh=So(),Cv=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],$h=o(e=>{Cv.forEach(t=>e.delete(t))},"stripCorsHeaders"),Lv=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 $h(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 jh.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=Dv(i,r.routeData.corsPolicies),c=Uv(e,a),u=new Headers(s.headers);return $h(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");Po.corsProcessor=Lv;var Dv=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 jh.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),Uv=o((e,t)=>{let r=(0,qh.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,qh.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Vh=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.registerPingRoute=void 0;var Mv=Jt(),kv=xu(),Hv=Ar(),Fv=ft(),qv=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new Mv.Pipeline({processors:[kv.corsProcessor],handler:r,gateway:t}),i=new Fv.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:Hv.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Ro.registerPingRoute=qv});var Bh=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.deepFreeze=void 0;function Gh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Gh(r)}return Object.freeze(e)}o(Gh,"deepFreeze");Oo.deepFreeze=Gh});var Be=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.ZuploRequest=void 0;var Kh=Bh(),Nu=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,Kh.deepFreeze)(this.#e)}get params(){return(0,Kh.deepFreeze)(this.#t)}user};xo.ZuploRequest=Nu});var Zn=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.policyProcessor=Nt.toStackedInboundHandler=Nt.getInboundPolicyHandlerAndOptions=void 0;var $v=Tr(),Br=L(),Jh=Be(),jv=ee();function zh(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 Br.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 Br.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(zh,"getInboundPolicyHandlerAndOptions");Nt.getInboundPolicyHandlerAndOptions=zh;function Vv(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Br.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 Br.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(Vv,"getOutboundPolicyHandlerAndOptions");var Gv=o(e=>async(t,r)=>{let n=$v.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 Jh.ZuploRequest)s=c;else if(c instanceof Request)s=new Jh.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Br.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");Nt.toStackedInboundHandler=Gv;var Bv=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 Br.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"),Kv=o(async(e,t,r,n)=>{let i=zh(t.route,r.routeData.policies),s=Vv(t.route,r.routeData.policies),a=(0,Nt.toStackedInboundHandler)(i);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await n(c),l=Bv(s),d;return jv.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),r.errorHandler(e,t,c)}},"policyProcessor");Nt.policyProcessor=Kv});var Wh=g(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.serialize=Kr.parse=void 0;var Jv=Object.prototype.toString,No=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function zv(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||Qv,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]=Xv(l,i)}s=c+1}return r}o(zv,"parse");Kr.parse=zv;function Wv(e,t,r){let n=r||{},i=n.encode||Yv;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!No.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!No.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(!No.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!No.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!Zv(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(Wv,"serialize");Kr.serialize=Wv;function Qv(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(Qv,"decode");function Yv(e){return encodeURIComponent(e)}o(Yv,"encode");function Zv(e){return Jv.call(e)==="[object Date]"||e instanceof Date}o(Zv,"isDate");function Xv(e,t){try{return t(e)}catch{return e}}o(Xv,"tryDecode")});var Qh=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.devPortalBaseURL=void 0;var eT=Wh();function tT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,eT.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(tT,"devPortalBaseURL");Co.devPortalBaseURL=tT});var tf=g(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.registerDevPortalLegacyRedirectRoute=Jr.registerDevPortalV3Route=void 0;var Cu=xt(),Zh=Jt(),Xh=Ir(),rT=Zn(),ef=ft(),nT=Qh(),Yt=ee(),Yh="/__zuplo/dev-portal",iT="dev-portal-id",oT="dev-portal-host",sT="zp-account",aT="zp-project",cT="dev-portal-build",uT=`
36
36
  <!DOCTYPE html>
37
37
  <html lang="en">
38
38
  <head>
@@ -46,33 +46,33 @@
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
- `,wT=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(ET,{headers:{"content-type":"text/html"}});if(!n)return Hu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,fT.devPortalBaseURL)(i,u.headers),y=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:m,body:v}=u;return Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(gT,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(bT,Xt.Environment.instance.build.PROJECT_NAME),h.set(mT,n),h.set(yT,d.host),h.set(_T,Xt.Environment.instance.build.BUILD_ID),await fetch(y.toString(),{headers:h,method:m,body:v,redirect:"manual"})},"devPortalRoute"),a=new of.Pipeline({processors:[sf.metricsProcessor,hT.policyProcessor],handler:s,gateway:t}),c=new af.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Hu.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Zr.registerDevPortalV3Route=wT;var vT=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(nf.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new of.Pipeline({processors:[sf.metricsProcessor],handler:n,gateway:t}),s=new af.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${nf}(.*)`,systemRouteName:Hu.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Zr.registerDevPortalLegacyRedirectRoute=vT});var Fu=g(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.API_KEY=Xr.SYSTEM_LOGGER=void 0;Xr.SYSTEM_LOGGER="system-logger";Xr.API_KEY="api-key"});var uf=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.CoreLogger=void 0;var qu=0,$u=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){qu>=Number.MAX_SAFE_INTEGER&&(qu=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:qu++};this.#t[t](c,a)}};Mo.CoreLogger=$u});var Dt=g(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.LogPlugin=void 0;var TT=xt(),ju=class extends TT.RuntimePlugin{static{o(this,"LogPlugin")}};ko.LogPlugin=ju});var lf=g(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.LoggingContext=void 0;var Vu=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)}};Ho.LoggingContext=Vu});var df=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.RequestLogger=void 0;var Gu=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)}};Fo.RequestLogger=Gu});var xr=g(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var pf=Yt(),ST=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),IT=new Map(ST),Bu=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=Bu;var AT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Ku=Symbol(".toJSON was called"),RT=o(e=>{e[Ku]=!0;let t=e.toJSON();return delete e[Ku],t},"toJSON"),PT=o(e=>IT.get(e)??Error,"getErrorConstructor"),hf=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,pf.isErrorLike)(e)){let l=PT(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[Ku]!==!0)return RT(e);let u=o(l=>hf({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 AT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,pf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function OT(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?hf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o(OT,"serializeError");er.serializeError=OT;var NT=/file:\/\/\/(.*?)\/dist\//g,xT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,CT="at async Event.respondWith";function LT(e){return typeof e!="string"?e:e.split(`
50
- `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(NT,"").replaceAll(xT,"").replaceAll(CT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
- `)}o(LT,"cleanStack");er.cleanStack=LT});var ff=g(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});var Ju=Yt();function DT(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
+ `,lT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Yt.Environment.instance.deploymentName,i=Yt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Yt.Environment.instance.isLocalDevelopment)return new Response(uT,{headers:{"content-type":"text/html"}});if(!n)return Cu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,nT.devPortalBaseURL)(i,u.headers),y=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:m,body:v}=u;return Yt.Environment.instance.build.ACCOUNT_NAME&&h.set(sT,Yt.Environment.instance.build.ACCOUNT_NAME),Yt.Environment.instance.build.PROJECT_NAME&&h.set(aT,Yt.Environment.instance.build.PROJECT_NAME),h.set(iT,n),h.set(oT,d.host),h.set(cT,Yt.Environment.instance.build.BUILD_ID),await fetch(y.toString(),{headers:h,method:m,body:v,redirect:"manual"})},"devPortalRoute"),a=new Zh.Pipeline({processors:[Xh.metricsProcessor,rT.policyProcessor],handler:s,gateway:t}),c=new ef.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Cu.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Jr.registerDevPortalV3Route=lT;var dT=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(Yh.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Zh.Pipeline({processors:[Xh.metricsProcessor],handler:n,gateway:t}),s=new ef.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Yh}(.*)`,systemRouteName:Cu.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Jr.registerDevPortalLegacyRedirectRoute=dT});var Lu=g(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.API_KEY=zr.SYSTEM_LOGGER=void 0;zr.SYSTEM_LOGGER="system-logger";zr.API_KEY="api-key"});var rf=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.CoreLogger=void 0;var Du=0,Uu=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){Du>=Number.MAX_SAFE_INTEGER&&(Du=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:Du++};this.#t[t](c,a)}};Lo.CoreLogger=Uu});var Ct=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.LogPlugin=void 0;var pT=Ot(),Mu=class extends pT.RuntimePlugin{static{o(this,"LogPlugin")}};Do.LogPlugin=Mu});var nf=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.LoggingContext=void 0;var ku=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)}};Uo.LoggingContext=ku});var of=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.RequestLogger=void 0;var Hu=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)}};Mo.RequestLogger=Hu});var Or=g(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.cleanStack=Zt.serializeError=Zt.NonError=void 0;var sf=Wt(),hT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),fT=new Map(hT),Fu=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)}}};Zt.NonError=Fu;var mT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],qu=Symbol(".toJSON was called"),yT=o(e=>{e[qu]=!0;let t=e.toJSON();return delete e[qu],t},"toJSON"),gT=o(e=>fT.get(e)??Error,"getErrorConstructor"),af=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,sf.isErrorLike)(e)){let l=gT(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[qu]!==!0)return yT(e);let u=o(l=>af({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 mT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,sf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function bT(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?af({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o(bT,"serializeError");Zt.serializeError=bT;var _T=/file:\/\/\/(.*?)\/dist\//g,ET=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,wT="at async Event.respondWith";function vT(e){return typeof e!="string"?e:e.split(`
50
+ `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(_T,"").replaceAll(ET,"").replaceAll(wT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
+ `)}o(vT,"cleanStack");Zt.cleanStack=vT});var cf=g(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});var $u=Wt();function TT(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:`
52
52
  `,newlineOrSpace:`
53
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 y=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let m=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return m.length<=c.inlineCharacterLimit?m: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,Ju.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((m,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,S=s(m,c,u+d,l+1);return c.transform&&(S=c.transform(a,v,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),y(h)}if((0,Ju.isObject)(a)){let h=(0,Ju.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(v=>c.filter?.(a,v))),h.length===0)return"{}";n.push(a);let m="{"+p.newline+h.map((v,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,O=typeof v=="symbol",j=!O&&/^[a-z$_][$\w]*$/i.test(v),L=O||j?v:s(v,c,"",l+1),ne=s(a[v],c,u+d,l+1);return c.transform&&(ne=c.transform(a,v,ne)),p.indent+String(L)+": "+ne+S}).join("")+p.pad+"}";return n.pop(),y(m)}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(DT,"stringifyObject");zu.default=DT});var gt=g(Fe=>{"use strict";var UT=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 Wu=xr(),mf=UT(ff()),yf=Yt();function MT(e){return e.map(t=>(0,Wu.serializeError)(t))}o(MT,"makeErrorsSerializable");Fe.makeErrorsSerializable=MT;function kT(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:gf((0,Wu.serializeError)(t))}o(kT,"extractBestMessage");Fe.extractBestMessage=kT;function HT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,yf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,mf.default)((0,Wu.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,mf.default)(r);t.push(n)}else{let n=bf(r);t.push(n)}}),t.join(`
56
- `)}o(HT,"messagesToMultilineText");Fe.messagesToMultilineText=HT;function gf(e){return typeof e=="string"?e:JSON.stringify(e)}o(gf,"stringifyNonString");Fe.stringifyNonString=gf;function bf(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,yf.toString)(e):"unknown"}o(bf,"stringifyNonStringToText");Fe.stringifyNonStringToText=bf});var U,ae,Ie=I(()=>{U=crypto,ae=o(e=>e instanceof CryptoKey,"isCryptoKey")});var FT,qo,Qu=I(()=>{Ie();FT=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await U.subtle.digest(r,t))},"digest"),qo=FT});function Ae(...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 _f(e,t){return Ae(Y.encode(e),new Uint8Array([0]),t)}function Yu(e,t,r){if(t<0||t>=$o)throw new RangeError(`value must be >= 0 and <= ${$o-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function jo(e){let t=Math.floor(e/$o),r=e%$o,n=new Uint8Array(8);return Yu(n,t,0),Yu(n,r,4),n}function Vo(e){let t=new Uint8Array(4);return Yu(t,e),t}function Go(e){return Ae(Vo(e.length),e)}async function Ef(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(Vo(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await qo("sha256",a),s*32)}return i.slice(0,t>>3)}var Y,ue,$o,_e=I(()=>{Qu();Y=new TextEncoder,ue=new TextDecoder,$o=2**32;o(Ae,"concat");o(_f,"p2s");o(Yu,"writeUInt32BE");o(jo,"uint64be");o(Vo,"uint32be");o(Go,"lengthAndInput");o(Ef,"concatKdf")});var Bo,Z,Zu,te,Re=I(()=>{_e();Bo=o(e=>{let t=e;typeof t=="string"&&(t=Y.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"),Z=o(e=>Bo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Zu=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 Zu(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Xu={};Wi(Xu,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>me,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>Ut,JWEInvalid:()=>R,JWKInvalid:()=>ni,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ii,JWKSNoMatchingKey:()=>Cr,JWKSTimeout:()=>oi,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Lr,JWTClaimValidationFailed:()=>Ee,JWTExpired:()=>en,JWTInvalid:()=>pe});var me,Ee,en,tr,k,Ut,R,z,pe,ni,rr,Cr,ii,oi,Lr,V=I(()=>{me=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)}},Ee=class extends me{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}},en=class extends me{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 me{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 me{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ut=class extends me{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"}},R=class extends me{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends me{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},pe=class extends me{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ni=class extends me{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends me{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Cr=class extends me{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 me{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 me{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Lr=class extends me{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(()=>{Ie();nr=U.getRandomValues.bind(U)});function el(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 Ko,Jo=I(()=>{V();si();o(el,"bitLength");Ko=o(e=>nr(new Uint8Array(el(e)>>3)),"default")});var qT,zo,tl=I(()=>{V();Jo();qT=o((e,t)=>{if(t.length<<3!==el(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),zo=qT});var $T,tn,rl=I(()=>{V();$T=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),tn=$T});var jT,vf,Tf=I(()=>{jT=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"),vf=jT});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 Wo(e){return parseInt(e.name.slice(4),10)}function VT(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Sf(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 If(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(Wo(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(Wo(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(Wo(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=VT(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Sf(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(Wo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Sf(e,r)}var or=I(()=>{o(Pe,"unusable");o(ir,"isAlgorithm");o(Wo,"getHashLength");o(VT,"getNamedCurve");o(Sf,"checkUsage");o(If,"checkSigCryptoKey");o(qe,"checkEncCryptoKey")});function Af(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 nl(e,t,...r){return Af(`Key for the ${e} algorithm must be `,t,...r)}var oe,st=I(()=>{o(Af,"message");oe=o((e,...t)=>Af("Key must be ",e,...t),"default");o(nl,"withAlg")});var il,W,at=I(()=>{Ie();il=o(e=>ae(e),"default"),W=["CryptoKey"]});async function GT(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(oe(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=Ae(s,n,r,jo(s.length<<3)),d=new Uint8Array((await U.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=vf(i,d)}catch{}if(!p)throw new Ut;let y;try{y=new Uint8Array(await U.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!y)throw new Ut;return y}async function BT(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,Ae(r,i)))}catch{throw new Ut}}var KT,Qo,ol=I(()=>{_e();tl();rl();Tf();V();Ie();or();st();at();o(GT,"cbcDecrypt");o(BT,"gcmDecrypt");KT=o(async(e,t,r,n,i,s)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...W,"Uint8Array"));switch(zo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&tn(t,parseInt(e.slice(-3),10)),GT(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&tn(t,parseInt(e.slice(1,4),10)),BT(e,t,r,n,i,s);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Qo=KT});var Rf,Pf,sl=I(()=>{V();Rf=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"),Pf=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 JT,bt,rn=I(()=>{JT=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"),bt=JT});function zT(e){return typeof e=="object"&&e!==null}function Q(e){if(!zT(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(zT,"isObjectLike");o(Q,"isObject")});var WT,nn,al=I(()=>{WT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],nn=WT});function Of(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Nf(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(oe(e,...W,"Uint8Array"))}var ai,ci,Yo=I(()=>{al();Ie();or();st();at();o(Of,"checkKeySize");o(Nf,"getCryptoKey");ai=o(async(e,t,r)=>{let n=await Nf(t,e,"wrapKey");Of(n,e);let i=await U.subtle.importKey("raw",r,...nn);return new Uint8Array(await U.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ci=o(async(e,t,r)=>{let n=await Nf(t,e,"unwrapKey");Of(n,e);let i=await U.subtle.unwrapKey("raw",r,n,"AES-KW",...nn);return new Uint8Array(await U.subtle.exportKey("raw",i))},"unwrap")});async function Zo(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...W));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...W));qe(t,"ECDH","deriveBits");let a=Ae(Go(Y.encode(r)),Go(i),Go(s),Vo(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 Ef(u,n,a)}async function xf(e){if(!ae(e))throw new TypeError(oe(e,...W));return U.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function Xo(e){if(!ae(e))throw new TypeError(oe(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var cl=I(()=>{_e();Ie();or();st();at();o(Zo,"deriveKey");o(xf,"generateEpk");o(Xo,"ecdhAllowed")});function ul(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var Lf=I(()=>{V();o(ul,"checkP2s")});function QT(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(oe(e,...W,"Uint8Array"))}async function Df(e,t,r,n){ul(e);let i=_f(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 QT(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 Uf,Mf,ll=I(()=>{si();_e();Re();Yo();Lf();Ie();or();st();at();o(QT,"getCryptoKey");o(Df,"deriveKey");Uf=o(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let s=await Df(i,e,n,t);return{encryptedKey:await ai(e.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),Mf=o(async(e,t,r,n,i)=>{let s=await Df(i,e,n,t);return ci(e.slice(-6),s,r)},"decrypt")});function on(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 kf=I(()=>{V();o(on,"subtleRsaEs")});var Dr,es=I(()=>{Dr=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 Hf,Ff,dl=I(()=>{kf();al();Ie();or();es();st();at();Hf=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...W));if(qe(t,e,"encrypt","wrapKey"),Dr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await U.subtle.encrypt(on(e),t,r));if(t.usages.includes("wrapKey")){let n=await U.subtle.importKey("raw",r,...nn);return new Uint8Array(await U.subtle.wrapKey("raw",n,t,on(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Ff=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...W));if(qe(t,e,"decrypt","unwrapKey"),Dr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await U.subtle.decrypt(on(e),t,r));if(t.usages.includes("unwrapKey")){let n=await U.subtle.unwrapKey("raw",r,t,on(e),...nn);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 _t,li=I(()=>{V();si();o(ui,"bitLength");_t=o(e=>nr(new Uint8Array(ui(e)>>3)),"default")});var pl,qf=I(()=>{pl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
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,$u.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((m,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,S=s(m,c,u+d,l+1);return c.transform&&(S=c.transform(a,v,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),y(h)}if((0,$u.isObject)(a)){let h=(0,$u.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(v=>c.filter?.(a,v))),h.length===0)return"{}";n.push(a);let m="{"+p.newline+h.map((v,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,k=typeof v=="symbol",j=!k&&/^[a-z$_][$\w]*$/i.test(v),C=k||j?v:s(v,c,"",l+1),re=s(a[v],c,u+d,l+1);return c.transform&&(re=c.transform(a,v,re)),p.indent+String(C)+": "+re+S}).join("")+p.pad+"}";return n.pop(),y(m)}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(TT,"stringifyObject");ju.default=TT});var yt=g(ke=>{"use strict";var ST=ke&&ke.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ke,"__esModule",{value:!0});ke.stringifyNonStringToText=ke.stringifyNonString=ke.messagesToMultilineText=ke.extractBestMessage=ke.makeErrorsSerializable=void 0;var Vu=Or(),uf=ST(cf()),lf=Wt();function IT(e){return e.map(t=>(0,Vu.serializeError)(t))}o(IT,"makeErrorsSerializable");ke.makeErrorsSerializable=IT;function AT(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:df((0,Vu.serializeError)(t))}o(AT,"extractBestMessage");ke.extractBestMessage=AT;function PT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,lf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,uf.default)((0,Vu.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,uf.default)(r);t.push(n)}else{let n=pf(r);t.push(n)}}),t.join(`
56
+ `)}o(PT,"messagesToMultilineText");ke.messagesToMultilineText=PT;function df(e){return typeof e=="string"?e:JSON.stringify(e)}o(df,"stringifyNonString");ke.stringifyNonString=df;function pf(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,lf.toString)(e):"unknown"}o(pf,"stringifyNonStringToText");ke.stringifyNonStringToText=pf});var D,se,Te=I(()=>{D=crypto,se=o(e=>e instanceof CryptoKey,"isCryptoKey")});var RT,ko,Gu=I(()=>{Te();RT=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),ko=RT});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 hf(e,t){return Se(Y.encode(e),new Uint8Array([0]),t)}function Bu(e,t,r){if(t<0||t>=Ho)throw new RangeError(`value must be >= 0 and <= ${Ho-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Fo(e){let t=Math.floor(e/Ho),r=e%Ho,n=new Uint8Array(8);return Bu(n,t,0),Bu(n,r,4),n}function qo(e){let t=new Uint8Array(4);return Bu(t,e),t}function $o(e){return Se(qo(e.length),e)}async function ff(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(qo(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await ko("sha256",a),s*32)}return i.slice(0,t>>3)}var Y,ce,Ho,ge=I(()=>{Gu();Y=new TextEncoder,ce=new TextDecoder,Ho=2**32;o(Se,"concat");o(hf,"p2s");o(Bu,"writeUInt32BE");o(Fo,"uint64be");o(qo,"uint32be");o($o,"lengthAndInput");o(ff,"concatKdf")});var jo,Z,Ku,te,Ie=I(()=>{ge();jo=o(e=>{let t=e;typeof t=="string"&&(t=Y.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"),Z=o(e=>jo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Ku=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=ce.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Ku(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Ju={};Ki(Ju,{JOSEAlgNotAllowed:()=>Xt,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Lt,JWEInvalid:()=>P,JWKInvalid:()=>Xn,JWKSInvalid:()=>er,JWKSMultipleMatchingKeys:()=>ei,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>ti,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Nr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Wr,JWTInvalid:()=>ue});var he,be,Wr,Xt,M,Lt,P,z,ue,Xn,er,xr,ei,ti,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}},Wr=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}},Xt=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"}},M=class extends he{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Lt=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"}},P=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"}},ue=class extends he{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Xn=class extends he{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},er=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"}},ei=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"}},ti=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 tr,ri=I(()=>{Te();tr=D.getRandomValues.bind(D)});function zu(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 Vo,Go=I(()=>{V();ri();o(zu,"bitLength");Vo=o(e=>tr(new Uint8Array(zu(e)>>3)),"default")});var OT,Bo,Wu=I(()=>{V();Go();OT=o((e,t)=>{if(t.length<<3!==zu(e))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Bo=OT});var xT,Qr,Qu=I(()=>{V();xT=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new P(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Qr=xT});var NT,yf,gf=I(()=>{NT=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"),yf=NT});function Ae(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function rr(e,t){return e.name===t}function Ko(e){return parseInt(e.name.slice(4),10)}function CT(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function bf(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 _f(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!rr(e.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(t.slice(2),10);if(Ko(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!rr(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Ko(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!rr(e.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(t.slice(2),10);if(Ko(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!rr(e.algorithm,"ECDSA"))throw Ae("ECDSA");let n=CT(t);if(e.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}bf(e,r)}function He(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!rr(e.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!rr(e.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Ae("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!rr(e.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!rr(e.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Ko(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}bf(e,r)}var nr=I(()=>{o(Ae,"unusable");o(rr,"isAlgorithm");o(Ko,"getHashLength");o(CT,"getNamedCurve");o(bf,"checkUsage");o(_f,"checkSigCryptoKey");o(He,"checkEncCryptoKey")});function Ef(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 Yu(e,t,...r){return Ef(`Key for the ${e} algorithm must be `,t,...r)}var ie,ot=I(()=>{o(Ef,"message");ie=o((e,...t)=>Ef("Key must be ",e,...t),"default");o(Yu,"withAlg")});var Zu,W,st=I(()=>{Te();Zu=o(e=>se(e),"default"),W=["CryptoKey"]});async function LT(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 D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,Fo(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=yf(i,d)}catch{}if(!p)throw new Lt;let y;try{y=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!y)throw new Lt;return y}async function DT(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(He(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Lt}}var UT,Jo,Xu=I(()=>{ge();Wu();Qu();gf();V();Te();nr();ot();st();o(LT,"cbcDecrypt");o(DT,"gcmDecrypt");UT=o(async(e,t,r,n,i,s)=>{if(!se(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Bo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Qr(t,parseInt(e.slice(-3),10)),LT(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Qr(t,parseInt(e.slice(1,4),10)),DT(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Jo=UT});var wf,vf,el=I(()=>{V();wf=o(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=o(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 MT,gt,Yr=I(()=>{MT=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"),gt=MT});function kT(e){return typeof e=="object"&&e!==null}function Q(e){if(!kT(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 Fe=I(()=>{o(kT,"isObjectLike");o(Q,"isObject")});var HT,Zr,tl=I(()=>{HT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Zr=HT});function Tf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Sf(e,t,r){if(se(e))return He(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(ie(e,...W,"Uint8Array"))}var ni,ii,zo=I(()=>{tl();Te();nr();ot();st();o(Tf,"checkKeySize");o(Sf,"getCryptoKey");ni=o(async(e,t,r)=>{let n=await Sf(t,e,"wrapKey");Tf(n,e);let i=await D.subtle.importKey("raw",r,...Zr);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ii=o(async(e,t,r)=>{let n=await Sf(t,e,"unwrapKey");Tf(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...Zr);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function Wo(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(e))throw new TypeError(ie(e,...W));if(He(e,"ECDH"),!se(t))throw new TypeError(ie(t,...W));He(t,"ECDH","deriveBits");let a=Se($o(Y.encode(r)),$o(i),$o(s),qo(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 D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return ff(u,n,a)}async function If(e){if(!se(e))throw new TypeError(ie(e,...W));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function Qo(e){if(!se(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 rl=I(()=>{ge();Te();nr();ot();st();o(Wo,"deriveKey");o(If,"generateEpk");o(Qo,"ecdhAllowed")});function nl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var Pf=I(()=>{V();o(nl,"checkP2s")});function FT(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(se(e))return He(e,t,"deriveBits","deriveKey"),e;throw new TypeError(ie(e,...W,"Uint8Array"))}async function Rf(e,t,r,n){nl(e);let i=hf(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 FT(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Of,xf,il=I(()=>{ri();ge();Ie();zo();Pf();Te();nr();ot();st();o(FT,"getCryptoKey");o(Rf,"deriveKey");Of=o(async(e,t,r,n=2048,i=tr(new Uint8Array(16)))=>{let s=await Rf(i,e,n,t);return{encryptedKey:await ni(e.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),xf=o(async(e,t,r,n,i)=>{let s=await Rf(i,e,n,t);return ii(e.slice(-6),s,r)},"decrypt")});function Xr(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 Nf=I(()=>{V();o(Xr,"subtleRsaEs")});var Cr,Yo=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 Cf,Lf,ol=I(()=>{Nf();tl();Te();nr();Yo();ot();st();Cf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(He(t,e,"encrypt","wrapKey"),Cr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(Xr(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...Zr);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,Xr(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Lf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(He(t,e,"decrypt","unwrapKey"),Cr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(Xr(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,Xr(e),...Zr);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function oi(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 bt,si=I(()=>{V();ri();o(oi,"bitLength");bt=o(e=>tr(new Uint8Array(oi(e)>>3)),"default")});var sl,Df=I(()=>{sl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${t}-----
58
58
  ${r}
59
- -----END ${t}-----`},"default")});function jf(e){let t=[],r=0;for(;r<e.length;){let n=zf(e.subarray(r));t.push(n),r+=n.byteLength}return t}function zf(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 YT(e){let t=jf(jf(zf(e).contents)[0].contents);return Bo(t[t[0].raw[0]===160?6:5].raw)}function ZT(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Zu(t);return pl(YT(r),"PUBLIC KEY")}var Vf,Gf,Bf,sr,$f,Kf,Jf,hl,Wf,ts=I(()=>{Ie();st();Re();qf();V();at();Vf=o(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(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 pl(Bo(new Uint8Array(await U.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Gf=o(e=>Vf("public","spki",e),"toSPKI"),Bf=o(e=>Vf("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"),$f=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"),Kf=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=$f(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:$f(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"),Jf=o((e,t,r)=>Kf(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),hl=o((e,t,r)=>Kf(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(jf,"getElement");o(zf,"parseElement");o(YT,"spkiFromX509");o(ZT,"getSPKI");Wf=o((e,t,r)=>{let n;try{n=ZT(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return hl(n,t,r)},"fromX509")});function XT(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 eS,fl,Qf=I(()=>{Ie();V();Re();o(XT,"subtleMapping");eS=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}=XT(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"),fl=eS});async function Yf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return hl(e,t,r)}async function Zf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Wf(e,t,r)}async function Xf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Jf(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?fl({...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 fl({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var di=I(()=>{Re();ts();Qf();V();$e();o(Yf,"importSPKI");o(Zf,"importX509");o(Xf,"importPKCS8");o(ar,"importJWK")});var tS,rS,nS,cr,pi=I(()=>{st();at();tS=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!il(t))throw new TypeError(nl(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),rS=o((e,t,r)=>{if(!il(t))throw new TypeError(nl(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"),nS=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?tS(e,t):rS(e,t,r)},"checkKeyType"),cr=nS});async function iS(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(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=Ae(i,n,u,jo(i.length<<3)),d=new Uint8Array((await U.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function oS(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 sS,hi,ml=I(()=>{_e();tl();rl();Ie();or();st();V();at();o(iS,"cbcEncrypt");o(oS,"gcmEncrypt");sS=o(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...W,"Uint8Array"));switch(zo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&tn(r,parseInt(e.slice(-3),10)),iS(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&tn(r,parseInt(e.slice(1,4),10)),oS(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),hi=sS});async function em(e,t,r,n){let i=e.slice(0,7);n||(n=Ko(i));let{ciphertext:s,tag:a}=await hi(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function tm(e,t,r,n,i){let s=e.slice(0,7);return Qo(s,t,r,n,i,new Uint8Array(0))}var yl=I(()=>{ml();ol();Jo();Re();o(em,"wrap");o(tm,"unwrap")});async function aS(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Xo(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 R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await Zo(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 R("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 R("JWE Encrypted Key missing");return Ff(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Mf(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return ci(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return tm(e,t,r,s,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var rm,nm=I(()=>{Yo();cl();ll();dl();Re();V();li();di();pi();$e();yl();o(aS,"decryptKeyManagement");rm=aS});function cS(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 Et,sn=I(()=>{V();o(cS,"validateCrit");Et=cS});var uS,fi,gl=I(()=>{uS=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=uS});async function an(e,t,r){var n;if(!Q(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new R("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 R("JWE Protected Header is invalid")}if(!bt(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(Et(R,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new R('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 R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("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 y;try{y=await rm(a,t,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof R||j instanceof k)throw j;y=_t(c)}let h=te(e.iv),m=te(e.tag),v=Y.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Ae(v,Y.encode("."),Y.encode(e.aad)):T=v;let S=await Qo(c,y,te(e.ciphertext),h,m,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||Rf)(S));let O={plaintext:S};return e.protected!==void 0&&(O.protectedHeader=i),e.aad!==void 0&&(O.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(O.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(O.unprotectedHeader=e.header),p?{...O,key:t}:O}var rs=I(()=>{Re();ol();sl();V();rn();$e();nm();_e();li();sn();gl();o(an,"flattenedDecrypt")});async function ns(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("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 R("Invalid Compact JWE");let l=await an({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 bl=I(()=>{rs();V();_e();o(ns,"compactDecrypt")});async function im(e,t,r){if(!Q(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await an({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 om=I(()=>{rs();V();$e();o(im,"generalDecrypt")});var lS,sm,am=I(()=>{Ie();st();Re();at();lS=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:Z(e)};if(!ae(e))throw new TypeError(oe(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"),sm=lS});async function cm(e){return Gf(e)}async function um(e){return Bf(e)}async function is(e){return sm(e)}var _l=I(()=>{ts();ts();am();o(cm,"exportSPKI");o(um,"exportPKCS8");o(is,"exportJWK")});async function dS(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(!Xo(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 xf(r)).privateKey);let{x:p,y,crv:h,kty:m}=await is(d),v=await Zo(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:m}},m==="EC"&&(a.epk.y=y),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),e==="ECDH-ES"){c=v;break}c=n||_t(t);let T=e.slice(-6);s=await ai(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||_t(t),s=await Hf(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||_t(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Uf(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||_t(t),s=await ai(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||_t(t);let{iv:u}=i;({encryptedKey:s,...a}=await em(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 os,El=I(()=>{Yo();cl();ll();dl();Re();li();V();_l();pi();yl();o(dS,"encryptKeyManagement");os=dS});var wl,Mt,ss=I(()=>{Re();ml();sl();Jo();El();V();rn();_e();sn();wl=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 R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!bt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(Et(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('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 R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new R('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 m;({cek:c,encryptedKey:a,parameters:m}=await os(i,s,t,this._cek,this._keyManagementParameters)),m&&(r&&wl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=Ko(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Ae(l,Y.encode("."),Y.encode(d))):u=l;let p,y;if(n.zip==="DEF"){let m=await(r?.deflateRaw||Pf)(this._plaintext);({ciphertext:p,tag:y}=await hi(s,m,c,this._iv,u))}else({ciphertext:p,tag:y}=await hi(s,this._plaintext,c,this._iv,u));let h={ciphertext:Z(p),iv:Z(this._iv),tag:Z(y)};return a&&(h.encrypted_key=Z(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 vl,as,lm=I(()=>{ss();V();li();rn();El();Re();sn();vl=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}},as=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new vl(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 R("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(!bt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("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 R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(Et(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=_t(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 y={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:y}).encrypt(l.key,{...l.options,...t,[wl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:h,parameters:m}=await os(((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:y});d.encrypted_key=Z(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}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 Tl=I(()=>{V();o(mi,"subtleDsa")});function yi(e,t,r){if(ae(t))return If(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...W));return U.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...W,"Uint8Array"))}var Sl=I(()=>{Ie();or();st();at();o(yi,"getCryptoKey")});var pS,dm,pm=I(()=>{Tl();Ie();es();Sl();pS=o(async(e,t,r,n)=>{let i=await yi(e,t,"verify");Dr(e,i);let s=mi(e,i.algorithm);try{return await U.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),dm=pS});async function cn(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(!bt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=Et(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=Ae(Y.encode((n=e.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof e.payload=="string"?Y.encode(e.payload):e.payload),y=te(e.signature);if(!await dm(u,t,y,p))throw new Lr;let m;c?m=te(e.payload):typeof e.payload=="string"?m=Y.encode(e.payload):m=e.payload;let v={payload:m};return e.protected!==void 0&&(v.protectedHeader=i),e.header!==void 0&&(v.unprotectedHeader=e.header),d?{...v,key:t}:v}var cs=I(()=>{Re();pm();V();_e();rn();$e();pi();sn();gl();o(cn,"flattenedVerify")});async function us(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 cn({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 Il=I(()=>{cs();V();_e();o(us,"compactVerify")});async function hm(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 cn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Lr}var fm=I(()=>{cs();V();$e();o(hm,"generalVerify")});var un,Al=I(()=>{un=o(e=>Math.floor(e.getTime()/1e3),"default")});var hS,ln,Rl=I(()=>{hS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,ln=o(e=>{let t=hS.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 mm,fS,dn,ls=I(()=>{V();_e();Al();Rl();$e();mm=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),fS=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),dn=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||mm(e.typ)!==mm(n)))throw new Ee('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Q(i))throw new pe("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 Ee(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new Ee('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new Ee('unexpected "sub" claim value',"sub","check_failed");if(u&&!fS(i.aud,typeof u=="string"?[u]:u))throw new Ee('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=ln(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,y=un(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new Ee('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new Ee('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+d)throw new Ee('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new Ee('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-d)throw new en('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=y-i.iat,m=typeof l=="number"?l:ln(l);if(h-d>m)throw new en('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new Ee('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function ym(e,t,r){var n;let i=await us(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new pe("JWTs MUST NOT use unencoded payload");let a={payload:dn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var gm=I(()=>{Il();ls();V();o(ym,"jwtVerify")});async function bm(e,t,r){let n=await ns(e,t,r),i=dn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new Ee('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new Ee('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new Ee('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var _m=I(()=>{bl();ls();V();o(bm,"jwtDecrypt")});var pn,Pl=I(()=>{ss();pn=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 mS,Em,wm=I(()=>{Tl();Ie();es();Sl();mS=o(async(e,t,r)=>{let n=await yi(e,t,"sign");Dr(e,n);let i=await U.subtle.sign(mi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Em=mS});var ur,ds=I(()=>{Re();wm();rn();V();_e();pi();sn();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(!bt(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=Et(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=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Ae(u,Y.encode("."),c),d=await Em(a,t,l),p={signature:Z(d),payload:""};return s&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var hn,Ol=I(()=>{ds();hn=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 Nl,ps,vm=I(()=>{ds();V();Nl=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}},ps=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Nl(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,hs=I(()=>{Al();$e();Rl();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:un(new Date)+ln(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:un(new Date)+ln(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:un(new Date)}:this._payload={...this._payload,iat:t},this}}});var fs,Tm=I(()=>{Ol();V();_e();hs();fs=class extends lr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new hn(Y.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 pe("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var ms,Sm=I(()=>{Pl();_e();hs();ms=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 pn(Y.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 xl(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=Y.encode(JSON.stringify(r));return Z(await qo(t,n))}async function Im(e,t){t??(t="sha256");let r=await xl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,Am=I(()=>{Qu();Re();V();_e();$e();dr=o((e,t)=>{if(typeof e!="string"||!e)throw new ni(`${t} missing or invalid`)},"check");o(xl,"calculateJwkThumbprint");o(Im,"calculateJwkThumbprintUri")});async function Rm(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 Pm=I(()=>{di();$e();V();o(Rm,"EmbeddedJWK")});function yS(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 Cl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(gS)}function gS(e){return Q(e)}function bS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Om(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 Nm(e){let t=new gi(e);return async function(r,n){return t.getKey(r,n)}}var gi,Ll=I(()=>{di();V();$e();o(yS,"getKtyFromAlg");o(Cl,"isJWKSLike");o(gS,"isJWKLike");o(bS,"clone");gi=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Cl(t))throw new rr("JSON Web Key Set malformed");this._jwks=bS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=yS(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 Cr;if(u!==1){let l=new ii,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Om(d,p,n)}catch{continue}},l}return Om(this._cached,c,n)}};o(Om,"importWithAlgCache");o(Nm,"createLocalJWKSet")});var _S,xm,Cm=I(()=>{V();_S=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 me("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new me("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),xm=_S});function ES(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Lm(e,t){let r=new Dl(e,t);return async function(n,i){return r.getKey(n,i)}}var Dl,Dm=I(()=>{Cm();V();Ll();o(ES,"isCloudflareWorkers");Dl=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 Cr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&ES()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=xm(this._url,this._timeoutDuration,this._options).then(t=>{if(!Cl(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(Lm,"createRemoteJWKSet")});var ys,Um=I(()=>{Re();_e();V();ls();hs();ys=class extends lr{static{o(this,"UnsecuredJWT")}encode(){let t=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new pe("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new pe("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new pe("Invalid Unsecured JWT")}return{payload:dn(c,te(i),r),header:c}}}});var Ul={};Wi(Ul,{decode:()=>bi,encode:()=>wS});var wS,bi,gs=I(()=>{Re();wS=Z,bi=te});function Mm(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 km=I(()=>{gs();_e();$e();o(Mm,"decodeProtectedHeader")});function Hm(e){if(typeof e!="string")throw new pe("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new pe("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new pe("Invalid JWT");if(!t)throw new pe("JWTs must contain a payload");let n;try{n=bi(t)}catch{throw new pe("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new pe("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new pe("Invalid JWT Claims Set");return i}var Fm=I(()=>{gs();_e();$e();V();o(Hm,"decodeJwt")});async function qm(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 Ml(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 $m(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:Ml(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:Ml(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:Ml(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 kl=I(()=>{Ie();V();si();o(qm,"generateSecret");o(Ml,"getModulusLengthOption");o($m,"generateKeyPair")});async function jm(e,t){return $m(e,t)}var Vm=I(()=>{kl();o(jm,"generateKeyPair")});async function Gm(e,t){return qm(e,t)}var Bm=I(()=>{kl();o(Gm,"generateSecret")});var bs={};Wi(bs,{CompactEncrypt:()=>pn,CompactSign:()=>hn,EmbeddedJWK:()=>Rm,EncryptJWT:()=>ms,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>as,GeneralSign:()=>ps,SignJWT:()=>fs,UnsecuredJWT:()=>ys,base64url:()=>Ul,calculateJwkThumbprint:()=>xl,calculateJwkThumbprintUri:()=>Im,compactDecrypt:()=>ns,compactVerify:()=>us,createLocalJWKSet:()=>Nm,createRemoteJWKSet:()=>Lm,decodeJwt:()=>Hm,decodeProtectedHeader:()=>Mm,errors:()=>Xu,exportJWK:()=>is,exportPKCS8:()=>um,exportSPKI:()=>cm,flattenedDecrypt:()=>an,flattenedVerify:()=>cn,generalDecrypt:()=>im,generalVerify:()=>hm,generateKeyPair:()=>jm,generateSecret:()=>Gm,importJWK:()=>ar,importPKCS8:()=>Xf,importSPKI:()=>Yf,importX509:()=>Zf,jwtDecrypt:()=>bm,jwtVerify:()=>ym});var _s=I(()=>{bl();rs();om();lm();Il();cs();fm();gm();_m();Pl();ss();Ol();ds();vm();Tm();Sm();Am();Pm();Ll();Dm();Um();_l();di();km();Fm();V();Vm();Bm();gs()});var ws=g(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.fetchRetry=void 0;var vS=D();async function TS(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 vS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(TS,"fetchRetry");Es.fetchRetry=TS});var fn=g(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.GcpServiceAccount=et.fetchToken=et.exchangeGgpJwtForIdToken=et.exchangeFirebaseJwtForIdToken=et.getTokenFromGcpServiceAccount=void 0;var Km=(_s(),Qi(bs)),SS=D(),IS=ws();async function AS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new Km.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(AS,"getTokenFromGcpServiceAccount");et.getTokenFromGcpServiceAccount=AS;async function RS(e,t,r){return Fl(e,{token:t,returnSecureToken:!0},r)}o(RS,"exchangeFirebaseJwtForIdToken");et.exchangeFirebaseJwtForIdToken=RS;async function PS(e,t,r){return Fl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(PS,"exchangeGgpJwtForIdToken");et.exchangeGgpJwtForIdToken=PS;async function Fl(e,t,r){let n=await(0,IS.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 SS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Fl,"fetchToken");et.fetchToken=Fl;var Hl=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,Km.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}};et.GcpServiceAccount=Hl});var Ts=g(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.GoogleLogTransport=kt.ZuploToGCPMap=kt.GoogleCloudLoggingPlugin=void 0;var OS=Se(),ql=ee(),$l=fn(),NS=Dt(),Jm=gt(),jl=class extends NS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new vs(this.options)}};kt.GoogleCloudLoggingPlugin=jl;var xS="https://logging.googleapis.com/v2/entries:write?alt=json";kt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var vs=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=ql.Environment.instance.loggingEnvironmentType,this.#o=ql.Environment.instance.loggingEnvironmentStage,this.#n=ql.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,Jm.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await $l.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,Jm.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 $l.GcpServiceAccount.init(this.#e));let r=await(0,$l.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(xS,{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 OS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};kt.GoogleLogTransport=vs});var Vl=g(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.gcpLogFormat=mn.GCP_LOG_FORMAT=void 0;var zm=gt(),CS=Ts();mn.GCP_LOG_FORMAT="gcp";function LS(e){let t={allMessages:(0,zm.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,zm.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:CS.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(LS,"gcpLogFormat");mn.gcpLogFormat=LS});var Qm=g(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.ConsoleTransport=void 0;var Wm=Vl(),Gl=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===Wm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Wm.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}])}};Ss.ConsoleTransport=Gl});var Ql=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.DataDogTransport=yn.DataDogLoggingPlugin=void 0;var DS=Se(),Bl=ee(),US=Dt(),Ym=gt(),Wl=class extends US.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Is(this.options)}};yn.DataDogLoggingPlugin=Wl;var Kl="__ddtags",Jl="__ddattr",zl=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),MS=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(zl(n)):r.push(`${zl(n)}:${zl(i.toString())}`)}),r.join(",")},"formatTags"),Is=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=Bl.Environment.instance.loggingEnvironmentType,this.#i=Bl.Environment.instance.loggingEnvironmentStage,this.#r=Bl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[Kl];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Kl]!==void 0);a>-1&&(Object.assign(n,s[a][Kl]),s.splice(a,1));let c={},u=r.custom[Jl];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[Jl]!==void 0);l>-1&&(Object.assign(c,s[l][Jl]),s.splice(l,1));let d=(0,Ym.makeErrorsSerializable)(s),y={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Ym.extractBestMessage)(d),service:t.loggingId,ddtags:MS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(y,c),this.batcher.enqueue(y),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 DS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};yn.DataDogTransport=Is});var Xm=g(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.ProcessTransport=void 0;var Zm=Vl(),Yl=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===Zm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Zm.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}])}};As.ProcessTransport=Yl});var ty=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.RemoteLogTransport=void 0;var kS=Se(),ey=ee(),HS=gt(),FS=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,HS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":ey.Environment.instance.systemUserAgent,"zp-dn":ey.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Rs,Zl=class{static{o(this,"RemoteLogTransport")}constructor(t){Rs||(Rs=new kS.BatchDispatch("remote-log-transport",1,FS(t)))}async log(t,r){Rs.enqueue(t),r.waitUntil(Rs.waitUntilFlushed())}};Ps.RemoteLogTransport=Zl});var ry=g(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.unifiedFormatter=Ur.SeverityNumberOpenTelemetryMap=void 0;Ur.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var qS=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:Ur.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Ur.unifiedFormatter=qS});var iy=g(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.UnifiedLogTransport=void 0;var $S=Se(),ny=ee(),jS=ry(),VS=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,jS.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":ny.Environment.instance.systemUserAgent,"zp-dn":ny.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Os,Xl=class{static{o(this,"UnifiedLogTransport")}constructor(t){Os||(Os=new $S.BatchDispatch("unified-log-transport",1,VS(t)))}async log(t,r){Os.enqueue(t),r.waitUntil(Os.waitUntilFlushed())}};Ns.UnifiedLogTransport=Xl});var dy=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.LogInitializer=void 0;var GS=Sr(),BS=xt(),oy=Fu(),sy=ee(),ay=uf(),KS=Dt(),JS=lf(),cy=df(),uy=Qm(),zS=Ql(),WS=Ts(),ly=Xm(),QS=ty(),YS=iy(),ed=(0,GS.debug)("zuplo:logging"),td=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(sy.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(sy.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;ed("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(oy.SYSTEM_LOGGER);return i?n.push(new ly.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new uy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new YS.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new ay.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){ed("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,s=this.serviceProvider.getService(oy.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new ly.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&r.push(new uy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new QS.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 WS.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 zS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return BS.plugins.forEach(a=>{a instanceof KS.LogPlugin&&r.push(a.getTransport())}),new ay.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,s){ed("Gateway.createRequestLoggers");let a=new JS.LoggingContext(n,i,s),c=new cy.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new cy.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};xs.LogInitializer=td});var nd=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.UserRouteConfiguration=void 0;var rd=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};Cs.UserRouteConfiguration=rd});var od=g(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.Router=wt.RouterError=wt.LookupResult=wt.RouterEntry=void 0;var py=D(),ZS=mt(),XS=nd(),Ls=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};wt.RouterEntry=Ls;var _i=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};wt.LookupResult=_i;var Ds=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};wt.RouterError=Ds;var id=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof XS.UserRouteConfiguration||t instanceof ZS.SystemRouteConfiguration))throw new py.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 Ls(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Ds(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new py.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}};wt.Router=id});var Mr=g(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.Gateway=void 0;var eI=Sr(),hy=Uh(),fy=Vh(),tI=Gh(),my=Bh(),yy=Wh(),Ht=Zn(),Us=Ir(),gy=cf(),Tt=D(),sd=xt(),rI=dy(),nI=Wt(),iI=le(),oI=Mu(),sI=Rr(),aI=ri(),cI=Je(),uI=od(),ad=mt(),by=nd(),lI=Ke(),dI=Ro(),_y=ee(),Ey=xr(),pI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],vt=(0,eI.debug)("zuplo:runtime"),hI=o(e=>{let t=e.findIndex(r=>r.name===ad.systemNoVersion.name);return t>-1?[...e.splice(t),ad.systemNoVersion]:[...e,ad.systemNoVersion]},"setupSystemNoVersion"),cd=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,vt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new rI.LogInitializer(n)}static async initialize(t,r,n,i,s){if(vt("Gateway.initialize"),!e.#e){await(0,sd.initializeRuntime)(s);let a={...t,corsPolicies:(0,dI.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){vt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new Tt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[aI.policyProcessor,oI.corsProcessor,sI.metricsProcessor];#i;setupRoutes=()=>{vt("Gateway.setupRoutes");let t=this.routeData,r=hI(t.versions),n=new uI.Router(r);if(t.routes.length===0)return(0,hy.registerBuildRoute)(n,this),(0,yy.registerPingRoute)(n,this),(0,fy.registerCorsRoute)(n,this),(0,tI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;return i&&((0,gy.registerDevPortalLegacyRedirectRoute)(n,this),(0,gy.registerDevPortalV3Route)(n,this)),(0,hy.registerBuildRoute)(n,this),(0,yy.registerPingRoute)(n,this),(0,fy.registerCorsRoute)(n,this),t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Tt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new nI.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new by.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,my.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 Tt.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 vt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){vt("Gateway.internalErrorResponse");let i={};if(_y.Environment.instance.isDeno){if(n instanceof Tt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Ey.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Ey.cleanStack)(s.stack)),i={cause:s}}}return iI.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)}),_y.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 Tt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Us.HeaderIncomingRequestProperties(t.headers),y=this.#s(t),h=new cI.ZuploRequest(y,{params:d.params}),m=new Us.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=Us.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===my.notFoundRouteConfiguration&&sd.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof by.UserRouteConfiguration)}try{if(lI.SystemLogMap.addLogger(m,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,sd.invokeOnRequestExtensions)(h,m);if(j instanceof Response)return j;{let L=Us.ZuploContextExtensions.getContextExtensions(m);h=j,L.latestRequest=h}}[...pI,...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;fI(S,d,t),vt("Gateway.handleRequest - call user handler");let O=await S(h,m);if(vt("Gateway.handleRequest - user handler"),!(O instanceof Response))throw new Tt.RuntimeError(`Invalid Response type from the request handler: ${typeof O}`);if(O.bodyUsed)throw new Tt.RuntimeError("The response object has already been used. Return a new response instead.");if(O.headers.get(Ht.REQUEST_ID_HEADER)===null&&!O.webSocket){let j=new Headers(O.headers);return j.set(Ht.REQUEST_ID_HEADER,n),new Response(O.body,{status:O.status,statusText:O.statusText,headers:j,cf:O.cf})}else return O}catch(T){return vt("Gateway - error executing handler",T),T instanceof Tt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,m,T)}}};Ms.Gateway=cd;function fI(e,t,r){if(vt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new Tt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Tt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(fI,"checkHandler")});var wy=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.invokeInboundPolicy=void 0;var mI=D(),yI=Mr(),gI=ri(),bI=o(async(e,t,r)=>{let n=yI.Gateway.instance.routeData.policies,i=(0,gI.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new mI.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");ks.invokeInboundPolicy=bI});var Ir=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.SystemZuploContext=tt.ZuploContextExtensions=tt.ResponseSentEvent=tt.ResponseSendingEvent=tt.HeaderIncomingRequestProperties=void 0;var we=Zn(),_I=D(),EI=wy(),ud=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(we.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(we.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(we.CF_IP_CITY_HEADER)??this.#e.get(we.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(we.CF_IP_CONTINENT_HEADER)??this.#e.get(we.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(we.CF_IP_COUNTRY_HEADER)??this.#e.get(we.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(we.CF_IP_LATITUDE_HEADER)??this.#e.get(we.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(we.CF_IP_LONGITUDE_HEADER)??this.#e.get(we.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(we.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(we.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(we.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(we.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(we.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(we.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}}};tt.HeaderIncomingRequestProperties=ud;var ld=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};tt.ResponseSendingEvent=ld;var dd=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};tt.ResponseSentEvent=dd;var Ei=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 _I.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}};tt.ZuploContextExtensions=Ei;var pd=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,EI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ei.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ei.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)}};tt.SystemZuploContext=pd});var vy=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.ContextData=void 0;var hd=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)}};Hs.ContextData=hd});var fd=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var wI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Ty(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!wI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(Ty,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=Ty;function Sy(e){return!!e.startsWith("ZUPLO_")}o(Sy,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=Sy;var vI=new Proxy({},{get(e,t){if(Ty(String(t))&&!Sy(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=vI});var md=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.externalServiceHandler=gn.externalServiceTunnelConfig=void 0;var TI=Sr(),kr=D(),SI=yd(),wi=ee(),ct=(0,TI.debug)("zuplo:runtime:external-service");function Ay(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=wi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(Ay,"getServiceAuth");async function II(e){let t=Ay();if(!t)throw ct("There is no external service auth configured for this zup."),new kr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ct("Cannot call external service with Request object"),new kr.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(wi.Environment.instance.useSha256ServiceRouting){ct("Using sha256 service routing");let a=wi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await Ry(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ct("Cannot use sha256 service routing, missing build variables"),new kr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(II,"externalServiceTunnelConfig");gn.externalServiceTunnelConfig=II;async function AI(e,t){let r=Ay();if(r)if(ct(`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(wi.Environment.instance.useSha256ServiceRouting){ct("Using sha256 service routing");let d=wi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Ry(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ct("Cannot use sha256 service routing, missing build variables"),new kr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ct(`Calling external service: ${u.toString()}`);let l=await(0,SI.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 kr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ct("Cannot call external service with Request object"),new kr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ct("There is no external service auth configured for this zup."),new kr.RuntimeError("There are no external services configured for this zup.")}o(AI,"externalServiceHandler");gn.externalServiceHandler=AI;async function Ry(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=RI(n);ct(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await Iy(`${s}-${i}`),l=await Iy(`${s}-${a}-${c}`);return`${u}.${l}`}o(Ry,"hashServiceName");async function Iy(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(Iy,"hashSegment");function RI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(RI,"sanitizeEnvironmentType")});var yd=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.originalFetch=void 0;var PI=md(),Py=new Map;Py.set("service:",PI.externalServiceHandler);bn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=OI(t);if(typeof e=="string"){let n=new URL(e),i=Py.get(n.protocol);return i?i(e,r):(0,bn.originalFetch)(e,r)}else return(0,bn.originalFetch)(e,r)};var OI=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 xy=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.Handler=_n.purgeGatewayCache=void 0;var NI=D(),Ny=Mr(),Oy=ee(),xI=o(()=>{Ny.Gateway.purgeGatewayCache()},"purgeGatewayCache");_n.purgeGatewayCache=xI;var gd=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)=>{Oy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Ny.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 NI.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:Oy.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)}};_n.Handler=gd});var Uy=g(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.pathToRegexp=Ne.tokensToRegexp=Ne.regexpToFunction=Ne.match=Ne.tokensToFunction=Ne.compile=Ne.parse=void 0;function CI(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(CI,"lexer");function bd(e,t){t===void 0&&(t={});for(var r=CI(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(En(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ie){if(u<r.length&&r[u].type===ie)return r[u++].value},"tryConsume"),p=o(function(ie){var ge=d(ie);if(ge!==void 0)return ge;var Be=r[u],E=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(ie))},"mustConsume"),y=o(function(){for(var ie="",ge;ge=d("CHAR")||d("ESCAPED_CHAR");)ie+=ge;return ie},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),v=d("PATTERN");if(m||v){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var O=d("OPEN");if(O){var T=y(),j=d("NAME")||"",L=d("PATTERN")||"",ne=y();p("CLOSE"),a.push({name:j||(L?c++:""),pattern:j&&!L?s:L,prefix:T,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(bd,"parse");Ne.parse=bd;function LI(e,t){return Cy(bd(e,t),t)}o(LI,"compile");Ne.compile=LI;function Cy(e,t){t===void 0&&(t={});var r=_d(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 y=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(y)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(y.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<y.length;v++){var T=i(y[v],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 y=="string"||typeof y=="number"){var T=i(String(y),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=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(Cy,"tokensToFunction");Ne.tokensToFunction=Cy;function DI(e,t){var r=[],n=Ed(e,r,t);return Ly(n,r,t)}o(DI,"match");Ne.match=DI;function Ly(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(y){if(a[y]===void 0)return"continue";var h=t[y-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[y].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[y],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Ly,"regexpToFunction");Ne.regexpToFunction=Ly;function En(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(En,"escapeString");function _d(e){return e&&e.sensitive?"":"i"}o(_d,"flags");function UI(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(UI,"regexpToRegexp");function MI(e,t,r){var n=e.map(function(i){return Ed(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),_d(r))}o(MI,"arrayToRegexp");function kI(e,t,r){return Dy(bd(e,r),t,r)}o(kI,"stringToRegexp");function Dy(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,y=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,v="[".concat(En(m),"]|$"),T="[".concat(En(y),"]"),S=a?"^":"",O=0,j=e;O<j.length;O++){var L=j[O];if(typeof L=="string")S+=En(d(L));else{var ne=En(d(L.prefix)),ie=En(d(L.suffix));if(L.pattern)if(t&&t.push(L),ne||ie)if(L.modifier==="+"||L.modifier==="*"){var ge=L.modifier==="*"?"?":"";S+="(?:".concat(ne,"((?:").concat(L.pattern,")(?:").concat(ie).concat(ne,"(?:").concat(L.pattern,"))*)").concat(ie,")").concat(ge)}else S+="(?:".concat(ne,"(").concat(L.pattern,")").concat(ie,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?S+="((?:".concat(L.pattern,")").concat(L.modifier,")"):S+="(".concat(L.pattern,")").concat(L.modifier);else S+="(?:".concat(ne).concat(ie,")").concat(L.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(v,")"):"$";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(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,_d(r))}o(Dy,"tokensToRegexp");Ne.tokensToRegexp=Dy;function Ed(e,t,r){return e instanceof RegExp?UI(e,t):Array.isArray(e)?MI(e,t,r):kI(e,t,r)}o(Ed,"pathToRegexp");Ne.pathToRegexp=Ed});var Sd=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.AwsV4Signer=wn.AwsClient=void 0;var HI=Sr(),Fy=D(),FI=(0,HI.debug)("zuplo:runtime"),vd=new TextEncoder,My={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"},qI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Td=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 Fs(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){FI("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 Fy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};wn.AwsClient=Td;var Fs=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:y,appendSessionToken:h,allHeaders:m,singleEncode:v}){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]=$I(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=y,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let O=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"),O.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&O.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>m||!qI.includes(L)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(L=>L+":"+(L==="host"?this.url.host:(this.headers.get(L)||"").replace(/\s+/g," "))).join(`
60
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!O.has("X-Amz-Expires")&&O.set("X-Amz-Expires","86400"),O.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),O.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),O.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,"/");v||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Hy(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(j.has(L))return!1;j.add(L)}return!0}).map(L=>L.map(ne=>Hy(encodeURIComponent(ne)))).sort(([L,ne],[ie,ge])=>L<ie?-1:L>ie?1:ne<ge?-1:ne>ge?1:0).map(L=>L.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 vi("AWS4"+this.secretAccessKey,t),s=await vi(i,this.region),a=await vi(s,this.service);n=await vi(a,"aws4_request"),this.cache.set(r,n)}return wd(await vi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,wd(await ky(await this.canonicalString()))].join(`
59
+ -----END ${t}-----`},"default")});function Mf(e){let t=[],r=0;for(;r<e.length;){let n=jf(e.subarray(r));t.push(n),r+=n.byteLength}return t}function jf(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 qT(e){let t=Mf(Mf(jf(e).contents)[0].contents);return jo(t[t[0].raw[0]===160?6:5].raw)}function $T(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Ku(t);return sl(qT(r),"PUBLIC KEY")}var kf,Hf,Ff,ir,Uf,qf,$f,al,Vf,Zo=I(()=>{Te();ot();Ie();Df();V();st();kf=o(async(e,t,r)=>{if(!se(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 sl(jo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Hf=o(e=>kf("public","spki",e),"toSPKI"),Ff=o(e=>kf("private","pkcs8",e),"toPKCS8"),ir=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])||ir(e,t,n+1)},"findOid"),Uf=o(e=>{switch(!0){case ir(e,[42,134,72,206,61,3,1,7]):return"P-256";case ir(e,[43,129,4,0,34]):return"P-384";case ir(e,[43,129,4,0,35]):return"P-521";case ir(e,[43,101,110]):return"X25519";case ir(e,[43,101,111]):return"X448";case ir(e,[43,101,112]):return"Ed25519";case ir(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),qf=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=Uf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Uf(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),$f=o((e,t,r)=>qf(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),al=o((e,t,r)=>qf(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Mf,"getElement");o(jf,"parseElement");o(qT,"spkiFromX509");o($T,"getSPKI");Vf=o((e,t,r)=>{let n;try{n=$T(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return al(n,t,r)},"fromX509")});function jT(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 VT,cl,Gf=I(()=>{Te();V();Ie();o(jT,"subtleMapping");VT=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}=jT(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 D.subtle.importKey("raw",te(e.k),...s);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...s)},"parse"),cl=VT});async function Bf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return al(e,t,r)}async function Kf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Vf(e,t,r)}async function Jf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return $f(e,t,r)}async function or(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?cl({...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 cl({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var ai=I(()=>{Ie();Zo();Gf();V();Fe();o(Bf,"importSPKI");o(Kf,"importX509");o(Jf,"importPKCS8");o(or,"importJWK")});var GT,BT,KT,sr,ci=I(()=>{ot();st();GT=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!Zu(t))throw new TypeError(Yu(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),BT=o((e,t,r)=>{if(!Zu(t))throw new TypeError(Yu(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"),KT=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?GT(e,t):BT(e,t,r)},"checkKeyType"),sr=KT});async function JT(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 D.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,Fo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function zT(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(He(r,e,"encrypt"),s=r);let a=new Uint8Array(await D.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 WT,ui,ul=I(()=>{ge();Wu();Qu();Te();nr();ot();V();st();o(JT,"cbcEncrypt");o(zT,"gcmEncrypt");WT=o(async(e,t,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Bo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Qr(r,parseInt(e.slice(-3),10)),JT(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Qr(r,parseInt(e.slice(1,4),10)),zT(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),ui=WT});async function zf(e,t,r,n){let i=e.slice(0,7);n||(n=Vo(i));let{ciphertext:s,tag:a}=await ui(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function Wf(e,t,r,n,i){let s=e.slice(0,7);return Jo(s,t,r,n,i,new Uint8Array(0))}var ll=I(()=>{ul();Xu();Go();Ie();o(zf,"wrap");o(Wf,"unwrap")});async function QT(e,t,r,n,i){switch(sr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new P('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Qo(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await or(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await Wo(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?oi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return ii(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 P("JWE Encrypted Key missing");return Lf(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new P('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new P('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new P('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return xf(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return ii(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new P('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new P('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return Wf(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Qf,Yf=I(()=>{zo();rl();il();ol();Ie();V();si();ai();ci();Fe();ll();o(QT,"decryptKeyManagement");Qf=QT});function YT(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 M(`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 _t,en=I(()=>{V();o(YT,"validateCrit");_t=YT});var ZT,li,dl=I(()=>{ZT=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"),li=ZT});async function tn(e,t,r){var n;if(!Q(e))throw new P("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new P("JOSE Header missing");if(typeof e.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new P("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new P("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new P("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=te(e.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!gt(i,e.header,e.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(_t(P,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new P("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new P("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&li("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&li("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new Xt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new Xt('"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 y;try{y=await Qf(a,t,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof M)throw j;y=bt(c)}let h=te(e.iv),m=te(e.tag),v=Y.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(e.aad)):T=v;let S=await Jo(c,y,te(e.ciphertext),h,m,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||wf)(S));let k={plaintext:S};return e.protected!==void 0&&(k.protectedHeader=i),e.aad!==void 0&&(k.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(k.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(k.unprotectedHeader=e.header),p?{...k,key:t}:k}var Xo=I(()=>{Ie();Xu();el();V();Yr();Fe();Yf();ge();si();en();dl();o(tn,"flattenedDecrypt")});async function es(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new P("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 P("Invalid Compact JWE");let l=await tn({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 pl=I(()=>{Xo();V();ge();o(es,"compactDecrypt")});async function Zf(e,t,r){if(!Q(e))throw new P("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new P("JWE Recipients has no members");for(let n of e.recipients)try{return await tn({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 Lt}var Xf=I(()=>{Xo();V();Fe();o(Zf,"generalDecrypt")});var XT,em,tm=I(()=>{Te();ot();Ie();st();XT=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:Z(e)};if(!se(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 D.subtle.exportKey("jwk",e);return s},"keyToJWK"),em=XT});async function rm(e){return Hf(e)}async function nm(e){return Ff(e)}async function ts(e){return em(e)}var hl=I(()=>{Zo();Zo();tm();o(rm,"exportSPKI");o(nm,"exportPKCS8");o(ts,"exportJWK")});async function eS(e,t,r,n,i={}){let s,a,c;switch(sr(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(!Qo(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 If(r)).privateKey);let{x:p,y,crv:h,kty:m}=await ts(d),v=await Wo(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?oi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=y),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),e==="ECDH-ES"){c=v;break}c=n||bt(t);let T=e.slice(-6);s=await ni(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||bt(t),s=await Cf(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||bt(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Of(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||bt(t),s=await ni(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||bt(t);let{iv:u}=i;({encryptedKey:s,...a}=await zf(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var rs,fl=I(()=>{zo();rl();il();ol();Ie();si();V();hl();ci();ll();o(eS,"encryptKeyManagement");rs=eS});var ml,Dt,ns=I(()=>{Ie();ul();el();Go();fl();V();Yr();ge();en();ml=Symbol(),Dt=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 P("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!gt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(_t(P,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new P('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:s}=n;if(typeof i!="string"||!i)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new P('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 m;({cek:c,encryptedKey:a,parameters:m}=await rs(i,s,t,this._cek,this._keyManagementParameters)),m&&(r&&ml in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=Vo(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,y;if(n.zip==="DEF"){let m=await(r?.deflateRaw||vf)(this._plaintext);({ciphertext:p,tag:y}=await ui(s,m,c,this._iv,u))}else({ciphertext:p,tag:y}=await ui(s,this._plaintext,c,this._iv,u));let h={ciphertext:Z(p),iv:Z(this._iv),tag:Z(y)};return a&&(h.encrypted_key=Z(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var yl,is,im=I(()=>{ns();V();si();Yr();fl();Ie();en();yl=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}},is=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new yl(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 P("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Dt(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(!gt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new P("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 P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new P('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(_t(P,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=bt(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 y={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Dt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:y}).encrypt(l.key,{...l.options,...t,[ml]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:h,parameters:m}=await rs(((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:y});d.encrypted_key=Z(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function di(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 gl=I(()=>{V();o(di,"subtleDsa")});function pi(e,t,r){if(se(t))return _f(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(ie(t,...W));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(t,...W,"Uint8Array"))}var bl=I(()=>{Te();nr();ot();st();o(pi,"getCryptoKey")});var tS,om,sm=I(()=>{gl();Te();Yo();bl();tS=o(async(e,t,r,n)=>{let i=await pi(e,t,"verify");Cr(e,i);let s=di(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),om=tS});async function rn(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(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!gt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=_t(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&&li("algorithms",r.algorithms);if(l&&!l.has(u))throw new Xt('"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),sr(u,t,"verify");let p=Se(Y.encode((n=e.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof e.payload=="string"?Y.encode(e.payload):e.payload),y=te(e.signature);if(!await om(u,t,y,p))throw new Nr;let m;c?m=te(e.payload):typeof e.payload=="string"?m=Y.encode(e.payload):m=e.payload;let v={payload:m};return e.protected!==void 0&&(v.protectedHeader=i),e.header!==void 0&&(v.unprotectedHeader=e.header),d?{...v,key:t}:v}var os=I(()=>{Ie();sm();V();ge();Yr();Fe();ci();en();dl();o(rn,"flattenedVerify")});async function ss(e,t,r){if(e instanceof Uint8Array&&(e=ce.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 rn({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 _l=I(()=>{os();V();ge();o(ss,"compactVerify")});async function am(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 rn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Nr}var cm=I(()=>{os();V();Fe();o(am,"generalVerify")});var nn,El=I(()=>{nn=o(e=>Math.floor(e.getTime()/1e3),"default")});var rS,on,wl=I(()=>{rS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,on=o(e=>{let t=rS.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 um,nS,sn,as=I(()=>{V();ge();El();wl();Fe();um=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),nS=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),sn=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||um(e.typ)!==um(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(t))}catch{}if(!Q(i))throw new ue("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&&!nS(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=on(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,y=nn(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>y+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<=y-d)throw new Wr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=y-i.iat,m=typeof l=="number"?l:on(l);if(h-d>m)throw new Wr('"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 lm(e,t,r){var n;let i=await ss(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");let a={payload:sn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var dm=I(()=>{_l();as();V();o(lm,"jwtVerify")});async function pm(e,t,r){let n=await es(e,t,r),i=sn(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 hm=I(()=>{pl();as();V();o(pm,"jwtDecrypt")});var an,vl=I(()=>{ns();an=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Dt(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 iS,fm,mm=I(()=>{gl();Te();Yo();bl();iS=o(async(e,t,r)=>{let n=await pi(e,t,"sign");Cr(e,n);let i=await D.subtle.sign(di(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),fm=iS});var ar,cs=I(()=>{Ie();mm();Yr();V();ge();ci();en();ar=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(!gt(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=_t(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');sr(a,t,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await fm(a,t,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var cn,Tl=I(()=>{cs();cn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new ar(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 Sl,us,ym=I(()=>{cs();V();Sl=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}},us=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Sl(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 ar(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 cr,ls=I(()=>{El();Fe();wl();cr=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:nn(new Date)+on(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:nn(new Date)+on(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:nn(new Date)}:this._payload={...this._payload,iat:t},this}}});var ds,gm=I(()=>{Tl();V();ge();ls();ds=class extends cr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new cn(Y.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 ue("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var ps,bm=I(()=>{vl();ge();ls();ps=class extends cr{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 an(Y.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 Il(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":ur(e.crv,'"crv" (Curve) Parameter'),ur(e.x,'"x" (X Coordinate) Parameter'),ur(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":ur(e.crv,'"crv" (Subtype of Key Pair) Parameter'),ur(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":ur(e.e,'"e" (Exponent) Parameter'),ur(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":ur(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=Y.encode(JSON.stringify(r));return Z(await ko(t,n))}async function _m(e,t){t??(t="sha256");let r=await Il(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var ur,Em=I(()=>{Gu();Ie();V();ge();Fe();ur=o((e,t)=>{if(typeof e!="string"||!e)throw new Xn(`${t} missing or invalid`)},"check");o(Il,"calculateJwkThumbprint");o(_m,"calculateJwkThumbprintUri")});async function wm(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 or({...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(()=>{ai();Fe();V();o(wm,"EmbeddedJWK")});function oS(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 Al(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(sS)}function sS(e){return Q(e)}function aS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Tm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await or({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new er("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Sm(e){let t=new hi(e);return async function(r,n){return t.getKey(r,n)}}var hi,Pl=I(()=>{ai();V();Fe();o(oS,"getKtyFromAlg");o(Al,"isJWKSLike");o(sS,"isJWKLike");o(aS,"clone");hi=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Al(t))throw new er("JSON Web Key Set malformed");this._jwks=aS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=oS(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 ei,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Tm(d,p,n)}catch{continue}},l}return Tm(this._cached,c,n)}};o(Tm,"importWithAlgCache");o(Sm,"createLocalJWKSet")});var cS,Im,Am=I(()=>{V();cS=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 ti: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"),Im=cS});function uS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Pm(e,t){let r=new Rl(e,t);return async function(n,i){return r.getKey(n,i)}}var Rl,Rm=I(()=>{Am();V();Pl();o(uS,"isCloudflareWorkers");Rl=class extends hi{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&&uS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Im(this._url,this._timeoutDuration,this._options).then(t=>{if(!Al(t))throw new er("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(Pm,"createRemoteJWKSet")});var hs,Om=I(()=>{Ie();ge();V();as();ls();hs=class extends cr{static{o(this,"UnsecuredJWT")}encode(){let t=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:sn(c,te(i),r),header:c}}}});var Ol={};Ki(Ol,{decode:()=>fi,encode:()=>lS});var lS,fi,fs=I(()=>{Ie();lS=Z,fi=te});function xm(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(ce.decode(fi(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Nm=I(()=>{fs();ge();Fe();o(xm,"decodeProtectedHeader")});function Cm(e){if(typeof e!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new ue("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ue("Invalid JWT");if(!t)throw new ue("JWTs must contain a payload");let n;try{n=fi(t)}catch{throw new ue("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new ue("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new ue("Invalid JWT Claims Set");return i}var Lm=I(()=>{fs();ge();Fe();V();o(Cm,"decodeJwt")});async function Dm(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),tr(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 M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function xl(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 Um(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:xl(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:xl(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:xl(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 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":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={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 D.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Nl=I(()=>{Te();V();ri();o(Dm,"generateSecret");o(xl,"getModulusLengthOption");o(Um,"generateKeyPair")});async function Mm(e,t){return Um(e,t)}var km=I(()=>{Nl();o(Mm,"generateKeyPair")});async function Hm(e,t){return Dm(e,t)}var Fm=I(()=>{Nl();o(Hm,"generateSecret")});var ms={};Ki(ms,{CompactEncrypt:()=>an,CompactSign:()=>cn,EmbeddedJWK:()=>wm,EncryptJWT:()=>ps,FlattenedEncrypt:()=>Dt,FlattenedSign:()=>ar,GeneralEncrypt:()=>is,GeneralSign:()=>us,SignJWT:()=>ds,UnsecuredJWT:()=>hs,base64url:()=>Ol,calculateJwkThumbprint:()=>Il,calculateJwkThumbprintUri:()=>_m,compactDecrypt:()=>es,compactVerify:()=>ss,createLocalJWKSet:()=>Sm,createRemoteJWKSet:()=>Pm,decodeJwt:()=>Cm,decodeProtectedHeader:()=>xm,errors:()=>Ju,exportJWK:()=>ts,exportPKCS8:()=>nm,exportSPKI:()=>rm,flattenedDecrypt:()=>tn,flattenedVerify:()=>rn,generalDecrypt:()=>Zf,generalVerify:()=>am,generateKeyPair:()=>Mm,generateSecret:()=>Hm,importJWK:()=>or,importPKCS8:()=>Jf,importSPKI:()=>Bf,importX509:()=>Kf,jwtDecrypt:()=>pm,jwtVerify:()=>lm});var ys=I(()=>{pl();Xo();Xf();im();_l();os();cm();dm();hm();vl();ns();Tl();cs();ym();gm();bm();Em();vm();Pl();Rm();Om();hl();ai();Nm();Lm();V();km();Fm();fs()});var bs=g(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.fetchRetry=void 0;var dS=L();async function pS(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 dS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(pS,"fetchRetry");gs.fetchRetry=pS});var un=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var qm=(ys(),Ji(ms)),hS=L(),fS=bs();async function mS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new qm.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(mS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=mS;async function yS(e,t,r){return Ll(e,{token:t,returnSecureToken:!0},r)}o(yS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=yS;async function gS(e,t,r){return Ll(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(gS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=gS;async function Ll(e,t,r){let n=await(0,fS.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 hS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Ll,"fetchToken");Ze.fetchToken=Ll;var Cl=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,qm.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=Cl});var Es=g(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.GoogleLogTransport=Ut.ZuploToGCPMap=Ut.GoogleCloudLoggingPlugin=void 0;var bS=ve(),Dl=ee(),Ul=un(),_S=Ct(),$m=yt(),Ml=class extends _S.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new _s(this.options)}};Ut.GoogleCloudLoggingPlugin=Ml;var ES="https://logging.googleapis.com/v2/entries:write?alt=json";Ut.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var _s=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Dl.Environment.instance.loggingEnvironmentType,this.#o=Dl.Environment.instance.loggingEnvironmentStage,this.#n=Dl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,$m.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await Ul.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Ut.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,$m.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 Ul.GcpServiceAccount.init(this.#e));let r=await(0,Ul.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(ES,{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 bS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ut.GoogleLogTransport=_s});var kl=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.gcpLogFormat=ln.GCP_LOG_FORMAT=void 0;var jm=yt(),wS=Es();ln.GCP_LOG_FORMAT="gcp";function vS(e){let t={allMessages:(0,jm.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,jm.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:wS.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(vS,"gcpLogFormat");ln.gcpLogFormat=vS});var Gm=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.ConsoleTransport=void 0;var Vm=kl(),Hl=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===Vm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Vm.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}])}};ws.ConsoleTransport=Hl});var Gl=g(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.DataDogTransport=dn.DataDogLoggingPlugin=void 0;var TS=ve(),Fl=ee(),SS=Ct(),Bm=yt(),Vl=class extends SS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new vs(this.options)}};dn.DataDogLoggingPlugin=Vl;var ql="__ddtags",$l="__ddattr",jl=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),IS=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(jl(n)):r.push(`${jl(n)}:${jl(i.toString())}`)}),r.join(",")},"formatTags"),vs=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=Fl.Environment.instance.loggingEnvironmentType,this.#i=Fl.Environment.instance.loggingEnvironmentStage,this.#r=Fl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[ql];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[ql]!==void 0);a>-1&&(Object.assign(n,s[a][ql]),s.splice(a,1));let c={},u=r.custom[$l];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[$l]!==void 0);l>-1&&(Object.assign(c,s[l][$l]),s.splice(l,1));let d=(0,Bm.makeErrorsSerializable)(s),y={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Bm.extractBestMessage)(d),service:t.loggingId,ddtags:IS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(y,c),this.batcher.enqueue(y),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 TS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};dn.DataDogTransport=vs});var Jm=g(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.ProcessTransport=void 0;var Km=kl(),Bl=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===Km.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Km.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}])}};Ts.ProcessTransport=Bl});var Wm=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.RemoteLogTransport=void 0;var AS=ve(),zm=ee(),PS=yt(),RS=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,PS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":zm.Environment.instance.systemUserAgent,"zp-dn":zm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ss,Kl=class{static{o(this,"RemoteLogTransport")}constructor(t){Ss||(Ss=new AS.BatchDispatch("remote-log-transport",1,RS(t)))}async log(t,r){Ss.enqueue(t),r.waitUntil(Ss.waitUntilFlushed())}};Is.RemoteLogTransport=Kl});var Qm=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 OS=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=OS});var Zm=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.UnifiedLogTransport=void 0;var xS=ve(),Ym=ee(),NS=Qm(),CS=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,NS.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":Ym.Environment.instance.systemUserAgent,"zp-dn":Ym.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),As,Jl=class{static{o(this,"UnifiedLogTransport")}constructor(t){As||(As=new xS.BatchDispatch("unified-log-transport",1,CS(t)))}async log(t,r){As.enqueue(t),r.waitUntil(As.waitUntilFlushed())}};Ps.UnifiedLogTransport=Jl});var oy=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.LogInitializer=void 0;var LS=vr(),DS=Ot(),Xm=Lu(),ey=ee(),ty=rf(),US=Ct(),MS=nf(),ry=of(),ny=Gm(),kS=Gl(),HS=Es(),iy=Jm(),FS=Wm(),qS=Zm(),zl=(0,LS.debug)("zuplo:logging"),Wl=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(ey.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(ey.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;zl("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Xm.SYSTEM_LOGGER);return i?n.push(new iy.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new ny.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new qS.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new ty.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){zl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,s=this.serviceProvider.getService(Xm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new iy.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&r.push(new ny.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new FS.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 HS.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 kS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return DS.plugins.forEach(a=>{a instanceof US.LogPlugin&&r.push(a.getTransport())}),new ty.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,s){zl("Gateway.createRequestLoggers");let a=new MS.LoggingContext(n,i,s),c=new ry.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new ry.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Rs.LogInitializer=Wl});var Yl=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.UserRouteConfiguration=void 0;var Ql=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};Os.UserRouteConfiguration=Ql});var Xl=g(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Router=Et.RouterError=Et.LookupResult=Et.RouterEntry=void 0;var sy=L(),$S=ft(),jS=Yl(),xs=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};Et.RouterEntry=xs;var mi=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Et.LookupResult=mi;var Ns=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};Et.RouterError=Ns;var Zl=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof jS.UserRouteConfiguration||t instanceof $S.SystemRouteConfiguration))throw new sy.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 xs(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Ns(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new sy.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 mi(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 mi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Et.Router=Zl});var pn=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.Gateway=void 0;var VS=vr(),ay=Oh(),cy=kh(),GS=Hh(),uy=Fh(),ly=Vh(),Mt=zn(),Cs=Tr(),dy=tf(),vt=L(),ed=Ot(),BS=oy(),KS=Jt(),JS=pe(),zS=xu(),WS=Ir(),QS=Zn(),YS=Be(),ZS=Xl(),td=ft(),py=Yl(),XS=Ge(),eI=So(),hy=ee(),fy=Or(),tI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],wt=(0,VS.debug)("zuplo:runtime"),rI=o(e=>{let t=e.findIndex(r=>r.name===td.systemNoVersion.name);return t>-1?[...e.splice(t),td.systemNoVersion]:[...e,td.systemNoVersion]},"setupSystemNoVersion"),rd=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,wt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new BS.LogInitializer(n)}static async initialize(t,r,n,i,s){if(wt("Gateway.initialize"),!e.#e){await(0,ed.initializeRuntime)(s);let a={...t,corsPolicies:(0,eI.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){wt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new vt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[QS.policyProcessor,zS.corsProcessor,WS.metricsProcessor];#i;setupRoutes=()=>{wt("Gateway.setupRoutes");let t=this.routeData,r=rI(t.versions),n=new ZS.Router(r);if(t.routes.length===0)return(0,ay.registerBuildRoute)(n,this),(0,ly.registerPingRoute)(n,this),(0,cy.registerCorsRoute)(n,this),(0,GS.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;return i&&((0,dy.registerDevPortalLegacyRedirectRoute)(n,this),(0,dy.registerDevPortalV3Route)(n,this)),(0,ay.registerBuildRoute)(n,this),(0,ly.registerPingRoute)(n,this),(0,cy.registerCorsRoute)(n,this),t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new vt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new KS.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new py.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,uy.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 vt.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 wt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){wt("Gateway.internalErrorResponse");let i={};if(hy.Environment.instance.isDeno){if(n instanceof vt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,fy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,fy.cleanStack)(s.stack)),i={cause:s}}}return JS.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Mt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),hy.Environment.instance.isDeno&&Mt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Mt.REQUEST_ID_HEADER)??t.headers.get(Mt.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Mt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Mt.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(Mt.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 vt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Cs.HeaderIncomingRequestProperties(t.headers),y=this.#s(t),h=new YS.ZuploRequest(y,{params:d.params}),m=new Cs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=Cs.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===uy.notFoundRouteConfiguration&&ed.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof py.UserRouteConfiguration)}try{if(XS.SystemLogMap.addLogger(m,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,ed.invokeOnRequestExtensions)(h,m);if(j instanceof Response)return j;{let C=Cs.ZuploContextExtensions.getContextExtensions(m);h=j,C.latestRequest=h}}[...tI,...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;nI(S,d,t),wt("Gateway.handleRequest - call user handler");let k=await S(h,m);if(wt("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new vt.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new vt.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(Mt.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(Mt.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return wt("Gateway - error executing handler",T),T instanceof vt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,m,T)}}};Ls.Gateway=rd;function nI(e,t,r){if(wt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new vt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new vt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(nI,"checkHandler")});var my=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.invokeInboundPolicy=void 0;var iI=L(),oI=pn(),sI=Zn(),aI=o(async(e,t,r)=>{let n=oI.Gateway.instance.routeData.policies,i=(0,sI.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new iI.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");Ds.invokeInboundPolicy=aI});var Tr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=zn(),cI=L(),uI=my(),nd=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=nd;var id=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=id;var od=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=od;var yi=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 cI.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=yi;var sd=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,uI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{yi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{yi.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=sd});var yy=g(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.ContextData=void 0;var ad=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)}};Us.ContextData=ad});var cd=g(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.environment=lr.isZuploReadableEnvVariableName=lr.isRestrictedEnvVariableName=void 0;var lI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function gy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!lI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(gy,"isRestrictedEnvVariableName");lr.isRestrictedEnvVariableName=gy;function by(e){return!!e.startsWith("ZUPLO_")}o(by,"isZuploReadableEnvVariableName");lr.isZuploReadableEnvVariableName=by;var dI=new Proxy({},{get(e,t){if(gy(String(t))&&!by(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});lr.environment=dI});var ud=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.externalServiceHandler=hn.externalServiceTunnelConfig=void 0;var pI=vr(),Dr=L(),hI=ld(),gi=ee(),at=(0,pI.debug)("zuplo:runtime:external-service");function Ey(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=gi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(Ey,"getServiceAuth");async function fI(e){let t=Ey();if(!t)throw at("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 at("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(gi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let a=gi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await wy(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("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(fI,"externalServiceTunnelConfig");hn.externalServiceTunnelConfig=fI;async function mI(e,t){let r=Ey();if(r)if(at(`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(gi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let d=gi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await wy(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("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}`);at(`Calling external service: ${u.toString()}`);let l=await(0,hI.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 at("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw at("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.")}o(mI,"externalServiceHandler");hn.externalServiceHandler=mI;async function wy(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=yI(n);at(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await _y(`${s}-${i}`),l=await _y(`${s}-${a}-${c}`);return`${u}.${l}`}o(wy,"hashServiceName");async function _y(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(_y,"hashSegment");function yI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(yI,"sanitizeEnvironmentType")});var ld=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.originalFetch=void 0;var gI=ud(),vy=new Map;vy.set("service:",gI.externalServiceHandler);fn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=bI(t);if(typeof e=="string"){let n=new URL(e),i=vy.get(n.protocol);return i?i(e,r):(0,fn.originalFetch)(e,r)}else return(0,fn.originalFetch)(e,r)};var bI=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 Iy=g(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.Handler=mn.purgeGatewayCache=void 0;var _I=L(),Sy=pn(),Ty=ee(),EI=o(()=>{Sy.Gateway.purgeGatewayCache()},"purgeGatewayCache");mn.purgeGatewayCache=EI;var dd=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)=>{Ty.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Sy.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 _I.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:Ty.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)}};mn.Handler=dd});var Oy=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 wI(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(wI,"lexer");function pd(e,t){t===void 0&&(t={});for(var r=wI(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(yn(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 Ve=r[u],E=Ve.type,H=Ve.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(ne))},"mustConsume"),y=o(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),v=d("PATTERN");if(m||v){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=y(),j=d("NAME")||"",C=d("PATTERN")||"",re=y();p("CLOSE"),a.push({name:j||(C?c++:""),pattern:j&&!C?s:C,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(pd,"parse");Re.parse=pd;function vI(e,t){return Ay(pd(e,t),t)}o(vI,"compile");Re.compile=vI;function Ay(e,t){t===void 0&&(t={});var r=hd(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 y=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(y)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(y.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<y.length;v++){var T=i(y[v],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 y=="string"||typeof y=="number"){var T=i(String(y),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=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(Ay,"tokensToFunction");Re.tokensToFunction=Ay;function TI(e,t){var r=[],n=fd(e,r,t);return Py(n,r,t)}o(TI,"match");Re.match=TI;function Py(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(y){if(a[y]===void 0)return"continue";var h=t[y-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[y].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[y],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Py,"regexpToFunction");Re.regexpToFunction=Py;function yn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(yn,"escapeString");function hd(e){return e&&e.sensitive?"":"i"}o(hd,"flags");function SI(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(SI,"regexpToRegexp");function II(e,t,r){var n=e.map(function(i){return fd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),hd(r))}o(II,"arrayToRegexp");function AI(e,t,r){return Ry(pd(e,r),t,r)}o(AI,"stringToRegexp");function Ry(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,y=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,v="[".concat(yn(m),"]|$"),T="[".concat(yn(y),"]"),S=a?"^":"",k=0,j=e;k<j.length;k++){var C=j[k];if(typeof C=="string")S+=yn(d(C));else{var re=yn(d(C.prefix)),ne=yn(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(v,")"):"$";else{var Ve=e[e.length-1],E=typeof Ve=="string"?T.indexOf(Ve[Ve.length-1])>-1:Ve===void 0;i||(S+="(?:".concat(T,"(?=").concat(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,hd(r))}o(Ry,"tokensToRegexp");Re.tokensToRegexp=Ry;function fd(e,t,r){return e instanceof RegExp?SI(e,t):Array.isArray(e)?II(e,t,r):AI(e,t,r)}o(fd,"pathToRegexp");Re.pathToRegexp=fd});var bd=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.AwsV4Signer=gn.AwsClient=void 0;var PI=vr(),Ly=L(),RI=(0,PI.debug)("zuplo:runtime"),yd=new TextEncoder,xy={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"},OI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],gd=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 Ms(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){RI("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 Ly.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};gn.AwsClient=gd;var Ms=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:y,appendSessionToken:h,allHeaders:m,singleEncode:v}){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]=xI(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=y,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let k=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"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(C=>m||!OI.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"&&!k.has("X-Amz-Expires")&&k.set("X-Amz-Expires","86400"),k.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),k.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),k.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,"/");v||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Cy(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=>Cy(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 bi("AWS4"+this.secretAccessKey,t),s=await bi(i,this.region),a=await bi(s,this.service);n=await bi(a,"aws4_request"),this.cache.set(r,n)}return md(await bi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,md(await Ny(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 Fy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=wd(await ky(this.body||""))}return t}};wn.AwsV4Signer=Fs;async function vi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?vd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,vd.encode(t))}o(vi,"hmac");async function ky(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?vd.encode(e):e)}o(ky,"hash");function wd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(wd,"buf2hex");function Hy(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Hy,"encodeRfc3986");function $I(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 My?[My[s],a]:[s,a]}o($I,"guessServiceRegion")});var qy=g(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.convertStringToUtf8Array=St.convertUtf8ArrayToString=St.base64Encode=St.base64Decode=void 0;function jI(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(jI,"b64ToUint6");function VI(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|=jI(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(VI,"base64Decode");St.base64Decode=VI;function qs(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(qs,"uint6ToB64");function GI(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(qs(i>>>18&63),qs(i>>>12&63),qs(i>>>6&63),qs(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(GI,"base64Encode");St.base64Encode=GI;function BI(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(BI,"convertUtf8ArrayToString");St.convertUtf8ArrayToString=BI;function KI(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(KI,"convertStringToUtf8Array");St.convertStringToUtf8Array=KI});var $y=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.toCLFDate=void 0;function vn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(vn,"numberToString");function JI(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=vn(Math.floor(r/60)),s=vn(r%60);return`${n}${i}${s}`}o(JI,"getCLFOffset");function zI(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=vn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=vn(e.getHours()),a=vn(e.getMinutes()),c=vn(e.getSeconds()),u=JI(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(zI,"toCLFDate");$s.toCLFDate=zI});var zy=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var WI=Sr(),jy=Uy(),Ti=D(),QI=Ct(),YI=Sd(),Gy=qy(),By=$y(),Vy=(0,WI.debug)("zuplo:runtime"),ZI="X-Amzn-Trace-Id",XI="x-amzn-errortype",Ky=[],eA=o(async(e,t,r)=>{let n=r;for await(let i of Ky)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),ze=class extends Ti.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(ZI)??void 0,this.errorType=r.get(XI)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Ky.push(e)}};async function tA(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 Ti.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ti.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ti.ConfigurationError("region is not set in the handler options");if(!s)throw new Ti.ConfigurationError("functionName is not set in the handler options");let l=new YI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Vy(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,y]=await iA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=nA(e,t):m=await rA(e,t,{useAwsResourcePathStyle:c}),Vy("Calling onSendingAwsLambdaEvent hook");let v=await eA(e,t,m);v.body=p,v.isBase64Encoded=y;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return Jy(T)}catch(S){if(S instanceof ze){let O=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return QI.HttpProblems.internalServerError(e,t,void 0,O)}throw S}}o(tA,"awsLambdaHandler");hr.awsLambdaHandler=tA;async function Jy(e){let t;try{t=await e.json()}catch{throw new ze("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 ze(t.message,e.headers):new ze(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new ze(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 ze(`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 ze(`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 ze(`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 ze("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new ze("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Gy.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 ze(`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(Jy,"getResponse");hr.getResponse=Jy;async function rA(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,By.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:sA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(rA,"buildEventVersion1");function nA(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,By.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(nA,"buildEventVersion2");async function iA(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&&oA(t,i)){let s=await e.arrayBuffer();r=(0,Gy.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(iA,"getBodyResult");function oA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(oA,"matchesContentType");function sA(e,t=!1){if(!t)return e;let r=(0,jy.parse)(e),n=(0,jy.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(sA,"getResourcePath")});var Sn=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.getHandlerUserLogFunction=Tn.logBadGatewayResponses=void 0;var aA=Ke(),cA=ee(),uA=[502,503,504];async function lA(e,t){if(uA.includes(e.status)){let r=aA.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(lA,"logBadGatewayResponses");Tn.logBadGatewayResponses=lA;var Id;function dA(e){if(Id===void 0){let r=cA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Id=r}return e.log[Id]}o(dA,"getHandlerUserLogFunction");Tn.getHandlerUserLogFunction=dA});var Qy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.openApiSpecHandler=void 0;var Wy=D(),pA=le(),Ad=ee(),hA=Sn();async function fA(e,t){let r=Ad.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Ad.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Wy.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=mA(s);if(!a.isValid)throw new Wy.ConfigurationError(a.error);let c;Ad.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 pA.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,hA.logBadGatewayResponses)(l,t),l}o(fA,"openApiSpecHandler");js.openApiSpecHandler=fA;var mA=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 Yy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.redirectHandler=void 0;var yA=D();async function gA(e,t){let r=t.route.handler.options;if(!r.location)throw new yA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(gA,"redirectHandler");Vs.redirectHandler=gA});var Xy=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.urlForwardHandler=void 0;var bA=D(),Zy=Sn();function _A(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(_A,"join");async function EA(e,t){let r=(0,Zy.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 bA.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=_A(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}),y=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${y}ms`),(0,Zy.logBadGatewayResponses)(p,t),p}o(EA,"urlForwardHandler");Gs.urlForwardHandler=EA});var tg=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.urlRewriteHandler=void 0;var wA=D(),eg=Sn(),vA=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 TA(e,t){let r=(0,eg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new wA.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?vA(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,eg.logBadGatewayResponses)(d,t),d}o(TA,"urlRewriteHandler");Bs.urlRewriteHandler=TA});var ng=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.webSocketHandler=void 0;var rg=D(),SA=md(),IA=Ct(),AA=ee(),RA=Sn();async function PA(e,t){let r=AA.Environment.instance,n=t.route.handler.options,i=(0,RA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new rg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return IA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new rg.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,SA.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.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 y=JSON.stringify({url:c});return new Response(y,{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(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(y)}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(PA,"webSocketHandler");Ks.webSocketHandler=PA});var ig=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.webSocketPolicyProcessor=In.getWebSocketPolicyFunctions=void 0;var OA=D(),NA=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 OA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");In.getWebSocketPolicyFunctions=NA;var xA=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");In.webSocketPolicyProcessor=xA});var sg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.webSocketPipelineHandler=void 0;var Rd=D(),CA=Ct(),LA=ee(),DA=Sn(),Pd=ig();function og(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,Pd.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(og,"wireUpListeners");async function UA(e,t){let r=LA.Environment.instance,n=t.route.handler.options,i=(0,DA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Rd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return CA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Rd.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 Rd.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(),O=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(O)}let d=new WebSocketPair,[p,y]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),y.accept();let v=n.policies&&n.policies.inbound?(0,Pd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Pd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return og(y,m,e,t,v),og(m,y,e,t,T),new Response(null,{status:101,webSocket:p})}o(UA,"webSocketPipelineHandler");Js.webSocketPipelineHandler=UA});var ag=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.DynaTraceLoggingPlugin=void 0;var MA=Se(),Od=ee(),kA=xr(),HA=Dt(),FA=gt(),Nd=class extends HA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new xd(this.options)}};zs.DynaTraceLoggingPlugin=Nd;var xd=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Od.Environment.instance.loggingEnvironmentType,this.#i=Od.Environment.instance.loggingEnvironmentStage,this.#r=Od.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,FA.stringifyNonString)((0,kA.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 MA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var cg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.LokiLoggingPlugin=void 0;var qA=Se(),Cd=ee(),$A=xr(),jA=Dt(),VA=gt(),Ld=class extends jA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ud(this.options)}};Ws.LokiLoggingPlugin=Ld;var Dd=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 GA(e,t){return btoa(`${e}:${t}`)}o(GA,"createBasicDigest");var Ud=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=GA(t.username,t.password),this.#n=Cd.Environment.instance.loggingEnvironmentType,this.#i=Cd.Environment.instance.loggingEnvironmentStage,this.#r=Cd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new Dd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,VA.stringifyNonString)((0,$A.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 qA.BatchDispatch("loki-log-transport",10,this.#s)}});var ug=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.SumoLogicLoggingPlugin=void 0;var BA=Se(),Md=ee(),KA=xr(),JA=Dt(),zA=gt(),kd=class extends JA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Hd(this.options)}};Qs.SumoLogicLoggingPlugin=kd;var Hd=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Md.Environment.instance.loggingEnvironmentType,this.#n=Md.Environment.instance.loggingEnvironmentStage,this.#t=Md.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,zA.stringifyNonString)((0,KA.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 BA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var dg=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.VMWareLogInsightTransport=An.VMWareLogInsightLoggingPlugin=void 0;var WA=D(),QA=Se(),Fd=ee(),YA=Dt(),lg=gt(),ZA="d3a5b78f-8236-48f5-b1df-4fe269d41172",qd=class extends YA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ys(this.options)}};An.VMWareLogInsightLoggingPlugin=qd;var Ys=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new WA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Fd.Environment.instance.loggingEnvironmentType,this.#n=Fd.Environment.instance.loggingEnvironmentStage,this.#t=Fd.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,lg.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,lg.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/${ZA}`,{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 QA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};An.VMWareLogInsightTransport=Ys});var hg=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.AWSLogTransport=Rn.AWSLoggingPlugin=void 0;var XA=Se(),pg=ee(),eR=xr(),tR=Dt(),rR=gt(),nR=Sd(),$d=class extends tR.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zs(this.options)}};Rn.AWSLoggingPlugin=$d;var Zs=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new XA.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 nR.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,rR.stringifyNonString)((0,eR.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())}};Rn.AWSLogTransport=Zs});var fg=g(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.AWSLoggingPlugin=xe.VMWareLogInsightLoggingPlugin=xe.SumoLogicLoggingPlugin=xe.LokiLoggingPlugin=xe.GoogleCloudLoggingPlugin=xe.DynaTraceLoggingPlugin=xe.DataDogLoggingPlugin=void 0;var iR=Ql();Object.defineProperty(xe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return iR.DataDogLoggingPlugin}});var oR=ag();Object.defineProperty(xe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return oR.DynaTraceLoggingPlugin}});var sR=Ts();Object.defineProperty(xe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return sR.GoogleCloudLoggingPlugin}});var aR=cg();Object.defineProperty(xe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return aR.LokiLoggingPlugin}});var cR=ug();Object.defineProperty(xe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return cR.SumoLogicLoggingPlugin}});var uR=dg();Object.defineProperty(xe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return uR.VMWareLogInsightLoggingPlugin}});var lR=hg();Object.defineProperty(xe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return lR.AWSLoggingPlugin}})});var mg=g(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.DataDogMetricsError=fr.DataDogMetricsTransport=fr.DataDogMetricsPlugin=void 0;var dR=Ke(),pR=Se(),hR=go(),jd=new WeakMap,fR={tags:[]},Vd=class extends hR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Xs(this.options)}static setContext(t,r){let n=jd.get(t);n||(n=fR);let i=Object.assign({...n},r);jd.set(t,i)}};fr.DataDogMetricsPlugin=Vd;var Xs=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 pR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,dR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(jd.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 ea(await n.text())}};fr.DataDogMetricsTransport=Xs;var ea=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};fr.DataDogMetricsError=ea});var yg=g(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DynaTraceMetricsError=mr.DynaTraceMetricsTransport=mr.DynatraceMetricsPlugin=void 0;var mR=Ke(),yR=Se(),gR=go(),Gd=new WeakMap,bR={dimensions:[]},Bd=class extends gR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ta(this.options)}static setContext(t,r){let n=Gd.get(t);n||(n=bR);let i=Object.assign({...n},r);Gd.set(t,i)}};mr.DynatraceMetricsPlugin=Bd;var ta=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 yR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,mR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Gd.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 ra(await n.text())}};mr.DynaTraceMetricsTransport=ta;var ra=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=ra});var gg=g(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.DynatraceMetricsPlugin=Pn.DataDogMetricsPlugin=void 0;var _R=mg();Object.defineProperty(Pn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return _R.DataDogMetricsPlugin}});var ER=yg();Object.defineProperty(Pn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return ER.DynatraceMetricsPlugin}})});var bg=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.AuditLogDataStaxProvider=void 0;var Kd=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)})}))}};na.AuditLogDataStaxProvider=Kd});var Eg=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.AuditLogPlugin=void 0;var wR=xt(),vR=Se(),Jd=class extends wR.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new zd(t,this.#e,this.#t)}};ia.AuditLogPlugin=Jd;var _g=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),TR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},zd=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...TR};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 vR.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?_g(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?_g(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(y=>{r.log.error(y)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var Ig=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.AmberfloMeteringInboundPolicy=On.AmberfloMeteringPolicy=void 0;var wg=D(),SR=Se(),vg=ti(),Sg=new WeakMap,Tg={},Wd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Sg.set(t,r)}};On.AmberfloMeteringPolicy=Wd;async function IR(e,t,r,n){if(!r.statusCodes)throw new wg.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 s=>{if(i.includes(s.status)){let a=Sg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new wg.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)},y=Tg[r.apiKey];if(!y){let h=r.apiKey,m=e.headers.get("zm-test-id")??"";y=new SR.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});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}}),Tg[h]=y}y.enqueue(p),t.waitUntil(y.waitUntilFlushed())}}),e}o(IR,"AmberfloMeteringInboundPolicy");On.AmberfloMeteringInboundPolicy=IR});var Qd=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.sha256=void 0;async function AR(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(AR,"sha256");oa.sha256=AR});var Ft=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.getPolicyCacheName=void 0;var RR=Qd(),Ag=new Map;async function PR(e,t){let r,n=Ag.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,RR.sha256)(JSON.stringify({policyName:e,options:t}))}`,Ag.set(e,r)),r}o(PR,"getPolicyCacheName");sa.getPolicyCacheName=PR});var ep=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.ApiKeyInboundPolicy=void 0;var OR=Ft(),NR=Bt(),Rg=fd(),Yd=D(),xR=Ct(),Zd=Ke(),Xd=ee(),CR=ws(),Pg="key-metadata-cache-type";function LR(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(LR,"getKeyValue");async function DR(e,t,r,n){if(!r.bucketName)if(Rg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Rg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Yd.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 Yd.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?e:xR.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=LR(a,i);if(!c||c==="")return s("No key present");let u=await UR(c),l=await(0,OR.getPolicyCacheName)(n,i),d=new NR.MemoryZoneReadThroughCache(l,{logger:Zd.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!==Pg&&Zd.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let y={key:c},h=await(0,CR.fetchRetry)({retryDelayMs:5,retries:2,logger:Zd.SystemLogMap.getLogger(t)},`${Xd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Xd.Environment.instance.deploymentName??"unknown","User-Agent":Xd.Environment.instance.systemUserAgent},body:JSON.stringify(y)});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 Yd.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),v={isValid:!0,typeId:Pg,user:{sub:m.name,data:m.metadata}};return e.user=v.user,d.put(u,v,i.cacheTtlSeconds),e}o(DR,"ApiKeyInboundPolicy");aa.ApiKeyInboundPolicy=DR;async function UR(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(UR,"hashValue")});var Og=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.ApiAuthKeyInboundPolicy=void 0;var MR=ep();ca.ApiAuthKeyInboundPolicy=MR.ApiKeyInboundPolicy});var Ng=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.CurityPhantomTokenInboundPolicy=void 0;var kR=Ft(),HR=Bt(),ua=le(),FR=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return ua.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=qR(i);if(!s)return ua.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,kR.getPolicyCacheName)(n,r),c=new HR.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}'`),ua.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):ua.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");la.CurityPhantomTokenInboundPolicy=FR;function qR(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(qR,"getToken")});var Cg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.CreditsMeteringInboundPolicy=void 0;var Si=le(),xg=ee(),$R=o(async(e,t,r)=>{let n=e.user;if(!n)return Si.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 Si.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 jR(s,i,t);if(!a)return Si.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return Si.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return Si.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 VR(s,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");da.CreditsMeteringInboundPolicy=$R;async function jR(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=xg.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(jR,"getSubscription");async function VR(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:s}=xg.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(VR,"consumeSubscription")});var qt=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.OpenIdJwtInboundPolicy=void 0;var rp=(_s(),Qi(bs)),np=D(),GR=le(),tp={},BR=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new np.ConfigurationError("Invalid State - jwkUrl not set");tp[t.jwkUrl]||(tp[t.jwkUrl]=(0,rp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,rp.jwtVerify)(e,tp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),KR=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,rp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),JR=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(y=>GR.HttpProblems.unauthorized(e,t,{detail:y}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new np.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new np.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?BR:KR,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 y=i.substring(s.length);if(!y||y.length===0)return a("No bearer token on authorization header");try{return await c(y,r)}catch(h){let m=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${m.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${m.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");pa.OpenIdJwtInboundPolicy=JR});var Lg=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.Auth0JwtInboundPolicy=void 0;var zR=qt(),WR=o(async(e,t,r,n)=>(0,zR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");ha.Auth0JwtInboundPolicy=WR});var Dg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.BasicAuthInboundPolicy=void 0;var QR=le(),YR=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>QR.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 y=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(v=>v.username===y&&v.password===h);return m||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");fa.BasicAuthInboundPolicy=YR});var Ug=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.CachingInboundPolicy=void 0;var ZR=Ft(),XR=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function eP(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(eP,"digestMessage");var tP=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 eP(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 rP(e,t,r,n){let i=await(0,ZR.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await tP(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 y=r?.expirationSecondsTtl??60,h=new Response(p.body,p);XR.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${y}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(rP,"CachingInboundPolicy");ma.CachingInboundPolicy=rP});var Mg=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.ChangeMethodInboundPolicy=void 0;var nP=D(),iP=Je(),oP=o(async(e,t,r,n)=>{if(!r.method)throw new nP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new iP.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");ya.ChangeMethodInboundPolicy=oP});var kg=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.ClearHeadersInboundPolicy=void 0;var sP=Je(),aP=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 sP.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");ga.ClearHeadersInboundPolicy=aP});var Hg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.ClearHeadersOutboundPolicy=void 0;var cP=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");ba.ClearHeadersOutboundPolicy=cP});var Fg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.ClerkJwtInboundPolicy=void 0;var uP=qt(),lP=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,uP.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");_a.ClerkJwtInboundPolicy=lP});var $g=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.CognitoJwtInboundPolicy=void 0;var qg=D(),dP=qt(),pP=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new qg.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new qg.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,dP.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");Ea.CognitoJwtInboundPolicy=pP});var Vg=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.CompositeInboundPolicy=void 0;var hP=D(),fP=Mr(),jg=ri(),mP=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new hP.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=fP.Gateway.instance,s=(0,jg.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,jg.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");wa.CompositeInboundPolicy=mP});var yr=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.optionValidator=void 0;var Ii=D();function yP(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(yP,"optionValidator");va.optionValidator=yP});var Gg=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.FirebaseJwtInboundPolicy=void 0;var gP=yr(),bP=qt(),_P=o(async(e,t,r,n)=>((0,gP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,bP.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");Ta.FirebaseJwtInboundPolicy=_P});var Bg=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.FormDataToJsonInboundPolicy=void 0;var EP=Je(),wP=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 EP.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Sa.FormDataToJsonInboundPolicy=wP});var Kg=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.GeoFilterInboundPolicy=void 0;var vP=D(),TP=le(),Nn="__unknown__",SP=o(async(e,t,r,n)=>{let i={allow:{countries:Cn(r.allow?.countries,"allow.countries",n),regionCodes:Cn(r.allow?.regionCodes,"allow.regionCode",n),asns:Cn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Cn(r.block?.countries,"block.countries",n),regionCodes:Cn(r.block?.regionCodes,"block.regionCode",n),asns:Cn(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,y=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||y.length>0&&!y.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return xn(e,t,n,s,a,c);let m=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return m.length>0&&m.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?xn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");Ia.GeoFilterInboundPolicy=SP;function xn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),TP.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(xn,"blockedResponse");function Cn(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 vP.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Cn,"toLowerStringArray")});var Jg=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.JWTScopeValidationInboundPolicy=void 0;var IP=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");Aa.JWTScopeValidationInboundPolicy=IP});var Wg=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.MockApiInboundPolicy=void 0;var AP=le(),RP=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return ip(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 ip(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(y=>{a.push({responseName:c,contentName:l,exampleName:y,exampleValue:d[y]})})})}),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 zg(a[c])}else return a.length>0?zg(a[0]):ip(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");Ra.MockApiInboundPolicy=RP;function zg(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(zg,"generateResponse");var ip=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return AP.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var eb=g(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.MoesifInboundPolicy=Ln.setMoesifContext=void 0;var PP=D(),OP=Se(),NP="Incoming",xP={logRequestBody:!0,logResponseBody:!0};function Qg(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(Qg,"headersToObject");function Yg(){return new Date().toISOString()}o(Yg,"timestamp");var op=new WeakMap,CP={};function LP(e,t){let r=op.get(e);r||(r=CP);let n=Object.assign({...r},t);op.set(e,n)}o(LP,"setMoesifContext");Ln.setMoesifContext=LP;async function Zg(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(Zg,"readBody");var DP={},sp;function Xg(){if(!sp)throw new PP.RuntimeError("Invalid State - no _lastLogger");return sp}o(Xg,"getLastLogger");function UP(e){let t=DP[e];return t||(t=new OP.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Xg().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||Xg().error({status:i.status,body:await i.text()})})),t}o(UP,"getDispatcher");async function MP(e,t,r,n){sp=t.log;let i=Yg(),s=Object.assign(xP,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await Zg(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=UP(s.applicationId),d=e.headers.get("true-client-ip"),p=op.get(t)??{},y={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Qg(e.headers)},h=s.logResponseBody?await Zg(c,t):void 0,m={time:Yg(),status:c.status,headers:Qg(c.headers),body:h},v={request:y,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:NP};l.enqueue(v),t.waitUntil(l.waitUntilFlushed())}),e}o(MP,"MoesifInboundPolicy");Ln.MoesifInboundPolicy=MP});var tb=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.OktaJwtInboundPolicy=void 0;var kP=qt(),HP=o(async(e,t,r,n)=>(0,kP.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Pa.OktaJwtInboundPolicy=HP});var rb=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.PropelAuthJwtInboundPolicy=void 0;var FP=(_s(),Qi(bs)),qP=qt(),ap,$P=o(async(e,t,r,n)=>{if(!ap)try{ap=await(0,FP.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,qP.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:ap,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Oa.PropelAuthJwtInboundPolicy=$P});var nb=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=Yt(),rt=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=rt;var Ai=class extends rt{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ai;var Ri=class extends rt{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ri;function jP(e,t){if((0,je.isUndefined)(e))throw new Ai(t)}o(jP,"throwIfUndefined");G.throwIfUndefined=jP;function cp(e,t){if((0,je.isUndefinedOrNull)(e))throw new Ai(t)}o(cp,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=cp;function VP(e,t){if(cp(e,t),!(0,je.isString)(e))throw new Ri(t,"string")}o(VP,"throwIfNotString");G.throwIfNotString=VP;function GP(e,t){if(cp(e,t),!(0,je.isNumber)(e))throw new Ri(t,"number")}o(GP,"throwIfNotNumber");G.throwIfNotNumber=GP;var Pi=class extends rt{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Pi;var Dn=class extends rt{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=Dn;function BP(e,t,r,n){if((0,je.isUndefined)(n))throw new Pi(e,t,r)}o(BP,"throwIfOptionUndefined");G.throwIfOptionUndefined=BP;function Na(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Pi(e,t,r)}o(Na,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Na;function KP(e,t,r,n){if(Na(e,t,r,n),!(0,je.isString)(n))throw new Dn(e,t,r,"string")}o(KP,"throwIfOptionNotString");G.throwIfOptionNotString=KP;function JP(e,t,r,n){if(Na(e,t,r,n),!(0,je.isNumber)(n))throw new Dn(e,t,r,"number")}o(JP,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=JP;function zP(e,t,r,n){if(Na(e,t,r,n),!(0,je.isObject)(n))throw new Dn(e,t,r,"object")}o(zP,"throwIfOptionNotObject");G.throwIfOptionNotObject=zP;function WP(e,t){if((0,je.isUndefined)(e))throw new rt(t)}o(WP,"throwIfStateUndefined");G.throwIfStateUndefined=WP;function xa(e,t){if((0,je.isUndefinedOrNull)(e))throw new rt(t)}o(xa,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=xa;function QP(e,t){if(xa(e,t),!(0,je.isString)(e))throw new rt(t);return!0}o(QP,"throwIfStateNotString");G.throwIfStateNotString=QP;function YP(e,t){if(xa(e,t),!(0,je.isNumber)(e))throw new rt(t);return!0}o(YP,"throwIfStateNotNumber");G.throwIfStateNotNumber=YP;function ZP(e,t){if(xa(e,t),!(0,je.isObject)(e))throw new rt(t);return!0}o(ZP,"throwIfStateNotObject");G.throwIfStateNotObject=ZP});var ib=g(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.InMemoryRedisClient=Un.StandardRedisClient=void 0;var up=D(),Ca=nb(),lp=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,Ca.throwIfNotString)(t,"redisClientUrl"),(0,Ca.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,Ca.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 up.SystemError("Redis client failed with 401: Unauthorized"):new up.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Un.StandardRedisClient=lp;var dp=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Ca.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 up.SystemError("The in-memory redis client only supports /rate-limit calls")}};Un.InMemoryRedisClient=dp});var ub=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.RateLimitInboundPolicy=void 0;var XP=Sr(),e0=Ft(),t0=to(),$t=D(),r0=le(),ob=Ke(),Oi=ee(),sb=ib(),ab=Yt(),La=(0,XP.debug)("zuplo:policies:RateLimitInboundPolicy"),n0="strict",i0=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"),o0=o(async e=>({key:`ip-${i0(e)}`}),"getIP"),s0=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),a0=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Da;function c0(e,t){let r;if(Da)return Da;if(Oi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new sb.InMemoryRedisClient,Da=r,r;let{authApiJWT:n,redisURL:i}=Oi.Environment.instance;if(!(0,ab.isString)(i))throw new $t.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,ab.isString)(n))throw new $t.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=sb.StandardRedisClient.initialize(i,n,Oi.Environment.instance.deploymentName??"unknown",Oi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new $t.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Da=r,r}o(c0,"getRedisClient");async function cb(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(cb,"getCountAndUpdateExpiry");function u0(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new $t.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new $t.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new $t.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 $t.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 $t.RuntimeError(u)}return c},"outerFunction")}o(u0,"wrapUserFunction");var l0="Retry-After",d0=o(async(e,t,r,n)=>{let i=Date.now(),s=ob.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new $t.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[l0]=l.toString()),r0.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:u0(r,n),user:s0,ip:o0,all:a0}[r.rateLimitBy],d=await l(e,t,n),p=d.key,y=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",v=c0(n,s),S=`bucket/${Oi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??n0)==="async"){let L=await(0,e0.getPolicyCacheName)(n,r),ne=new t0.ZoneCache(L,{logger:ob.SystemLogMap.getLogger(t)}),ie=cb(S,h,v,s,t.requestId),ge=await ne.get(S);if(ge!==void 0&&ge<=Date.now()){La(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Be=Math.round((ge-Date.now())/1e3);return c(m,Be)}return t.addEventListener("responseSending",Be=>{try{let E=Be,H=E.mutableResponse;E.mutableResponse=(async()=>{let Ue=await ie;if(Ue.count>y){let Qc=Date.now()+Ue.ttlSeconds*1e3;return ne.put(S,Qc,Ue.ttlSeconds).catch(Yp=>{throw s.error(Yp),Yp}),La(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(m,Ue.ttlSeconds)}return H})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let j=await cb(S,h,v,s,t.requestId);return j.count>y?(La(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(m,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;La(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ua.RateLimitInboundPolicy=d0});var hb=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ReadmeMetricsInboundPolicy=void 0;var p0=Se(),pp=ee(),lb=ti(),hp;function db(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(db,"headersToNameValuePairs");function h0(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(h0,"queryToNameValueParis");function f0(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(f0,"parseIntOrUndefined");var pb={};async function m0(e,t,r,n){let i=new Date,s=Date.now();return hp||(hp={name:"zuplo",version:pp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${pp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,lb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,lb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:pp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:hp,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:db(e.headers),queryString:h0(e.query)},response:{status:a.status,statusText:a.statusText,headers:db(a.headers),content:{size:f0(e.headers.get("content-length"))}}}]}}},d=pb[r.apiKey];if(!d){let p=r.apiKey;d=new p0.BatchDispatch("readme-metering-inbound-policy",10,async y=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(y),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),pb[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(m0,"ReadmeMetricsInboundPolicy");Ma.ReadmeMetricsInboundPolicy=m0});var fb=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.RemoveHeadersInboundPolicy=void 0;var y0=D(),g0=Je(),b0=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new y0.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 g0.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");ka.RemoveHeadersInboundPolicy=b0});var mb=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.RemoveHeadersOutboundPolicy=void 0;var _0=D(),E0=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new _0.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");Ha.RemoveHeadersOutboundPolicy=E0});var yb=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.RemoveQueryParamsInboundPolicy=void 0;var w0=D(),v0=Je(),T0=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new w0.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 v0.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");Fa.RemoveQueryParamsInboundPolicy=T0});var gb=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.ReplaceStringOutboundPolicy=void 0;var S0=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");qa.ReplaceStringOutboundPolicy=S0});var _b=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.RequestSizeLimitInboundPolicy=void 0;var bb=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),I0=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?bb():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?bb():e},"RequestSizeLimitInboundPolicy");$a.RequestSizeLimitInboundPolicy=I0});var Ni=g(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.sanitizedIdentifierName=Ce.getIdForRefSchema=Ce.getIdForRequestBodySchema=Ce.getIdForResponseBodySchema=Ce.getIdForResponseHeaderSchema=Ce.getIdForParameterSchema=Ce.getRawOperationDataIdentifierName=void 0;function A0(e,t,r){return`_${It(e+"_"+t+"_"+r)}`}o(A0,"getRawOperationDataIdentifierName");Ce.getRawOperationDataIdentifierName=A0;function R0(e,t,r,n){return`_${It(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(R0,"getIdForParameterSchema");Ce.getIdForParameterSchema=R0;function P0(e,t,r,n){return`_${It(e.toLowerCase())}_`+t.toLowerCase()+`_${r}_${n.toLowerCase()}`}o(P0,"getIdForResponseHeaderSchema");Ce.getIdForResponseHeaderSchema=P0;function O0(e,t,r,n){return`_${It(e.toLowerCase())}_`+t.toLowerCase()+"_"+ +`${r}`+`_rb_${It(n.toLowerCase())}`}o(O0,"getIdForResponseBodySchema");Ce.getIdForResponseBodySchema=O0;function N0(e,t,r){return`_${It(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${It(r.toLowerCase())}`}o(N0,"getIdForRequestBodySchema");Ce.getIdForRequestBodySchema=N0;function x0(e,t){return`_${It(e)}__${It(t)}`}o(x0,"getIdForRefSchema");Ce.getIdForRefSchema=x0;function It(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(It,"sanitizedIdentifierName");Ce.sanitizedIdentifierName=It});var Hr=g(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.getErrorsFromValidator=re.shouldReject=re.shouldLog=re.logRequest=re.logResponse=re.logErrors=re.validateResponseHeaders=re.getResponseBodyForOperation=re.getResponseHeadersForOperation=re.validateParameters=re.getParametersForOperation=void 0;var Eb=Mr(),wb=Ni(),C0=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");re.getParametersForOperation=C0;var L0=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,wb.getIdForParameterSchema)(r,n,i,u.name),d=Eb.Gateway.instance.schemaValidator[l],p=d(t[u.name]),y=(0,re.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${y.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");re.validateParameters=L0;var D0=o((e,t)=>{let r=e.route.raw();return r.responses?r.responses[`${t}`]?r.responses[t].headers??{}:{}:{}},"getResponseHeadersForOperation");re.getResponseHeadersForOperation=D0;var U0=o((e,t)=>{let r=e.route.raw();return r.responses?r.responses[`${t}`]?r.responses[t].content??{}:{}:{}},"getResponseBodyForOperation");re.getResponseBodyForOperation=U0;var M0=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return Object.entries(e).forEach(([u,l])=>{if(l.required&&!t.get(u))a=!1,s.push(`Required response header '${u}' not found`);else{let d=(0,wb.getIdForResponseHeaderSchema)(r,n,i,u),p=Eb.Gateway.instance.schemaValidator[d],y=p(t.get(u)),h=(0,re.getErrorsFromValidator)(p.errors);y||(a=!1,c.push(`Response header: ${u} : ${t.get(u)}`),s.push(`Invalid value for response header: '${u}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateResponseHeaders");re.validateResponseHeaders=M0;var k0=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");re.logErrors=k0;var H0=o(async(e,t,r)=>{let n=await r.clone().text(),i={status:r.status,headers:new Map(r.headers),body:n};e.log[t]("Nonconforming response:",i)},"logResponse");re.logResponse=H0;var F0=o(async(e,t,r)=>{let n=await r.clone().text(),i={method:r.method,url:r.url,headers:new Map(r.headers),body:n};e.log[t]("Offending request:",i)},"logRequest");re.logRequest=F0;var q0=o(e=>e==="log-only"||e==="reject-and-log"||e==="return-error-and-log","shouldLog");re.shouldLog=q0;var $0=o(e=>e==="reject-only"||e==="return-error-only"||e==="reject-and-log"||e==="return-error-and-log","shouldReject");re.shouldReject=$0;var j0=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");re.getErrorsFromValidator=j0});var vb=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.handleBodyValidation=void 0;var V0=Mr(),ja=le(),G0=Ni(),We=Hr();async function B0(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let m=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,v=ja.HttpProblems.badRequest(t,e,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,We.shouldLog)(r.validateBody)&&(0,We.logErrors)(e,r.logLevel??"info",m,[n],h),(0,We.shouldReject)(r.validateBody))return v}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,m=ja.HttpProblems.badRequest(t,e,{detail:h});return(0,We.shouldLog)(r.validateBody)&&(0,We.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,We.shouldReject)(r.validateBody)?m:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,G0.getIdForRequestBodySchema)(e.route.path,t.method,i),c=V0.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")}`,m=ja.HttpProblems.badRequest(t,e,{detail:h});return(0,We.shouldLog)(r.validateBody)&&(0,We.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,We.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,We.getErrorsFromValidator)(l),y=ja.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,We.shouldLog)(r.validateBody)&&(0,We.logErrors)(e,r.logLevel??"info",d,[n],p),(0,We.shouldReject)(r.validateBody))return y}o(B0,"handleBodyValidation");Va.handleBodyValidation=B0});var Tb=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.handleHeadersValidation=void 0;var K0=le(),xi=Hr();function J0(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,xi.getParametersForOperation)(e),s=(0,xi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=K0.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,xi.shouldLog)(r.validateHeaders)&&(0,xi.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,xi.shouldReject)(r.validateHeaders))return c}}o(J0,"handleHeadersValidation");Ga.handleHeadersValidation=J0});var Sb=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.handlePathParameterValidation=void 0;var z0=le(),Ci=Hr();function W0(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Ci.getParametersForOperation)(e),i=(0,Ci.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=z0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ci.shouldLog)(r.validatePathParameters)&&(0,Ci.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ci.shouldReject)(r.validatePathParameters))return a}}o(W0,"handlePathParameterValidation");Ba.handlePathParameterValidation=W0});var Ib=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.handleQueryParameterValidation=void 0;var Q0=le(),Li=Hr();function Y0(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Li.getParametersForOperation)(e),i=(0,Li.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=Q0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Li.shouldLog)(r.validateQueryParameters)&&(0,Li.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Li.shouldReject)(r.validateQueryParameters))return a}}o(Y0,"handleQueryParameterValidation");Ka.handleQueryParameterValidation=Y0});var Ab=g(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.SchemaBasedRequestValidation=Fr.RequestValidationInboundPolicy=void 0;var Z0=vb(),X0=Tb(),eO=Sb(),tO=Ib(),rO=o(async(e,t,r)=>{let n=(0,tO.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,eO.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,X0.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,Z0.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Fr.RequestValidationInboundPolicy=rO;Fr.SchemaBasedRequestValidation=Fr.RequestValidationInboundPolicy});var Rb=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.RequireOriginInboundPolicy=void 0;var nO=D(),iO=le(),oO=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new nO.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 iO.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");Ja.RequireOriginInboundPolicy=oO});var Pb=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.handleResponseBodyValidation=void 0;var sO=Mr(),za=le(),aO=Ni(),de=Hr();async function cO(e,t,r,n){if(!n.validateBody||n.validateBody==="none")return;let i,{method:s}=r,{status:a}=t,c=e.route.path,u=n.logLevel??"info",l=t.headers.get("Content-Type");try{i=await t.clone().json()}catch(O){if(l?.includes("json")){let j=`Unable to parse response body for status: ${a} and method: ${s} in route: ${c} with content-type: ${l}`;return(0,de.shouldLog)(n.validateBody)&&((0,de.logErrors)(e,u,j,[i],O),n.includeRequestInLogs&&await(0,de.logRequest)(e,u,r),n.includeResponseInLogs&&await(0,de.logResponse)(e,u,t)),(0,de.shouldReject)(n.validateBody)?za.HttpProblems.internalServerError(r,e):void 0}e.log[u]("Response body is not JSON. Unable to validate.");return}let d=(0,de.getResponseBodyForOperation)(e,a);if(!(l?d[l]:Object.entries(d).find(([O])=>O.includes("json")?(l=O,e.log[u](`No content-type header defined in response. Validating response body with content-type: ${O}`),!0):!1)?.[1])||!l){let O=`No JSON response body defined for status: ${a} and method: ${s} in route: ${c} with content-type: ${l}`;return(0,de.shouldLog)(n.validateBody)&&((0,de.logErrors)(e,u,O,[i],[O]),n.includeRequestInLogs&&await(0,de.logRequest)(e,u,r),n.includeResponseInLogs&&await(0,de.logResponse)(e,u,t)),(0,de.shouldReject)(n.validateBody)?za.HttpProblems.internalServerError(r,e):void 0}let y=(0,aO.getIdForResponseBodySchema)(e.route.path,r.method,a,l),h=sO.Gateway.instance.schemaValidator[y];if(!h){let O=`No response body schema defined for status: ${a} and method: ${s} in route: ${e.route.path} with content-type: ${l}`;return(0,de.shouldLog)(n.validateBody)&&((0,de.logErrors)(e,u,O,[i],[O]),n.includeRequestInLogs&&await(0,de.logRequest)(e,u,r),n.includeResponseInLogs&&await(0,de.logResponse)(e,u,t)),(0,de.shouldReject)(n.validateBody)?za.HttpProblems.internalServerError(r,e):void 0}if(h(i))return;let v=h.errors,T="Response body did not pass validation",S=(0,de.getErrorsFromValidator)(v);if((0,de.shouldLog)(n.validateBody)&&((0,de.logErrors)(e,u,T,[i],S),n.includeRequestInLogs&&await(0,de.logRequest)(e,u,r),n.includeResponseInLogs&&await(0,de.logResponse)(e,u,t)),(0,de.shouldReject)(n.validateBody))return za.HttpProblems.internalServerError(r,e)}o(cO,"handleResponseBodyValidation");Wa.handleResponseBodyValidation=cO});var Ob=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.handleResponseHeadersValidation=void 0;var uO=le(),qr=Hr();async function lO(e,t,r,n){let i=r.status;if(!n.validateHeaders||n.validateHeaders==="none")return;let s=(0,qr.getResponseHeadersForOperation)(e,i),a=(0,qr.validateResponseHeaders)(s,r.headers,e.route.path,t.method.toLowerCase(),r.status);if(!a.isValid){let c="Response Header validation failed";if((0,qr.shouldLog)(n.validateHeaders)){let u=n.logLevel??"info";(0,qr.logErrors)(e,u,c,a.invalidValues,a.errors),n.includeRequestInLogs&&await(0,qr.logRequest)(e,u,t),n.includeResponseInLogs&&await(0,qr.logResponse)(e,u,r)}if((0,qr.shouldReject)(n.validateHeaders))return uO.HttpProblems.internalServerError(t,e)}}o(lO,"handleResponseHeadersValidation");Qa.handleResponseHeadersValidation=lO});var Nb=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.ResponseValidationOutboundPolicy=void 0;var dO=Pb(),pO=Ob(),hO=o(async(e,t,r,n)=>{let i=await(0,pO.handleResponseHeadersValidation)(r,t,e,n);if(i!==void 0)return i;let s=await(0,dO.handleResponseBodyValidation)(r,e,t,n);return s!==void 0?s:e},"ResponseValidationOutboundPolicy");Ya.ResponseValidationOutboundPolicy=hO});var xb=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.SetBodyInboundPolicy=void 0;var fO=Je(),mO=o(async(e,t,r)=>new fO.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Za.SetBodyInboundPolicy=mO});var Lb=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.SetHeadersInboundPolicy=void 0;var Cb=D(),yO=Je(),gO=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new Cb.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 Cb.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 yO.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");Xa.SetHeadersInboundPolicy=gO});var Ub=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.SetHeadersOutboundPolicy=void 0;var Db=D(),bO=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new Db.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 Db.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");ec.SetHeadersOutboundPolicy=bO});var kb=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.SetQueryParamsInboundPolicy=void 0;var Mb=D(),_O=Je(),EO=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new Mb.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 Mb.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 _O.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");tc.SetQueryParamsInboundPolicy=EO});var Hb=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.SetStatusOutboundPolicy=void 0;var wO=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");rc.SetStatusOutboundPolicy=wO});var Fb=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.SleepInboundPolicy=void 0;var vO=D(),TO=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),SO=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new vO.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await TO(r.sleepInMs),e},"SleepInboundPolicy");nc.SleepInboundPolicy=SO});var $b=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.SupabaseJwtInboundPolicy=void 0;var qb=D(),IO=le(),AO=Je(),RO=yr(),PO=qt(),OO=o(async(e,t,r,n)=>{(0,RO.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,PO.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof AO.ZuploRequest))throw new qb.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 qb.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?IO.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");ic.SupabaseJwtInboundPolicy=OO});var Vb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var NO=Ft(),xO=Bt(),jb=D(),CO=Ke(),LO=ws(),DO=yr(),UO=o(async(e,t,r,n)=>{(0,DO.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,NO.getPolicyCacheName)(n,r),s=new xO.MemoryZoneReadThroughCache(i,{logger:CO.SystemLogMap.getLogger(t)}),a=await s.get(n);if(!a){let c=await MO(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");oc.UpstreamAzureAdServiceAuthInboundPolicy=UO;async function MO(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,LO.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 jb.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 jb.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(MO,"getAccessToken")});var Bb=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var kO=Ft(),HO=Bt(),FO=D(),qO=Ke(),fp=fn(),$O=yr(),Gb="https://accounts.google.com/o/oauth2/token",mp,jO=o(async(e,t,r,n)=>{(0,$O.optionValidator)(r,n).required("serviceAccountJson","string"),mp||(mp=await fp.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,kO.getPolicyCacheName)(n,r),a=new HO.MemoryZoneReadThroughCache(s,{logger:qO.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,fp.getTokenFromGcpServiceAccount)({serviceAccount:mp,audience:Gb,payload:i}),l=await(0,fp.exchangeGgpJwtForIdToken)(Gb,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new FO.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");sc.UpstreamFirebaseAdminAuthInboundPolicy=jO});var Kb=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.UpstreamFirebaseUserAuthInboundPolicy=void 0;var VO=Ft(),GO=Bt(),Mn=D(),BO=Ke(),KO=Qd(),yp=fn(),JO=ti(),zO=yr(),WO="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",QO=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],gp,YO=o(async(e,t,r,n)=>{if((0,zO.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(QO.indexOf(p)!==-1)throw new Mn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}gp||(gp=await yp.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!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?.");s=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?`);s=(0,JO.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Mn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,VO.getPolicyCacheName)(n,r),c=new GO.MemoryZoneReadThroughCache(a,{logger:BO.SystemLogMap.getLogger(t)}),u={uid:s,claims:i},l=await(0,KO.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,yp.getTokenFromGcpServiceAccount)({serviceAccount:gp,audience:WO,payload:u}),y=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,yp.exchangeFirebaseJwtForIdToken)(y,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");ac.UpstreamFirebaseUserAuthInboundPolicy=YO});var zb=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.UpstreamGcpJwtInboundPolicy=void 0;var Jb=fn(),ZO=yr(),bp,XO=o(async(e,t,r,n)=>{(0,ZO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),bp||(bp=await Jb.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,Jb.getTokenFromGcpServiceAccount)({serviceAccount:bp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");cc.UpstreamGcpJwtInboundPolicy=XO});var Qb=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.UpstreamGcpServiceAuthInboundPolicy=void 0;var eN=Ft(),tN=nu(),rN=Bt(),nN=D(),_p=fn(),iN=yr(),Wb="https://www.googleapis.com/oauth2/v4/token",Ep,oN=o(async(e,t,r,n)=>{(0,iN.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Ep||(Ep=await _p.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,eN.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new tN.MemoryCache(i):s=new rN.MemoryZoneReadThroughCache(i,t);let a=await s.get(n);if(!a){let c=await(0,_p.getTokenFromGcpServiceAccount)({serviceAccount:Ep,audience:Wb,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,_p.exchangeGgpJwtForIdToken)(Wb,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new nN.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");uc.UpstreamGcpServiceAuthInboundPolicy=oN});var Zb=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.ValidateJsonSchemaInbound=void 0;var sN=D(),Yb=le(),aN=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return Yb.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 sN.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 Yb.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");lc.ValidateJsonSchemaInbound=aN});var Xb=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.ServiceProviderImpl=void 0;var cN=D(),wp=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 cN.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)}};dc.ServiceProviderImpl=wp});var d_=g(f=>{"use strict";var uN=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]}),e_=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&uN(t,e,r)},lN=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.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.CreditsMeteringInboundPolicy=f.CurityPhantomTokenInboundPolicy=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.getIdForResponseHeaderSchema=f.getIdForResponseBodySchema=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.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.ResponseValidationOutboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=void 0;nh();var dN=Bt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return dN.MemoryZoneReadThroughCache}});var pN=to();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return pN.ZoneCache}});var t_=Ir();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return t_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return t_.ResponseSentEvent}});var hN=vy();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return hN.ContextData}});var vp=fd();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return vp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return vp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return vp.isZuploReadableEnvVariableName}});var fN=D();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return fN.ConfigurationError}});var mN=yd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return mN.originalFetch}});var r_=xy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return r_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return r_.purgeGatewayCache}});var n_=zy();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return n_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return n_.awsLambdaHandler}});var yN=Qy();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return yN.openApiSpecHandler}});var gN=Yy();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return gN.redirectHandler}});var bN=Xy();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return bN.urlForwardHandler}});var _N=tg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return _N.urlRewriteHandler}});var EN=ng();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return EN.webSocketHandler}});var wN=sg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return wN.webSocketPipelineHandler}});var vN=Iu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return vN.HttpStatusCode}});e_(fg(),f);e_(gg(),f);var TN=bg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return TN.AuditLogDataStaxProvider}});var SN=Eg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return SN.AuditLogPlugin}});var i_=Ig();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return i_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return i_.AmberfloMeteringPolicy}});var IN=Og();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return IN.ApiAuthKeyInboundPolicy}});var AN=Ng();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return AN.CurityPhantomTokenInboundPolicy}});var RN=Cg();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return RN.CreditsMeteringInboundPolicy}});var PN=ep();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return PN.ApiKeyInboundPolicy}});var ON=Lg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return ON.Auth0JwtInboundPolicy}});var NN=Dg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return NN.BasicAuthInboundPolicy}});var xN=Ug();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return xN.CachingInboundPolicy}});var CN=Mg();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return CN.ChangeMethodInboundPolicy}});var LN=kg();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return LN.ClearHeadersInboundPolicy}});var DN=Hg();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return DN.ClearHeadersOutboundPolicy}});var UN=Fg();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return UN.ClerkJwtInboundPolicy}});var MN=$g();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return MN.CognitoJwtInboundPolicy}});var kN=Vg();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return kN.CompositeInboundPolicy}});var HN=Gg();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return HN.FirebaseJwtInboundPolicy}});var FN=Bg();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return FN.FormDataToJsonInboundPolicy}});var qN=Kg();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return qN.GeoFilterInboundPolicy}});var $N=Jg();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return $N.JWTScopeValidationInboundPolicy}});var jN=Wg();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return jN.MockApiInboundPolicy}});var o_=eb();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return o_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return o_.setMoesifContext}});var VN=tb();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return VN.OktaJwtInboundPolicy}});var GN=qt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return GN.OpenIdJwtInboundPolicy}});var BN=rb();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return BN.PropelAuthJwtInboundPolicy}});var s_=ub();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return s_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return s_.RateLimitInboundPolicy}});var KN=hb();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return KN.ReadmeMetricsInboundPolicy}});var JN=fb();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return JN.RemoveHeadersInboundPolicy}});var zN=mb();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return zN.RemoveHeadersOutboundPolicy}});var WN=yb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return WN.RemoveQueryParamsInboundPolicy}});var QN=gb();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return QN.ReplaceStringOutboundPolicy}});var YN=_b();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return YN.RequestSizeLimitInboundPolicy}});var a_=Ab();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return a_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return a_.SchemaBasedRequestValidation}});var ZN=Rb();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return ZN.RequireOriginInboundPolicy}});var XN=Nb();Object.defineProperty(f,"ResponseValidationOutboundPolicy",{enumerable:!0,get:function(){return XN.ResponseValidationOutboundPolicy}});var ex=xb();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return ex.SetBodyInboundPolicy}});var tx=Lb();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return tx.SetHeadersInboundPolicy}});var rx=Ub();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return rx.SetHeadersOutboundPolicy}});var nx=kb();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return nx.SetQueryParamsInboundPolicy}});var ix=Hb();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return ix.SetStatusOutboundPolicy}});var ox=Fb();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return ox.SleepInboundPolicy}});var sx=$b();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return sx.SupabaseJwtInboundPolicy}});var ax=Vb();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return ax.UpstreamAzureAdServiceAuthInboundPolicy}});var cx=Bb();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return cx.UpstreamFirebaseAdminAuthInboundPolicy}});var ux=Kb();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return ux.UpstreamFirebaseUserAuthInboundPolicy}});var lx=zb();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return lx.UpstreamGcpJwtInboundPolicy}});var dx=Qb();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return dx.UpstreamGcpServiceAuthInboundPolicy}});var px=Zb();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return px.ValidateJsonSchemaInbound}});var hx=le();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return hx.HttpProblems}});var fx=lo();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return fx.ProblemResponseFormatter}});var mx=Je();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return mx.ZuploRequest}});var yx=Pr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return yx.SystemRouteName}});var c_=od();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return c_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return c_.Router}});var u_=gu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return u_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return u_.serialize}});var gx=Xb();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return gx.ServiceProviderImpl}});var l_=Fu();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return l_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return l_.SYSTEM_LOGGER}});var bx=Ru();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return lN(bx).default}});var _x=Ke();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return _x.SystemLogMap}});var $r=Ni();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return $r.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return $r.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return $r.getIdForRequestBodySchema}});Object.defineProperty(f,"getIdForResponseBodySchema",{enumerable:!0,get:function(){return $r.getIdForResponseBodySchema}});Object.defineProperty(f,"getIdForResponseHeaderSchema",{enumerable:!0,get:function(){return $r.getIdForResponseHeaderSchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return $r.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return $r.sanitizedIdentifierName}})});var p_=g(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.BaseCryptoBeta=kn.supportedDigests=void 0;kn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Tp=class{static{o(this,"BaseCryptoBeta")}};kn.BaseCryptoBeta=Tp});var h_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.WorkerCryptoBeta=void 0;var Sp=p_(),Ex=D(),Ip=class extends Sp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!Sp.supportedDigests.includes(t.toLowerCase()))throw new Ex.RuntimeError(`Algorithm ${t} is not supported. Try using ${Sp.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("")}};pc.WorkerCryptoBeta=Ip});var f_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.BaseKeyValueStore=void 0;var Ap=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};hc.BaseKeyValueStore=Ap});var y_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.WorkerKeyValueStore=void 0;var m_=D(),wx=f_(),Rp=class extends wx.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new m_.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 m_.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)}};fc.WorkerKeyValueStore=Rp});var Ct=g(ut=>{"use strict";var vx=ut&&ut.__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]}),Tx=ut&&ut.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&vx(t,e,r)};Object.defineProperty(ut,"__esModule",{value:!0});ut.KeyValueStore=ut.CryptoBeta=void 0;Tx(d_(),ut);var Sx=h_();Object.defineProperty(ut,"CryptoBeta",{enumerable:!0,get:function(){return Sx.WorkerCryptoBeta}});var Ix=y_();Object.defineProperty(ut,"KeyValueStore",{enumerable:!0,get:function(){return Ix.WorkerKeyValueStore}})});var CC={};Wi(CC,{GraphQLComplexityLimitInboundPolicy:()=>z_,GraphQLDisableIntrospectionInboundPolicy:()=>Q_});module.exports=Qi(CC);var Wn=Xp(Ct());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function ve(e){return typeof e=="object"&&e!==null}o(ve,"isObjectLike");function At(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(At,"invariant");var Ax=/\r\n|[\n\r]/g;function Hn(e,t){let r=0,n=1;for(let i of e.body.matchAll(Ax)){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}}o(Hn,"getLocation");function Pp(e){return mc(e.source,Hn(e.source,e.start))}o(Pp,"printLocation");function mc(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}
66
- `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let y=Math.floor(u/80),h=u%80,m=[];for(let v=0;v<p.length;v+=80)m.push(p.slice(v,v+80));return l+g_([[`${a} |`,m[0]],...m.slice(1,y+1).map(v=>["|",v]),["|","^".padStart(h)],["|",m[y+1]]])}return l+g_([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(mc,"printSourceLocation");function g_(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(`
67
- `)}o(g_,"printPrefixedLines");function Rx(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(Rx,"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}=Rx(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=b_(Array.isArray(a)?a:a?[a]:void 0);let y=b_((n=this.nodes)===null||n===void 0?void 0:n.map(m=>m.loc).filter(m=>m!=null));this.source=c??(y==null||(i=y[0])===null||i===void 0?void 0:i.source),this.positions=u??y?.map(m=>m.start),this.locations=u&&c?u.map(m=>Hn(c,m)):y?.map(m=>Hn(m.source,m.start));let h=ve(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+=`
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 Ly.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=md(await Ny(this.body||""))}return t}};gn.AwsV4Signer=Ms;async function bi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?yd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,yd.encode(t))}o(bi,"hmac");async function Ny(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?yd.encode(e):e)}o(Ny,"hash");function md(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(md,"buf2hex");function Cy(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Cy,"encodeRfc3986");function xI(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 xy?[xy[s],a]:[s,a]}o(xI,"guessServiceRegion")});var Dy=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.convertStringToUtf8Array=Tt.convertUtf8ArrayToString=Tt.base64Encode=Tt.base64Decode=void 0;function NI(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(NI,"b64ToUint6");function CI(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|=NI(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(CI,"base64Decode");Tt.base64Decode=CI;function ks(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(ks,"uint6ToB64");function LI(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(ks(i>>>18&63),ks(i>>>12&63),ks(i>>>6&63),ks(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(LI,"base64Encode");Tt.base64Encode=LI;function DI(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(DI,"convertUtf8ArrayToString");Tt.convertUtf8ArrayToString=DI;function UI(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(UI,"convertStringToUtf8Array");Tt.convertStringToUtf8Array=UI});var Uy=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.toCLFDate=void 0;function bn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(bn,"numberToString");function MI(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=bn(Math.floor(r/60)),s=bn(r%60);return`${n}${i}${s}`}o(MI,"getCLFOffset");function kI(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=bn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=bn(e.getHours()),a=bn(e.getMinutes()),c=bn(e.getSeconds()),u=MI(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(kI,"toCLFDate");Hs.toCLFDate=kI});var jy=g(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.getResponse=dr.awsLambdaHandler=dr.AwsLambdaHandlerExtensions=void 0;var HI=vr(),My=Oy(),_i=L(),FI=xt(),qI=bd(),Hy=Dy(),Fy=Uy(),ky=(0,HI.debug)("zuplo:runtime"),$I="X-Amzn-Trace-Id",jI="x-amzn-errortype",qy=[],VI=o(async(e,t,r)=>{let n=r;for await(let i of qy)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends _i.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get($I)??void 0,this.errorType=r.get(jI)??void 0}};dr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{qy.push(e)}};async function GI(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 _i.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new _i.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new _i.ConfigurationError("region is not set in the handler options");if(!s)throw new _i.ConfigurationError("functionName is not set in the handler options");let l=new qI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(ky(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,y]=await JI(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=KI(e,t):m=await BI(e,t,{useAwsResourcePathStyle:c}),ky("Calling onSendingAwsLambdaEvent hook");let v=await VI(e,t,m);v.body=p,v.isBase64Encoded=y;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return $y(T)}catch(S){if(S instanceof Ke){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return FI.HttpProblems.internalServerError(e,t,void 0,k)}throw S}}o(GI,"awsLambdaHandler");dr.awsLambdaHandler=GI;async function $y(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,Hy.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($y,"getResponse");dr.getResponse=$y;async function BI(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,Fy.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:WI(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(BI,"buildEventVersion1");function KI(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,Fy.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(KI,"buildEventVersion2");async function JI(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&&zI(t,i)){let s=await e.arrayBuffer();r=(0,Hy.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(JI,"getBodyResult");function zI(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(zI,"matchesContentType");function WI(e,t=!1){if(!t)return e;let r=(0,My.parse)(e),n=(0,My.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(WI,"getResourcePath")});var En=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.getHandlerUserLogFunction=_n.logBadGatewayResponses=void 0;var QI=Ge(),YI=ee(),ZI=[502,503,504];async function XI(e,t){if(ZI.includes(e.status)){let r=QI.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(XI,"logBadGatewayResponses");_n.logBadGatewayResponses=XI;var _d;function eA(e){if(_d===void 0){let r=YI.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),_d=r}return e.log[_d]}o(eA,"getHandlerUserLogFunction");_n.getHandlerUserLogFunction=eA});var Gy=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.openApiSpecHandler=void 0;var Vy=L(),tA=pe(),Ed=ee(),rA=En();async function nA(e,t){let r=Ed.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Ed.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Vy.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=iA(s);if(!a.isValid)throw new Vy.ConfigurationError(a.error);let c;Ed.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 tA.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,rA.logBadGatewayResponses)(l,t),l}o(nA,"openApiSpecHandler");Fs.openApiSpecHandler=nA;var iA=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 By=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.redirectHandler=void 0;var oA=L();async function sA(e,t){let r=t.route.handler.options;if(!r.location)throw new oA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(sA,"redirectHandler");qs.redirectHandler=sA});var Jy=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.urlForwardHandler=void 0;var aA=L(),Ky=En();function cA(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(cA,"join");async function uA(e,t){let r=(0,Ky.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 aA.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=cA(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}),y=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${y}ms`),(0,Ky.logBadGatewayResponses)(p,t),p}o(uA,"urlForwardHandler");$s.urlForwardHandler=uA});var Wy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.urlRewriteHandler=void 0;var lA=L(),zy=En(),dA=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 pA(e,t){let r=(0,zy.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new lA.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?dA(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,zy.logBadGatewayResponses)(d,t),d}o(pA,"urlRewriteHandler");js.urlRewriteHandler=pA});var Yy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.webSocketHandler=void 0;var Qy=L(),hA=ud(),fA=xt(),mA=ee(),yA=En();async function gA(e,t){let r=mA.Environment.instance,n=t.route.handler.options,i=(0,yA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Qy.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return fA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Qy.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,hA.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.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 y=JSON.stringify({url:c});return new Response(y,{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(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(y)}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(gA,"webSocketHandler");Vs.webSocketHandler=gA});var Zy=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.webSocketPolicyProcessor=wn.getWebSocketPolicyFunctions=void 0;var bA=L(),_A=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 bA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");wn.getWebSocketPolicyFunctions=_A;var EA=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");wn.webSocketPolicyProcessor=EA});var eg=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.webSocketPipelineHandler=void 0;var wd=L(),wA=xt(),vA=ee(),TA=En(),vd=Zy();function Xy(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,vd.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(Xy,"wireUpListeners");async function SA(e,t){let r=vA.Environment.instance,n=t.route.handler.options,i=(0,TA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new wd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return wA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new wd.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 wd.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(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(k)}let d=new WebSocketPair,[p,y]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),y.accept();let v=n.policies&&n.policies.inbound?(0,vd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,vd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Xy(y,m,e,t,v),Xy(m,y,e,t,T),new Response(null,{status:101,webSocket:p})}o(SA,"webSocketPipelineHandler");Gs.webSocketPipelineHandler=SA});var tg=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.DynaTraceLoggingPlugin=void 0;var IA=ve(),Td=ee(),AA=Or(),PA=Ct(),RA=yt(),Sd=class extends PA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Id(this.options)}};Bs.DynaTraceLoggingPlugin=Sd;var Id=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Td.Environment.instance.loggingEnvironmentType,this.#i=Td.Environment.instance.loggingEnvironmentStage,this.#r=Td.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,RA.stringifyNonString)((0,AA.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 IA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var rg=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.LokiLoggingPlugin=void 0;var OA=ve(),Ad=ee(),xA=Or(),NA=Ct(),CA=yt(),Pd=class extends NA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Od(this.options)}};Ks.LokiLoggingPlugin=Pd;var Rd=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 LA(e,t){return btoa(`${e}:${t}`)}o(LA,"createBasicDigest");var Od=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=LA(t.username,t.password),this.#n=Ad.Environment.instance.loggingEnvironmentType,this.#i=Ad.Environment.instance.loggingEnvironmentStage,this.#r=Ad.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new Rd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,CA.stringifyNonString)((0,xA.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 ng=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.SumoLogicLoggingPlugin=void 0;var DA=ve(),xd=ee(),UA=Or(),MA=Ct(),kA=yt(),Nd=class extends MA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Cd(this.options)}};Js.SumoLogicLoggingPlugin=Nd;var Cd=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=xd.Environment.instance.loggingEnvironmentType,this.#n=xd.Environment.instance.loggingEnvironmentStage,this.#t=xd.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,kA.stringifyNonString)((0,UA.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 og=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.VMWareLogInsightTransport=vn.VMWareLogInsightLoggingPlugin=void 0;var HA=L(),FA=ve(),Ld=ee(),qA=Ct(),ig=yt(),$A="d3a5b78f-8236-48f5-b1df-4fe269d41172",Dd=class extends qA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new zs(this.options)}};vn.VMWareLogInsightLoggingPlugin=Dd;var zs=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new HA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Ld.Environment.instance.loggingEnvironmentType,this.#n=Ld.Environment.instance.loggingEnvironmentStage,this.#t=Ld.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,ig.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,ig.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/${$A}`,{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 FA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};vn.VMWareLogInsightTransport=zs});var ag=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AWSLogTransport=Tn.AWSLoggingPlugin=void 0;var jA=ve(),sg=ee(),VA=Or(),GA=Ct(),BA=yt(),KA=bd(),Ud=class extends GA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ws(this.options)}};Tn.AWSLoggingPlugin=Ud;var Ws=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new jA.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 KA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=sg.Environment.instance.loggingEnvironmentType,this.environment=sg.Environment.instance.deploymentName}async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,BA.stringifyNonString)((0,VA.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())}};Tn.AWSLogTransport=Ws});var cg=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 JA=Gl();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return JA.DataDogLoggingPlugin}});var zA=tg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return zA.DynaTraceLoggingPlugin}});var WA=Es();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return WA.GoogleCloudLoggingPlugin}});var QA=rg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return QA.LokiLoggingPlugin}});var YA=ng();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return YA.SumoLogicLoggingPlugin}});var ZA=og();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return ZA.VMWareLogInsightLoggingPlugin}});var XA=ag();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return XA.AWSLoggingPlugin}})});var ug=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.DataDogMetricsError=pr.DataDogMetricsTransport=pr.DataDogMetricsPlugin=void 0;var eP=Ge(),tP=ve(),rP=fo(),Md=new WeakMap,nP={tags:[]},kd=class extends rP.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Qs(this.options)}static setContext(t,r){let n=Md.get(t);n||(n=nP);let i=Object.assign({...n},r);Md.set(t,i)}};pr.DataDogMetricsPlugin=kd;var Qs=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 tP.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,eP.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Md.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 Ys(await n.text())}};pr.DataDogMetricsTransport=Qs;var Ys=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};pr.DataDogMetricsError=Ys});var lg=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.DynaTraceMetricsError=hr.DynaTraceMetricsTransport=hr.DynatraceMetricsPlugin=void 0;var iP=Ge(),oP=ve(),sP=fo(),Hd=new WeakMap,aP={dimensions:[]},Fd=class extends sP.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zs(this.options)}static setContext(t,r){let n=Hd.get(t);n||(n=aP);let i=Object.assign({...n},r);Hd.set(t,i)}};hr.DynatraceMetricsPlugin=Fd;var Zs=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 oP.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,iP.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Hd.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 Xs(await n.text())}};hr.DynaTraceMetricsTransport=Zs;var Xs=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};hr.DynaTraceMetricsError=Xs});var dg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.DynatraceMetricsPlugin=Sn.DataDogMetricsPlugin=void 0;var cP=ug();Object.defineProperty(Sn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return cP.DataDogMetricsPlugin}});var uP=lg();Object.defineProperty(Sn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return uP.DynatraceMetricsPlugin}})});var pg=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.AuditLogDataStaxProvider=void 0;var qd=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)})}))}};ea.AuditLogDataStaxProvider=qd});var fg=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.AuditLogPlugin=void 0;var lP=Ot(),dP=ve(),$d=class extends lP.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new jd(t,this.#e,this.#t)}};ta.AuditLogPlugin=$d;var hg=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),pP={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},jd=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...pP};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 dP.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?hg(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?hg(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(y=>{r.log.error(y)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var _g=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.AmberfloMeteringInboundPolicy=In.AmberfloMeteringPolicy=void 0;var mg=L(),hP=ve(),yg=Yn(),bg=new WeakMap,gg={},Vd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){bg.set(t,r)}};In.AmberfloMeteringPolicy=Vd;async function fP(e,t,r,n){if(!r.statusCodes)throw new mg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,yg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=bg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new mg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,yg.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)},y=gg[r.apiKey];if(!y){let h=r.apiKey,m=e.headers.get("zm-test-id")??"";y=new hP.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});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]=y}y.enqueue(p),t.waitUntil(y.waitUntilFlushed())}}),e}o(fP,"AmberfloMeteringInboundPolicy");In.AmberfloMeteringInboundPolicy=fP});var Gd=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.sha256=void 0;async function mP(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(mP,"sha256");ra.sha256=mP});var kt=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.getPolicyCacheName=void 0;var yP=Gd(),Eg=new Map;async function gP(e,t){let r,n=Eg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,yP.sha256)(JSON.stringify({policyName:e,options:t}))}`,Eg.set(e,r)),r}o(gP,"getPolicyCacheName");na.getPolicyCacheName=gP});var zd=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.ApiKeyInboundPolicy=void 0;var bP=kt(),_P=Vt(),wg=cd(),Bd=L(),EP=xt(),Kd=Ge(),Jd=ee(),wP=bs(),vg="key-metadata-cache-type";function vP(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(vP,"getKeyValue");async function TP(e,t,r,n){if(!r.bucketName)if(wg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=wg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Bd.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 Bd.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?e:EP.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=vP(a,i);if(!c||c==="")return s("No key present");let u=await SP(c),l=await(0,bP.getPolicyCacheName)(n,i),d=new _P.MemoryZoneReadThroughCache(l,{logger:Kd.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!==vg&&Kd.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let y={key:c},h=await(0,wP.fetchRetry)({retryDelayMs:5,retries:2,logger:Kd.SystemLogMap.getLogger(t)},`${Jd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Jd.Environment.instance.deploymentName??"unknown","User-Agent":Jd.Environment.instance.systemUserAgent},body:JSON.stringify(y)});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 Bd.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),v={isValid:!0,typeId:vg,user:{sub:m.name,data:m.metadata}};return e.user=v.user,d.put(u,v,i.cacheTtlSeconds),e}o(TP,"ApiKeyInboundPolicy");ia.ApiKeyInboundPolicy=TP;async function SP(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(SP,"hashValue")});var Tg=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.ApiAuthKeyInboundPolicy=void 0;var IP=zd();oa.ApiAuthKeyInboundPolicy=IP.ApiKeyInboundPolicy});var Sg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.CurityPhantomTokenInboundPolicy=void 0;var AP=kt(),PP=Vt(),sa=pe(),RP=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return sa.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=OP(i);if(!s)return sa.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,AP.getPolicyCacheName)(n,r),c=new PP.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}'`),sa.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):sa.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");aa.CurityPhantomTokenInboundPolicy=RP;function OP(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(OP,"getToken")});var Ag=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.CreditsMeteringInboundPolicy=void 0;var Ei=pe(),Ig=ee(),xP=o(async(e,t,r)=>{let n=e.user;if(!n)return Ei.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 Ei.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 NP(s,i,t);if(!a)return Ei.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return Ei.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return Ei.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 CP(s,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");ca.CreditsMeteringInboundPolicy=xP;async function NP(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=Ig.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(NP,"getSubscription");async function CP(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:s}=Ig.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(CP,"consumeSubscription")});var Ht=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.OpenIdJwtInboundPolicy=void 0;var Qd=(ys(),Ji(ms)),Yd=L(),LP=pe(),Wd={},DP=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Yd.ConfigurationError("Invalid State - jwkUrl not set");Wd[t.jwkUrl]||(Wd[t.jwkUrl]=(0,Qd.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Qd.jwtVerify)(e,Wd[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),UP=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,Qd.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),MP=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(y=>LP.HttpProblems.unauthorized(e,t,{detail:y}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Yd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Yd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?DP:UP,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 y=i.substring(s.length);if(!y||y.length===0)return a("No bearer token on authorization header");try{return await c(y,r)}catch(h){let m=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${m.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${m.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");ua.OpenIdJwtInboundPolicy=MP});var Pg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.Auth0JwtInboundPolicy=void 0;var kP=Ht(),HP=o(async(e,t,r,n)=>(0,kP.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");la.Auth0JwtInboundPolicy=HP});var Rg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.BasicAuthInboundPolicy=void 0;var FP=pe(),qP=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>FP.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 y=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(v=>v.username===y&&v.password===h);return m||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");da.BasicAuthInboundPolicy=qP});var Og=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.CachingInboundPolicy=void 0;var $P=kt(),jP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function VP(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(VP,"digestMessage");var GP=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 VP(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 BP(e,t,r,n){let i=await(0,$P.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await GP(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 y=r?.expirationSecondsTtl??60,h=new Response(p.body,p);jP.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${y}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(BP,"CachingInboundPolicy");pa.CachingInboundPolicy=BP});var xg=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.ChangeMethodInboundPolicy=void 0;var KP=L(),JP=Be(),zP=o(async(e,t,r,n)=>{if(!r.method)throw new KP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new JP.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");ha.ChangeMethodInboundPolicy=zP});var Ng=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.ClearHeadersInboundPolicy=void 0;var WP=Be(),QP=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 WP.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");fa.ClearHeadersInboundPolicy=QP});var Cg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.ClearHeadersOutboundPolicy=void 0;var YP=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");ma.ClearHeadersOutboundPolicy=YP});var Lg=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.ClerkJwtInboundPolicy=void 0;var ZP=Ht(),XP=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,ZP.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");ya.ClerkJwtInboundPolicy=XP});var Ug=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.CognitoJwtInboundPolicy=void 0;var Dg=L(),eR=Ht(),tR=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new Dg.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Dg.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,eR.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");ga.CognitoJwtInboundPolicy=tR});var kg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.CompositeInboundPolicy=void 0;var rR=L(),nR=pn(),Mg=Zn(),iR=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new rR.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=nR.Gateway.instance,s=(0,Mg.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Mg.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");ba.CompositeInboundPolicy=iR});var fr=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.optionValidator=void 0;var wi=L();function oR(e,t){let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new wi.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 wi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new wi.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 wi.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 wi.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(oR,"optionValidator");_a.optionValidator=oR});var Hg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.FirebaseJwtInboundPolicy=void 0;var sR=fr(),aR=Ht(),cR=o(async(e,t,r,n)=>((0,sR.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,aR.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");Ea.FirebaseJwtInboundPolicy=cR});var Fg=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.FormDataToJsonInboundPolicy=void 0;var uR=Be(),lR=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 uR.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");wa.FormDataToJsonInboundPolicy=lR});var qg=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.GeoFilterInboundPolicy=void 0;var dR=L(),pR=pe(),An="__unknown__",hR=o(async(e,t,r,n)=>{let i={allow:{countries:Rn(r.allow?.countries,"allow.countries",n),regionCodes:Rn(r.allow?.regionCodes,"allow.regionCode",n),asns:Rn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Rn(r.block?.countries,"block.countries",n),regionCodes:Rn(r.block?.regionCodes,"block.regionCode",n),asns:Rn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??An,a=t.incomingRequestProperties.regionCode?.toLowerCase()??An,c=t.incomingRequestProperties.asn?.toString()??An,u=i.ignoreUnknown&&s===An,l=i.ignoreUnknown&&a===An,d=i.ignoreUnknown&&c===An,p=i.allow.countries,y=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||y.length>0&&!y.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Pn(e,t,n,s,a,c);let m=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return m.length>0&&m.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Pn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");va.GeoFilterInboundPolicy=hR;function Pn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),pR.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Pn,"blockedResponse");function Rn(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 dR.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Rn,"toLowerStringArray")});var $g=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.JWTScopeValidationInboundPolicy=void 0;var fR=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");Ta.JWTScopeValidationInboundPolicy=fR});var Vg=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.MockApiInboundPolicy=void 0;var mR=pe(),yR=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Zd(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 Zd(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(y=>{a.push({responseName:c,contentName:l,exampleName:y,exampleValue:d[y]})})})}),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 jg(a[c])}else return a.length>0?jg(a[0]):Zd(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");Sa.MockApiInboundPolicy=yR;function jg(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(jg,"generateResponse");var Zd=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return mR.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var zg=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.MoesifInboundPolicy=On.setMoesifContext=void 0;var gR=L(),bR=ve(),_R="Incoming",ER={logRequestBody:!0,logResponseBody:!0};function Gg(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(Gg,"headersToObject");function Bg(){return new Date().toISOString()}o(Bg,"timestamp");var Xd=new WeakMap,wR={};function vR(e,t){let r=Xd.get(e);r||(r=wR);let n=Object.assign({...r},t);Xd.set(e,n)}o(vR,"setMoesifContext");On.setMoesifContext=vR;async function Kg(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(Kg,"readBody");var TR={},ep;function Jg(){if(!ep)throw new gR.RuntimeError("Invalid State - no _lastLogger");return ep}o(Jg,"getLastLogger");function SR(e){let t=TR[e];return t||(t=new bR.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Jg().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||Jg().error({status:i.status,body:await i.text()})})),t}o(SR,"getDispatcher");async function IR(e,t,r,n){ep=t.log;let i=Bg(),s=Object.assign(ER,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await Kg(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=SR(s.applicationId),d=e.headers.get("true-client-ip"),p=Xd.get(t)??{},y={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Gg(e.headers)},h=s.logResponseBody?await Kg(c,t):void 0,m={time:Bg(),status:c.status,headers:Gg(c.headers),body:h},v={request:y,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:_R};l.enqueue(v),t.waitUntil(l.waitUntilFlushed())}),e}o(IR,"MoesifInboundPolicy");On.MoesifInboundPolicy=IR});var Wg=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.OktaJwtInboundPolicy=void 0;var AR=Ht(),PR=o(async(e,t,r,n)=>(0,AR.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Ia.OktaJwtInboundPolicy=PR});var Qg=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.PropelAuthJwtInboundPolicy=void 0;var RR=(ys(),Ji(ms)),OR=Ht(),tp,xR=o(async(e,t,r,n)=>{if(!tp)try{tp=await(0,RR.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,OR.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:tp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Aa.PropelAuthJwtInboundPolicy=xR});var Yg=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 qe=Wt(),et=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var vi=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=vi;var Ti=class extends et{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ti;function NR(e,t){if((0,qe.isUndefined)(e))throw new vi(t)}o(NR,"throwIfUndefined");G.throwIfUndefined=NR;function rp(e,t){if((0,qe.isUndefinedOrNull)(e))throw new vi(t)}o(rp,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=rp;function CR(e,t){if(rp(e,t),!(0,qe.isString)(e))throw new Ti(t,"string")}o(CR,"throwIfNotString");G.throwIfNotString=CR;function LR(e,t){if(rp(e,t),!(0,qe.isNumber)(e))throw new Ti(t,"number")}o(LR,"throwIfNotNumber");G.throwIfNotNumber=LR;var Si=class extends et{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Si;var xn=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=xn;function DR(e,t,r,n){if((0,qe.isUndefined)(n))throw new Si(e,t,r)}o(DR,"throwIfOptionUndefined");G.throwIfOptionUndefined=DR;function Pa(e,t,r,n){if((0,qe.isUndefinedOrNull)(n))throw new Si(e,t,r)}o(Pa,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Pa;function UR(e,t,r,n){if(Pa(e,t,r,n),!(0,qe.isString)(n))throw new xn(e,t,r,"string")}o(UR,"throwIfOptionNotString");G.throwIfOptionNotString=UR;function MR(e,t,r,n){if(Pa(e,t,r,n),!(0,qe.isNumber)(n))throw new xn(e,t,r,"number")}o(MR,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=MR;function kR(e,t,r,n){if(Pa(e,t,r,n),!(0,qe.isObject)(n))throw new xn(e,t,r,"object")}o(kR,"throwIfOptionNotObject");G.throwIfOptionNotObject=kR;function HR(e,t){if((0,qe.isUndefined)(e))throw new et(t)}o(HR,"throwIfStateUndefined");G.throwIfStateUndefined=HR;function Ra(e,t){if((0,qe.isUndefinedOrNull)(e))throw new et(t)}o(Ra,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Ra;function FR(e,t){if(Ra(e,t),!(0,qe.isString)(e))throw new et(t);return!0}o(FR,"throwIfStateNotString");G.throwIfStateNotString=FR;function qR(e,t){if(Ra(e,t),!(0,qe.isNumber)(e))throw new et(t);return!0}o(qR,"throwIfStateNotNumber");G.throwIfStateNotNumber=qR;function $R(e,t){if(Ra(e,t),!(0,qe.isObject)(e))throw new et(t);return!0}o($R,"throwIfStateNotObject");G.throwIfStateNotObject=$R});var Zg=g(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.InMemoryRedisClient=Nn.StandardRedisClient=void 0;var np=L(),Oa=Yg(),ip=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,Oa.throwIfNotString)(t,"redisClientUrl"),(0,Oa.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,Oa.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 np.SystemError("Redis client failed with 401: Unauthorized"):new np.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Nn.StandardRedisClient=ip;var op=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Oa.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 np.SystemError("The in-memory redis client only supports /rate-limit calls")}};Nn.InMemoryRedisClient=op});var nb=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RateLimitInboundPolicy=void 0;var jR=vr(),VR=kt(),GR=Zi(),Ft=L(),BR=pe(),Xg=Ge(),Ii=ee(),eb=Zg(),tb=Wt(),xa=(0,jR.debug)("zuplo:policies:RateLimitInboundPolicy"),KR="strict",JR=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"),zR=o(async e=>({key:`ip-${JR(e)}`}),"getIP"),WR=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),QR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Na;function YR(e,t){let r;if(Na)return Na;if(Ii.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new eb.InMemoryRedisClient,Na=r,r;let{authApiJWT:n,redisURL:i}=Ii.Environment.instance;if(!(0,tb.isString)(i))throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,tb.isString)(n))throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=eb.StandardRedisClient.initialize(i,n,Ii.Environment.instance.deploymentName??"unknown",Ii.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Na=r,r}o(YR,"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 ZR(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Ft.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 Ft.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 Ft.RuntimeError(u)}return c},"outerFunction")}o(ZR,"wrapUserFunction");var XR="Retry-After",e0=o(async(e,t,r,n)=>{let i=Date.now(),s=Xg.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new Ft.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[XR]=l.toString()),BR.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:ZR(r,n),user:WR,ip:zR,all:QR}[r.rateLimitBy],d=await l(e,t,n),p=d.key,y=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",v=YR(n,s),S=`bucket/${Ii.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??KR)==="async"){let C=await(0,VR.getPolicyCacheName)(n,r),re=new GR.ZoneCache(C,{logger:Xg.SystemLogMap.getLogger(t)}),ne=rb(S,h,v,s,t.requestId),me=await re.get(S);if(me!==void 0&&me<=Date.now()){xa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Ve=Math.round((me-Date.now())/1e3);return c(m,Ve)}return t.addEventListener("responseSending",Ve=>{try{let E=Ve,H=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>y){let Gc=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,Gc,Ce.ttlSeconds).catch(Bp=>{throw s.error(Bp),Bp}),xa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(m,Ce.ttlSeconds)}return H})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let j=await rb(S,h,v,s,t.requestId);return j.count>y?(xa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(m,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;xa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ca.RateLimitInboundPolicy=e0});var ab=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.ReadmeMetricsInboundPolicy=void 0;var t0=ve(),sp=ee(),ib=Yn(),ap;function ob(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(ob,"headersToNameValuePairs");function r0(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(r0,"queryToNameValueParis");function n0(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(n0,"parseIntOrUndefined");var sb={};async function i0(e,t,r,n){let i=new Date,s=Date.now();return ap||(ap={name:"zuplo",version:sp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${sp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,ib.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,ib.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:sp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:ap,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:ob(e.headers),queryString:r0(e.query)},response:{status:a.status,statusText:a.statusText,headers:ob(a.headers),content:{size:n0(e.headers.get("content-length"))}}}]}}},d=sb[r.apiKey];if(!d){let p=r.apiKey;d=new t0.BatchDispatch("readme-metering-inbound-policy",10,async y=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(y),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),sb[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(i0,"ReadmeMetricsInboundPolicy");La.ReadmeMetricsInboundPolicy=i0});var cb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.RemoveHeadersInboundPolicy=void 0;var o0=L(),s0=Be(),a0=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new o0.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 s0.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");Da.RemoveHeadersInboundPolicy=a0});var ub=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.RemoveHeadersOutboundPolicy=void 0;var c0=L(),u0=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new c0.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");Ua.RemoveHeadersOutboundPolicy=u0});var lb=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.RemoveQueryParamsInboundPolicy=void 0;var l0=L(),d0=Be(),p0=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new l0.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 d0.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");Ma.RemoveQueryParamsInboundPolicy=p0});var db=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.ReplaceStringOutboundPolicy=void 0;var h0=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");ka.ReplaceStringOutboundPolicy=h0});var hb=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.RequestSizeLimitInboundPolicy=void 0;var pb=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),f0=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?pb():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?pb():e},"RequestSizeLimitInboundPolicy");Ha.RequestSizeLimitInboundPolicy=f0});var Fa=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function m0(e,t,r){return`_${Ur(e+"_"+t+"_"+r)}`}o(m0,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=m0;function y0(e,t,r,n){return`_${Ur(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(y0,"getIdForParameterSchema");tt.getIdForParameterSchema=y0;function g0(e,t,r){return`_${Ur(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Ur(r.toLowerCase())}`}o(g0,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=g0;function b0(e,t){return`_${Ur(e)}__${Ur(t)}`}o(b0,"getIdForRefSchema");tt.getIdForRefSchema=b0;function Ur(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(Ur,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Ur});var Ai=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var _0=pn(),E0=Fa(),w0=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");Le.getParametersForOperation=w0;var v0=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,E0.getIdForParameterSchema)(r,n,i,u.name),d=_0.Gateway.instance.schemaValidator[l],p=d(t[u.name]),y=(0,Le.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${y.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Le.validateParameters=v0;var T0=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=T0;var S0=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=S0;var I0=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=I0;var A0=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");Le.getErrorsFromValidator=A0});var fb=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.handleBodyValidation=void 0;var P0=pn(),qa=pe(),R0=Fa(),Je=Ai();async function O0(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let m=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,v=qa.HttpProblems.badRequest(t,e,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",m,[n],h),(0,Je.shouldReject)(r.validateBody))return v}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,m=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)?m:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,R0.getIdForRequestBodySchema)(e.route.path,t.method,i),c=P0.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")}`,m=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)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),y=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 y}o(O0,"handleBodyValidation");$a.handleBodyValidation=O0});var mb=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.handleHeadersValidation=void 0;var x0=pe(),Pi=Ai();function N0(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Pi.getParametersForOperation)(e),s=(0,Pi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=x0.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Pi.shouldLog)(r.validateHeaders)&&(0,Pi.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Pi.shouldReject)(r.validateHeaders))return c}}o(N0,"handleHeadersValidation");ja.handleHeadersValidation=N0});var yb=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.handlePathParameterValidation=void 0;var C0=pe(),Ri=Ai();function L0(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Ri.getParametersForOperation)(e),i=(0,Ri.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=C0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ri.shouldLog)(r.validatePathParameters)&&(0,Ri.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ri.shouldReject)(r.validatePathParameters))return a}}o(L0,"handlePathParameterValidation");Va.handlePathParameterValidation=L0});var gb=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.handleQueryParameterValidation=void 0;var D0=pe(),Oi=Ai();function U0(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Oi.getParametersForOperation)(e),i=(0,Oi.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=D0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Oi.shouldLog)(r.validateQueryParameters)&&(0,Oi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Oi.shouldReject)(r.validateQueryParameters))return a}}o(U0,"handleQueryParameterValidation");Ga.handleQueryParameterValidation=U0});var bb=g(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.SchemaBasedRequestValidation=Mr.RequestValidationInboundPolicy=void 0;var M0=fb(),k0=mb(),H0=yb(),F0=gb(),q0=o(async(e,t,r)=>{let n=(0,F0.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,H0.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,k0.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,M0.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Mr.RequestValidationInboundPolicy=q0;Mr.SchemaBasedRequestValidation=Mr.RequestValidationInboundPolicy});var _b=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.RequireOriginInboundPolicy=void 0;var $0=L(),j0=pe(),V0=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new $0.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 j0.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");Ba.RequireOriginInboundPolicy=V0});var Eb=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SetBodyInboundPolicy=void 0;var G0=Be(),B0=o(async(e,t,r)=>new G0.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Ka.SetBodyInboundPolicy=B0});var vb=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SetHeadersInboundPolicy=void 0;var wb=L(),K0=Be(),J0=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new wb.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 wb.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 K0.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");Ja.SetHeadersInboundPolicy=J0});var Sb=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.SetHeadersOutboundPolicy=void 0;var Tb=L(),z0=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new Tb.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 Tb.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");za.SetHeadersOutboundPolicy=z0});var Ab=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.SetQueryParamsInboundPolicy=void 0;var Ib=L(),W0=Be(),Q0=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new Ib.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 Ib.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 W0.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");Wa.SetQueryParamsInboundPolicy=Q0});var Pb=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.SetStatusOutboundPolicy=void 0;var Y0=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");Qa.SetStatusOutboundPolicy=Y0});var Rb=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.SleepInboundPolicy=void 0;var Z0=L(),X0=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),eO=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new Z0.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await X0(r.sleepInMs),e},"SleepInboundPolicy");Ya.SleepInboundPolicy=eO});var xb=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.SupabaseJwtInboundPolicy=void 0;var Ob=L(),tO=pe(),rO=Be(),nO=fr(),iO=Ht(),oO=o(async(e,t,r,n)=>{(0,nO.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,iO.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof rO.ZuploRequest))throw new Ob.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 Ob.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?tO.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Za.SupabaseJwtInboundPolicy=oO});var Cb=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var sO=kt(),aO=Vt(),Nb=L(),cO=Ge(),uO=bs(),lO=fr(),dO=o(async(e,t,r,n)=>{(0,lO.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,sO.getPolicyCacheName)(n,r),s=new aO.MemoryZoneReadThroughCache(i,{logger:cO.SystemLogMap.getLogger(t)}),a=await s.get(n);if(!a){let c=await pO(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");Xa.UpstreamAzureAdServiceAuthInboundPolicy=dO;async function pO(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,uO.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 Nb.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 Nb.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(pO,"getAccessToken")});var Db=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var hO=kt(),fO=Vt(),mO=L(),yO=Ge(),cp=un(),gO=fr(),Lb="https://accounts.google.com/o/oauth2/token",up,bO=o(async(e,t,r,n)=>{(0,gO.optionValidator)(r,n).required("serviceAccountJson","string"),up||(up=await cp.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,hO.getPolicyCacheName)(n,r),a=new fO.MemoryZoneReadThroughCache(s,{logger:yO.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,cp.getTokenFromGcpServiceAccount)({serviceAccount:up,audience:Lb,payload:i}),l=await(0,cp.exchangeGgpJwtForIdToken)(Lb,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new mO.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");ec.UpstreamFirebaseAdminAuthInboundPolicy=bO});var Ub=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var _O=kt(),EO=Vt(),Cn=L(),wO=Ge(),vO=Gd(),lp=un(),TO=Yn(),SO=fr(),IO="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",AO=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],dp,PO=o(async(e,t,r,n)=>{if((0,SO.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Cn.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(AO.indexOf(p)!==-1)throw new Cn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}dp||(dp=await lp.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Cn.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 Cn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,TO.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Cn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,_O.getPolicyCacheName)(n,r),c=new EO.MemoryZoneReadThroughCache(a,{logger:wO.SystemLogMap.getLogger(t)}),u={uid:s,claims:i},l=await(0,vO.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,lp.getTokenFromGcpServiceAccount)({serviceAccount:dp,audience:IO,payload:u}),y=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,lp.exchangeFirebaseJwtForIdToken)(y,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Cn.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");tc.UpstreamFirebaseUserAuthInboundPolicy=PO});var kb=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.UpstreamGcpJwtInboundPolicy=void 0;var Mb=un(),RO=fr(),pp,OO=o(async(e,t,r,n)=>{(0,RO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),pp||(pp=await Mb.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,Mb.getTokenFromGcpServiceAccount)({serviceAccount:pp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");rc.UpstreamGcpJwtInboundPolicy=OO});var Fb=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.UpstreamGcpServiceAuthInboundPolicy=void 0;var xO=kt(),NO=Yc(),CO=Vt(),LO=L(),hp=un(),DO=fr(),Hb="https://www.googleapis.com/oauth2/v4/token",fp,UO=o(async(e,t,r,n)=>{(0,DO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),fp||(fp=await hp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,xO.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new NO.MemoryCache(i):s=new CO.MemoryZoneReadThroughCache(i,t);let a=await s.get(n);if(!a){let c=await(0,hp.getTokenFromGcpServiceAccount)({serviceAccount:fp,audience:Hb,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,hp.exchangeGgpJwtForIdToken)(Hb,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new LO.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");nc.UpstreamGcpServiceAuthInboundPolicy=UO});var $b=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.ValidateJsonSchemaInbound=void 0;var MO=L(),qb=pe(),kO=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return qb.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 MO.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 qb.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");ic.ValidateJsonSchemaInbound=kO});var jb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.ServiceProviderImpl=void 0;var HO=L(),mp=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 HO.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)}};oc.ServiceProviderImpl=mp});var e_=g(f=>{"use strict";var FO=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]}),Vb=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&FO(t,e,r)},qO=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.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.CreditsMeteringInboundPolicy=f.CurityPhantomTokenInboundPolicy=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.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=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;Yp();var $O=Vt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return $O.MemoryZoneReadThroughCache}});var jO=Zi();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return jO.ZoneCache}});var Gb=Tr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return Gb.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return Gb.ResponseSentEvent}});var VO=yy();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return VO.ContextData}});var yp=cd();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return yp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return yp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return yp.isZuploReadableEnvVariableName}});var GO=L();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return GO.ConfigurationError}});var BO=ld();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return BO.originalFetch}});var Bb=Iy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return Bb.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return Bb.purgeGatewayCache}});var Kb=jy();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return Kb.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return Kb.awsLambdaHandler}});var KO=Gy();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return KO.openApiSpecHandler}});var JO=By();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return JO.redirectHandler}});var zO=Jy();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return zO.urlForwardHandler}});var WO=Wy();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return WO.urlRewriteHandler}});var QO=Yy();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return QO.webSocketHandler}});var YO=eg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return YO.webSocketPipelineHandler}});var ZO=_u();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return ZO.HttpStatusCode}});Vb(cg(),f);Vb(dg(),f);var XO=pg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return XO.AuditLogDataStaxProvider}});var ex=fg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return ex.AuditLogPlugin}});var Jb=_g();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return Jb.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return Jb.AmberfloMeteringPolicy}});var tx=Tg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return tx.ApiAuthKeyInboundPolicy}});var rx=Sg();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return rx.CurityPhantomTokenInboundPolicy}});var nx=Ag();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return nx.CreditsMeteringInboundPolicy}});var ix=zd();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return ix.ApiKeyInboundPolicy}});var ox=Pg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return ox.Auth0JwtInboundPolicy}});var sx=Rg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return sx.BasicAuthInboundPolicy}});var ax=Og();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return ax.CachingInboundPolicy}});var cx=xg();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return cx.ChangeMethodInboundPolicy}});var ux=Ng();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return ux.ClearHeadersInboundPolicy}});var lx=Cg();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return lx.ClearHeadersOutboundPolicy}});var dx=Lg();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return dx.ClerkJwtInboundPolicy}});var px=Ug();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return px.CognitoJwtInboundPolicy}});var hx=kg();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return hx.CompositeInboundPolicy}});var fx=Hg();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return fx.FirebaseJwtInboundPolicy}});var mx=Fg();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return mx.FormDataToJsonInboundPolicy}});var yx=qg();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return yx.GeoFilterInboundPolicy}});var gx=$g();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return gx.JWTScopeValidationInboundPolicy}});var bx=Vg();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return bx.MockApiInboundPolicy}});var zb=zg();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return zb.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return zb.setMoesifContext}});var _x=Wg();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return _x.OktaJwtInboundPolicy}});var Ex=Ht();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return Ex.OpenIdJwtInboundPolicy}});var wx=Qg();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return wx.PropelAuthJwtInboundPolicy}});var Wb=nb();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return Wb.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return Wb.RateLimitInboundPolicy}});var vx=ab();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return vx.ReadmeMetricsInboundPolicy}});var Tx=cb();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return Tx.RemoveHeadersInboundPolicy}});var Sx=ub();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return Sx.RemoveHeadersOutboundPolicy}});var Ix=lb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Ix.RemoveQueryParamsInboundPolicy}});var Ax=db();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return Ax.ReplaceStringOutboundPolicy}});var Px=hb();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return Px.RequestSizeLimitInboundPolicy}});var Qb=bb();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return Qb.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return Qb.SchemaBasedRequestValidation}});var Rx=_b();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return Rx.RequireOriginInboundPolicy}});var Ox=Eb();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return Ox.SetBodyInboundPolicy}});var xx=vb();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return xx.SetHeadersInboundPolicy}});var Nx=Sb();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return Nx.SetHeadersOutboundPolicy}});var Cx=Ab();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Cx.SetQueryParamsInboundPolicy}});var Lx=Pb();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return Lx.SetStatusOutboundPolicy}});var Dx=Rb();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return Dx.SleepInboundPolicy}});var Ux=xb();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return Ux.SupabaseJwtInboundPolicy}});var Mx=Cb();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return Mx.UpstreamAzureAdServiceAuthInboundPolicy}});var kx=Db();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return kx.UpstreamFirebaseAdminAuthInboundPolicy}});var Hx=Ub();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return Hx.UpstreamFirebaseUserAuthInboundPolicy}});var Fx=kb();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return Fx.UpstreamGcpJwtInboundPolicy}});var qx=Fb();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return qx.UpstreamGcpServiceAuthInboundPolicy}});var $x=$b();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return $x.ValidateJsonSchemaInbound}});var jx=pe();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return jx.HttpProblems}});var Vx=ao();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return Vx.ProblemResponseFormatter}});var Gx=Be();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return Gx.ZuploRequest}});var Bx=Ar();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return Bx.SystemRouteName}});var Yb=Xl();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return Yb.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return Yb.Router}});var Zb=du();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return Zb.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return Zb.serialize}});var Kx=jb();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return Kx.ServiceProviderImpl}});var Xb=Lu();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return Xb.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return Xb.SYSTEM_LOGGER}});var Jx=wu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return qO(Jx).default}});var zx=Ge();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return zx.SystemLogMap}});var xi=Fa();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return xi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return xi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return xi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return xi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return xi.sanitizedIdentifierName}})});var t_=g(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.BaseCryptoBeta=Ln.supportedDigests=void 0;Ln.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var gp=class{static{o(this,"BaseCryptoBeta")}};Ln.BaseCryptoBeta=gp});var r_=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.WorkerCryptoBeta=void 0;var bp=t_(),Wx=L(),_p=class extends bp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!bp.supportedDigests.includes(t.toLowerCase()))throw new Wx.RuntimeError(`Algorithm ${t} is not supported. Try using ${bp.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("")}};sc.WorkerCryptoBeta=_p});var n_=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.BaseKeyValueStore=void 0;var Ep=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};ac.BaseKeyValueStore=Ep});var o_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.WorkerKeyValueStore=void 0;var i_=L(),Qx=n_(),wp=class extends Qx.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new i_.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 i_.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)}};cc.WorkerKeyValueStore=wp});var xt=g(ct=>{"use strict";var Yx=ct&&ct.__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]}),Zx=ct&&ct.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Yx(t,e,r)};Object.defineProperty(ct,"__esModule",{value:!0});ct.KeyValueStore=ct.CryptoBeta=void 0;Zx(e_(),ct);var Xx=r_();Object.defineProperty(ct,"CryptoBeta",{enumerable:!0,get:function(){return Xx.WorkerCryptoBeta}});var eN=o_();Object.defineProperty(ct,"KeyValueStore",{enumerable:!0,get:function(){return eN.WorkerKeyValueStore}})});var aC={};Ki(aC,{GraphQLComplexityLimitInboundPolicy:()=>k_,GraphQLDisableIntrospectionInboundPolicy:()=>F_});module.exports=Ji(aC);var Bn=Jp(xt());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 St(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(St,"invariant");var tN=/\r\n|[\n\r]/g;function Dn(e,t){let r=0,n=1;for(let i of e.body.matchAll(tN)){if(typeof i.index=="number"||St(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Dn,"getLocation");function vp(e){return uc(e.source,Dn(e.source,e.start))}o(vp,"printLocation");function uc(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}
66
+ `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let y=Math.floor(u/80),h=u%80,m=[];for(let v=0;v<p.length;v+=80)m.push(p.slice(v,v+80));return l+s_([[`${a} |`,m[0]],...m.slice(1,y+1).map(v=>["|",v]),["|","^".padStart(h)],["|",m[y+1]]])}return l+s_([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(uc,"printSourceLocation");function s_(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(`
67
+ `)}o(s_,"printPrefixedLines");function rN(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(rN,"toNormalizedOptions");var N=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}=rN(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=a_(Array.isArray(a)?a:a?[a]:void 0);let y=a_((n=this.nodes)===null||n===void 0?void 0:n.map(m=>m.loc).filter(m=>m!=null));this.source=c??(y==null||(i=y[0])===null||i===void 0?void 0:i.source),this.positions=u??y?.map(m=>m.start),this.locations=u&&c?u.map(m=>Dn(c,m)):y?.map(m=>Dn(m.source,m.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+=`
68
68
 
69
- `+Pp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
69
+ `+vp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
70
70
 
71
- `+mc(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 b_(e){return e===void 0||e.length===0?void 0:e}o(b_,"undefinedIfEmpty");function he(e,t,r){return new C(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(he,"syntaxError");var Di=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}}},Fn=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}}},Op={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"]},Px=new Set(Object.keys(Op));function Ui(e){let t=e?.kind;return typeof t=="string"&&Px.has(t)}o(Ui,"isNode");var nt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(nt||(nt={}));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 yc(e){return e===9||e===32}o(yc,"isWhiteSpace");function qn(e){return e>=48&&e<=57}o(qn,"isDigit");function __(e){return e>=97&&e<=122||e>=65&&e<=90}o(__,"isLetter");function Mi(e){return __(e)||e===95}o(Mi,"isNameStart");function gc(e){return __(e)||qn(e)||e===95}o(gc,"isNameContinue");function E_(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=Ox(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(E_,"dedentBlockStringLines");function Ox(e){let t=0;for(;t<e.length&&yc(e.charCodeAt(t));)++t;return t}o(Ox,"leadingWhitespace");function w_(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||yc(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="",y=i&&yc(e.charCodeAt(0));return(d&&!y||s)&&(p+=`
71
+ `+uc(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 a_(e){return e===void 0||e.length===0?void 0:e}o(a_,"undefinedIfEmpty");function le(e,t,r){return new N(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(le,"syntaxError");var Ni=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}}},Un=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}}},Tp={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"]},nN=new Set(Object.keys(Tp));function Ci(e){let t=e?.kind;return typeof t=="string"&&nN.has(t)}o(Ci,"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 lc(e){return e===9||e===32}o(lc,"isWhiteSpace");function Mn(e){return e>=48&&e<=57}o(Mn,"isDigit");function c_(e){return e>=97&&e<=122||e>=65&&e<=90}o(c_,"isLetter");function Li(e){return c_(e)||e===95}o(Li,"isNameStart");function dc(e){return c_(e)||Mn(e)||e===95}o(dc,"isNameContinue");function u_(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=iN(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(u_,"dedentBlockStringLines");function iN(e){let t=0;for(;t<e.length&&lc(e.charCodeAt(t));)++t;return t}o(iN,"leadingWhitespace");function l_(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||lc(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="",y=i&&lc(e.charCodeAt(0));return(d&&!y||s)&&(p+=`
72
72
  `),p+=r,(d||l)&&(p+=`
73
- `),'"""'+p+'"""'}o(w_,"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 Hi=class{static{o(this,"Lexer")}constructor(t){let r=new Fn(_.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=Nx(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===_.COMMENT);return t}};function T_(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(T_,"isPunctuatorTokenKind");function $n(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o($n,"isUnicodeScalarValue");function bc(e,t){return S_(e.charCodeAt(t))&&I_(e.charCodeAt(t+1))}o(bc,"isSupplementaryCodePoint");function S_(e){return e>=55296&&e<=56319}o(S_,"isLeadingSurrogate");function I_(e){return e>=56320&&e<=57343}o(I_,"isTrailingSurrogate");function jr(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(jr,"printCodePointAt");function ye(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new Fn(t,r,n,s,a,i)}o(ye,"createToken");function Nx(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 xx(e,i);case 33:return ye(e,_.BANG,i,i+1);case 36:return ye(e,_.DOLLAR,i,i+1);case 38:return ye(e,_.AMP,i,i+1);case 40:return ye(e,_.PAREN_L,i,i+1);case 41:return ye(e,_.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return ye(e,_.SPREAD,i,i+3);break;case 58:return ye(e,_.COLON,i,i+1);case 61:return ye(e,_.EQUALS,i,i+1);case 64:return ye(e,_.AT,i,i+1);case 91:return ye(e,_.BRACKET_L,i,i+1);case 93:return ye(e,_.BRACKET_R,i,i+1);case 123:return ye(e,_.BRACE_L,i,i+1);case 124:return ye(e,_.PIPE,i,i+1);case 125:return ye(e,_.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?kx(e,i):Lx(e,i)}if(qn(s)||s===45)return Cx(e,i,s);if(Mi(s))return Hx(e,i);throw he(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:$n(s)||bc(r,i)?`Unexpected character: ${jr(e,i)}.`:`Invalid character: ${jr(e,i)}.`)}return ye(e,_.EOF,n,n)}o(Nx,"readNextToken");function xx(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($n(s))++i;else if(bc(r,i))i+=2;else break}return ye(e,_.COMMENT,t,i,r.slice(t+1,i))}o(xx,"readComment");function Cx(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),qn(s))throw he(e.source,i,`Invalid number, unexpected digit after 0: ${jr(e,i)}.`)}else i=Np(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Np(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=Np(e,i,s),s=n.charCodeAt(i)),s===46||Mi(s))throw he(e.source,i,`Invalid number, expected digit but got: ${jr(e,i)}.`);return ye(e,a?_.FLOAT:_.INT,t,i,n.slice(t,i))}o(Cx,"readNumber");function Np(e,t,r){if(!qn(r))throw he(e.source,t,`Invalid number, expected digit but got: ${jr(e,t)}.`);let n=e.source.body,i=t+1;for(;qn(n.charCodeAt(i));)++i;return i}o(Np,"readDigits");function Lx(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),ye(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?Dx(e,i):Ux(e,i):Mx(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if($n(c))++i;else if(bc(r,i))i+=2;else throw he(e.source,i,`Invalid character within String: ${jr(e,i)}.`)}throw he(e.source,i,"Unterminated string.")}o(Lx,"readString");function Dx(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||!$n(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|ki(s),n<0)break}throw he(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(Dx,"readEscapedUnicodeVariableWidth");function Ux(e,t){let r=e.source.body,n=v_(r,t+2);if($n(n))return{value:String.fromCodePoint(n),size:6};if(S_(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=v_(r,t+8);if(I_(i))return{value:String.fromCodePoint(n,i),size:12}}throw he(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(Ux,"readEscapedUnicodeFixedWidth");function v_(e,t){return ki(e.charCodeAt(t))<<12|ki(e.charCodeAt(t+1))<<8|ki(e.charCodeAt(t+2))<<4|ki(e.charCodeAt(t+3))}o(v_,"read16BitHexCode");function ki(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(ki,"readHexDigit");function Mx(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:`
74
- `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw he(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(Mx,"readEscapedCharacter");function kx(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=ye(e,_.BLOCK_STRING,t,s+3,E_(u).join(`
75
- `));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($n(l))++s;else if(bc(r,s))s+=2;else throw he(e.source,s,`Invalid character within String: ${jr(e,s)}.`)}throw he(e.source,s,"Unterminated string.")}o(kx,"readBlockString");function Hx(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(gc(s))++i;else break}return ye(e,_.NAME,t,i,r.slice(t,i))}o(Hx,"readName");function A(e){return _c(e,[])}o(A,"inspect");function _c(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return Fx(e,t);default:return String(e)}}o(_c,"formatValue");function Fx(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(qx(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:_c(n,r)}else if(Array.isArray(e))return jx(e,r);return $x(e,r)}o(Fx,"formatObjectValue");function qx(e){return typeof e.toJSON=="function"}o(qx,"isJSONable");function $x(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+Vx(e)+"]":"{ "+r.map(([i,s])=>i+": "+_c(s,t)).join(", ")+" }"}o($x,"formatObject");function jx(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(_c(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(jx,"formatArray");function Vx(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(Vx,"getObjectTag");var Qe=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=A(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
73
+ `),'"""'+p+'"""'}o(l_,"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 Ui=class{static{o(this,"Lexer")}constructor(t){let r=new Un(_.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=oN(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===_.COMMENT);return t}};function p_(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(p_,"isPunctuatorTokenKind");function kn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(kn,"isUnicodeScalarValue");function pc(e,t){return h_(e.charCodeAt(t))&&f_(e.charCodeAt(t+1))}o(pc,"isSupplementaryCodePoint");function h_(e){return e>=55296&&e<=56319}o(h_,"isLeadingSurrogate");function f_(e){return e>=56320&&e<=57343}o(f_,"isTrailingSurrogate");function kr(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(kr,"printCodePointAt");function fe(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new Un(t,r,n,s,a,i)}o(fe,"createToken");function oN(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 sN(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?pN(e,i):cN(e,i)}if(Mn(s)||s===45)return aN(e,i,s);if(Li(s))return hN(e,i);throw le(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:kn(s)||pc(r,i)?`Unexpected character: ${kr(e,i)}.`:`Invalid character: ${kr(e,i)}.`)}return fe(e,_.EOF,n,n)}o(oN,"readNextToken");function sN(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(kn(s))++i;else if(pc(r,i))i+=2;else break}return fe(e,_.COMMENT,t,i,r.slice(t+1,i))}o(sN,"readComment");function aN(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),Mn(s))throw le(e.source,i,`Invalid number, unexpected digit after 0: ${kr(e,i)}.`)}else i=Sp(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Sp(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=Sp(e,i,s),s=n.charCodeAt(i)),s===46||Li(s))throw le(e.source,i,`Invalid number, expected digit but got: ${kr(e,i)}.`);return fe(e,a?_.FLOAT:_.INT,t,i,n.slice(t,i))}o(aN,"readNumber");function Sp(e,t,r){if(!Mn(r))throw le(e.source,t,`Invalid number, expected digit but got: ${kr(e,t)}.`);let n=e.source.body,i=t+1;for(;Mn(n.charCodeAt(i));)++i;return i}o(Sp,"readDigits");function cN(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?uN(e,i):lN(e,i):dN(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(kn(c))++i;else if(pc(r,i))i+=2;else throw le(e.source,i,`Invalid character within String: ${kr(e,i)}.`)}throw le(e.source,i,"Unterminated string.")}o(cN,"readString");function uN(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||!kn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Di(s),n<0)break}throw le(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(uN,"readEscapedUnicodeVariableWidth");function lN(e,t){let r=e.source.body,n=d_(r,t+2);if(kn(n))return{value:String.fromCodePoint(n),size:6};if(h_(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=d_(r,t+8);if(f_(i))return{value:String.fromCodePoint(n,i),size:12}}throw le(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(lN,"readEscapedUnicodeFixedWidth");function d_(e,t){return Di(e.charCodeAt(t))<<12|Di(e.charCodeAt(t+1))<<8|Di(e.charCodeAt(t+2))<<4|Di(e.charCodeAt(t+3))}o(d_,"read16BitHexCode");function Di(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(Di,"readHexDigit");function dN(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:`
74
+ `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw le(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(dN,"readEscapedCharacter");function pN(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,u_(u).join(`
75
+ `));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(kn(l))++s;else if(pc(r,s))s+=2;else throw le(e.source,s,`Invalid character within String: ${kr(e,s)}.`)}throw le(e.source,s,"Unterminated string.")}o(pN,"readBlockString");function hN(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(dc(s))++i;else break}return fe(e,_.NAME,t,i,r.slice(t,i))}o(hN,"readName");function A(e){return hc(e,[])}o(A,"inspect");function hc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return fN(e,t);default:return String(e)}}o(hc,"formatValue");function fN(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(mN(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:hc(n,r)}else if(Array.isArray(e))return gN(e,r);return yN(e,r)}o(fN,"formatObjectValue");function mN(e){return typeof e.toJSON=="function"}o(mN,"isJSONable");function yN(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+bN(e)+"]":"{ "+r.map(([i,s])=>i+": "+hc(s,t)).join(", ")+" }"}o(yN,"formatObject");function gN(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(hc(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(gN,"formatArray");function bN(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(bN,"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=A(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
76
76
 
77
77
  Ensure that there is only one instance of "graphql" in the node_modules
78
78
  directory. If different versions of "graphql" are the dependencies of other
@@ -83,36 +83,36 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
83
83
  Duplicate "graphql" modules cannot be used at the same time since different
84
84
  versions may have different capabilities and behavior. The data from one
85
85
  version used in the function from another could produce confusing and
86
- spurious results.`)}}return!1},"instanceOf");var jn=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: ${A(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 A_(e){return Qe(e,jn)}o(A_,"isSource");function vc(e,t){return new wc(e,t).parseDocument()}o(vc,"parse");function Tc(e,t){let r=new wc(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}o(Tc,"parseValue");var wc=class{static{o(this,"Parser")}constructor(t,r={}){let n=A_(t)?t:new jn(t);this._lexer=new Hi(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 he(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:nt.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 nt.QUERY;case"mutation":return nt.MUTATION;case"subscription":return nt.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 he(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 he(this._lexer.source,this._lexer.token.start,`${Ec(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 Di(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 he(this._lexer.source,r.start,`Expected ${R_(t)}, found ${Ec(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 he(this._lexer.source,r.start,`Expected "${t}", found ${Ec(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 he(this._lexer.source,r.start,`Unexpected ${Ec(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 he(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Ec(e){let t=e.value;return R_(e.kind)+(t!=null?` "${t}"`:"")}o(Ec,"getTokenDesc");function R_(e){return T_(e)?`"${e}"`:e}o(R_,"getTokenKindDesc");function Sc(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(Sc,"didYouMean");function xp(e){return e}o(xp,"identityFunc");function Vn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(Vn,"keyMap");function Rt(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(Rt,"keyValMap");function Fi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(Fi,"mapValue");function P_(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(Ic(i)&&Ic(s)){let a=0;do++r,a=a*10+i-Cp,i=e.charCodeAt(r);while(Ic(i)&&a>0);let c=0;do++n,c=c*10+s-Cp,s=t.charCodeAt(n);while(Ic(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(P_,"naturalCompare");var Cp=48,Gx=57;function Ic(e){return!isNaN(e)&&Cp<=e&&e<=Gx}o(Ic,"isDigit");function Ac(e,t){let r=Object.create(null),n=new Lp(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:P_(s,a)})}o(Ac,"suggestionList");var Lp=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=O_(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=O_(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],y=u[d%3],h=y[0]=d;for(let m=1;m<=c;m++){let v=i[d-1]===s[m-1]?0:1,T=Math.min(p[m]+1,y[m-1]+1,p[m-1]+v);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let S=u[(d-2)%3][m-2];T=Math.min(T,S+1)}T<h&&(h=T),y[m]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function O_(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(O_,"stringToArray");function Me(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(Me,"toObjMap");function N_(e){return`"${e.replace(Bx,Kx)}"`}o(N_,"printString");var Bx=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Kx(e){return Jx[e.charCodeAt(0)]}o(Kx,"escapedReplacer");var Jx=["\\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 Dp=Object.freeze({});function gr(e,t,r=Op){let n=new Map;for(let S of Object.values(b))n.set(S,Gn(t,S));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,y=[],h=[];do{c++;let S=c===a.length,O=S&&u.length!==0;if(S){if(d=h.length===0?void 0:y[y.length-1],l=p,p=h.pop(),O)if(s){l=l.slice();let L=0;for(let[ne,ie]of u){let ge=ne-L;ie===null?(l.splice(ge,1),L++):l[ge]=ie}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,ne]of u)l[L]=ne}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;y.push(d)}let j;if(!Array.isArray(l)){var m,v;Ui(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let L=S?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=L?.call(t,l,d,p,y,h),j===Dp)break;if(j===!1){if(!S){y.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(Ui(j))l=j;else{y.pop();continue}}if(j===void 0&&O&&u.push([d,l]),S)y.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(gr,"visit");function Gn(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(Gn,"getEnterLeaveForKind");function ke(e){return gr(e,Wx)}o(ke,"print");var zx=80,Wx={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
86
+ spurious results.`)}}return!1},"instanceOf");var Hn=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: ${A(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 m_(e){return ze(e,Hn)}o(m_,"isSource");function yc(e,t){return new mc(e,t).parseDocument()}o(yc,"parse");function gc(e,t){let r=new mc(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}o(gc,"parseValue");var mc=class{static{o(this,"Parser")}constructor(t,r={}){let n=m_(t)?t:new Hn(t);this._lexer=new Ui(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 le(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 le(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 le(this._lexer.source,this._lexer.token.start,`${fc(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 Ni(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 le(this._lexer.source,r.start,`Expected ${y_(t)}, found ${fc(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 le(this._lexer.source,r.start,`Expected "${t}", found ${fc(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 le(this._lexer.source,r.start,`Unexpected ${fc(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 le(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function fc(e){let t=e.value;return y_(e.kind)+(t!=null?` "${t}"`:"")}o(fc,"getTokenDesc");function y_(e){return p_(e)?`"${e}"`:e}o(y_,"getTokenKindDesc");function bc(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(bc,"didYouMean");function Ip(e){return e}o(Ip,"identityFunc");function Fn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(Fn,"keyMap");function It(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(It,"keyValMap");function Mi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(Mi,"mapValue");function g_(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(_c(i)&&_c(s)){let a=0;do++r,a=a*10+i-Ap,i=e.charCodeAt(r);while(_c(i)&&a>0);let c=0;do++n,c=c*10+s-Ap,s=t.charCodeAt(n);while(_c(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(g_,"naturalCompare");var Ap=48,_N=57;function _c(e){return!isNaN(e)&&Ap<=e&&e<=_N}o(_c,"isDigit");function Ec(e,t){let r=Object.create(null),n=new Pp(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:g_(s,a)})}o(Ec,"suggestionList");var Pp=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=b_(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=b_(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],y=u[d%3],h=y[0]=d;for(let m=1;m<=c;m++){let v=i[d-1]===s[m-1]?0:1,T=Math.min(p[m]+1,y[m-1]+1,p[m-1]+v);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let S=u[(d-2)%3][m-2];T=Math.min(T,S+1)}T<h&&(h=T),y[m]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function b_(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(b_,"stringToArray");function De(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(De,"toObjMap");function __(e){return`"${e.replace(EN,wN)}"`}o(__,"printString");var EN=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function wN(e){return vN[e.charCodeAt(0)]}o(wN,"escapedReplacer");var vN=["\\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 Rp=Object.freeze({});function mr(e,t,r=Tp){let n=new Map;for(let S of Object.values(b))n.set(S,qn(t,S));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,y=[],h=[];do{c++;let S=c===a.length,k=S&&u.length!==0;if(S){if(d=h.length===0?void 0:y[y.length-1],l=p,p=h.pop(),k)if(s){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,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;y.push(d)}let j;if(!Array.isArray(l)){var m,v;Ci(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let C=S?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=C?.call(t,l,d,p,y,h),j===Rp)break;if(j===!1){if(!S){y.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(Ci(j))l=j;else{y.pop();continue}}if(j===void 0&&k&&u.push([d,l]),S)y.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(mr,"visit");function qn(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(qn,"getEnterLeaveForKind");function Ue(e){return mr(e,SN)}o(Ue,"print");var TN=80,SN={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
87
87
 
88
- `)},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})=>lt(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>zx&&(a=s+J(`(
89
- `,Rc(x(r,`
88
+ `)},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})=>ut(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>TN&&(a=s+J(`(
89
+ `,wc(x(r,`
90
90
  `)),`
91
- )`)),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?w_(e):N_(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,`
92
- `)+x(["schema",x(t," "),lt(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
91
+ )`)),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?l_(e):__(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,`
92
+ `)+x(["schema",x(t," "),ut(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
93
93
  `)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
94
- `)+x(["type",t,J("implements ",x(r," & ")),x(n," "),lt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
95
- `)+t+(x_(r)?J(`(
96
- `,Rc(x(r,`
94
+ `)+x(["type",t,J("implements ",x(r," & ")),x(n," "),ut(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
95
+ `)+t+(E_(r)?J(`(
96
+ `,wc(x(r,`
97
97
  `)),`
98
98
  )`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
99
99
  `)+x([t+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
100
- `)+x(["interface",t,J("implements ",x(r," & ")),x(n," "),lt(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>J("",e,`
100
+ `)+x(["interface",t,J("implements ",x(r," & ")),x(n," "),ut(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>J("",e,`
101
101
  `)+x(["union",t,x(r," "),J("= ",x(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>J("",e,`
102
- `)+x(["enum",t,x(r," "),lt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
102
+ `)+x(["enum",t,x(r," "),ut(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
103
103
  `)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
104
- `)+x(["input",t,x(r," "),lt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
105
- `)+"directive @"+t+(x_(r)?J(`(
106
- `,Rc(x(r,`
104
+ `)+x(["input",t,x(r," "),ut(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
105
+ `)+"directive @"+t+(E_(r)?J(`(
106
+ `,wc(x(r,`
107
107
  `)),`
108
- )`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),lt(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," "),lt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),lt(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," "),lt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),lt(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o(x,"join");function lt(e){return J(`{
109
- `,Rc(x(e,`
108
+ )`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),ut(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," "),ut(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),ut(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," "),ut(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),ut(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o(x,"join");function ut(e){return J(`{
109
+ `,wc(x(e,`
110
110
  `)),`
111
- }`)}o(lt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function Rc(e){return J(" ",e.replace(/\n/g,`
112
- `))}o(Rc,"indent");function x_(e){var t;return(t=e?.some(r=>r.includes(`
113
- `)))!==null&&t!==void 0?t:!1}o(x_,"hasMultilineItems");function qi(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=>qi(r,t));case b.OBJECT:return Rt(e.fields,r=>r.name.value,r=>qi(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o(qi,"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(!gc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Mi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(Ve,"assertName");function Up(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Ve(e)}o(Up,"assertEnumValueName");function Oc(e){return br(e)||De(e)||Te(e)||it(e)||Ze(e)||Oe(e)||Ge(e)||ce(e)}o(Oc,"isType");function br(e){return Qe(e,Ye)}o(br,"isScalarType");function De(e){return Qe(e,Le)}o(De,"isObjectType");function Nc(e){if(!De(e))throw new Error(`Expected ${A(e)} to be a GraphQL Object type.`);return e}o(Nc,"assertObjectType");function Te(e){return Qe(e,jt)}o(Te,"isInterfaceType");function xc(e){if(!Te(e))throw new Error(`Expected ${A(e)} to be a GraphQL Interface type.`);return e}o(xc,"assertInterfaceType");function it(e){return Qe(e,Vr)}o(it,"isUnionType");function Ze(e){return Qe(e,Pt)}o(Ze,"isEnumType");function Oe(e){return Qe(e,Gr)}o(Oe,"isInputObjectType");function Ge(e){return Qe(e,fe)}o(Ge,"isListType");function ce(e){return Qe(e,$)}o(ce,"isNonNullType");function Xe(e){return br(e)||Ze(e)||Oe(e)||$i(e)&&Xe(e.ofType)}o(Xe,"isInputType");function Vt(e){return br(e)||De(e)||Te(e)||it(e)||Ze(e)||$i(e)&&Vt(e.ofType)}o(Vt,"isOutputType");function _r(e){return br(e)||Ze(e)}o(_r,"isLeafType");function Ot(e){return De(e)||Te(e)||it(e)}o(Ot,"isCompositeType");function Er(e){return Te(e)||it(e)}o(Er,"isAbstractType");var fe=class{static{o(this,"GraphQLList")}constructor(t){Oc(t)||B(!1,`Expected ${A(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{o(this,"GraphQLNonNull")}constructor(t){Cc(t)||B(!1,`Expected ${A(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 $i(e){return Ge(e)||ce(e)}o($i,"isWrappingType");function Cc(e){return Oc(e)&&!ce(e)}o(Cc,"isNullableType");function Lc(e){if(!Cc(e))throw new Error(`Expected ${A(e)} to be a GraphQL nullable type.`);return e}o(Lc,"assertNullableType");function Dc(e){if(e)return ce(e)?e.ofType:e}o(Dc,"getNullableType");function dt(e){if(e){let t=e;for(;$i(t);)t=t.ofType;return t}}o(dt,"getNamedType");function Uc(e){return typeof e=="function"?e():e}o(Uc,"resolveReadonlyArrayThunk");function Mc(e){return typeof e=="function"?e():e}o(Mc,"resolveObjMapThunk");var Ye=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:xp;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:xp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(qi(c,u)),this.extensions=Me(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: ${A(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()}},Le=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>L_(t),this._interfaces=()=>C_(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(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:D_(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function C_(e){var t;let r=Uc((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(C_,"defineInterfaces");function L_(e){let t=Mc(e.fields);return Bn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Fi(t,(r,n)=>{var i;Bn(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: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return Bn(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:Mp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Me(r.extensions),astNode:r.astNode}})}o(L_,"defineFieldMap");function Mp(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Me(r.extensions),astNode:r.astNode}))}o(Mp,"defineArguments");function Bn(e){return ve(e)&&!Array.isArray(e)}o(Bn,"isPlainObj");function D_(e){return Fi(e,t=>({description:t.description,type:t.type,args:kp(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(D_,"fieldsToFieldsConfig");function kp(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}))}o(kp,"argsToArgsConfig");var jt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=L_.bind(void 0,t),this._interfaces=C_.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(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:D_(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Vr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=Qx.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(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 Qx(e){let t=Uc(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(Qx,"defineTypes");var Pt=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=Yx(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Vn(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: ${A(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=A(t);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Pc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+Pc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=ke(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Pc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=ke(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+Pc(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 Pc(e,t){let r=e.getValues().map(i=>i.name),n=Ac(t,r);return Sc("the enum value",n)}o(Pc,"didYouMeanEnumValue");function Yx(e,t){return Bn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Bn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:Up(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Me(n.extensions),astNode:n.astNode}))}o(Yx,"defineEnumValues");var Gr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=Zx.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Fi(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 Zx(e){let t=Mc(e.fields);return Bn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Fi(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:Me(r.extensions),astNode:r.astNode}))}o(Zx,"defineInputFieldMap");var kc=2147483647,Hc=-2147483648,Hp=new Ye({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=ji(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: ${A(t)}`);if(r>kc||r<Hc)throw new C("Int cannot represent non 32-bit signed integer value: "+A(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new C(`Int cannot represent non-integer value: ${A(e)}`);if(e>kc||e<Hc)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: ${ke(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>kc||t<Hc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),U_=new Ye({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=ji(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: ${A(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new C(`Float cannot represent non numeric value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new C(`Float cannot represent non numeric value: ${ke(e)}`,e);return parseFloat(e.value)}}),se=new Ye({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=ji(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: ${A(e)}`)},parseValue(e){if(typeof e!="string")throw new C(`String cannot represent a non string value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new C(`String cannot represent a non string value: ${ke(e)}`,{nodes:e});return e.value}}),He=new Ye({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=ji(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new C(`Boolean cannot represent a non boolean value: ${A(t)}`)},parseValue(e){if(typeof e!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${ke(e)}`,{nodes:e});return e.value}}),Fc=new Ye({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=ji(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new C(`ID cannot represent value: ${A(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: ${A(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: "+ke(e),{nodes:e});return e.value}}),Fp=Object.freeze([se,Hp,U_,He,Fc]);function ji(e){if(ve(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!ve(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(ji,"serializeObject");function qp(e){return Qe(e,pt)}o(qp,"isDirective");var pt=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=Me(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:{};ve(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Mp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:kp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},M_=new pt({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 $(He),description:"Included when true."}}}),k_=new pt({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 $(He),description:"Skipped when true."}}}),H_="No longer supported",F_=new pt({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:se,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:H_}}}),q_=new pt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),$p=Object.freeze([M_,k_,F_,q_]);function qc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(qc,"isIterableObject");function Br(e,t){if(ce(t)){let r=Br(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(qc(e)){let n=[];for(let i of e){let s=Br(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return Br(e,r)}if(Oe(t)){if(!ve(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Br(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 $_.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Ze(t)?{kind:b.ENUM,value:r}:t===Fc&&$_.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}At(!1,"Unexpected input type: "+A(t))}o(Br,"astFromValue");var $_=/^-?(?:0|[1-9][0-9]*)$/;var Vi=new Le({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:se,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new fe(new $(ot))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(ot),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ot,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ot,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new fe(new $(jp))),resolve:e=>e.getDirectives()}})}),jp=new Le({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
111
+ }`)}o(ut,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function wc(e){return J(" ",e.replace(/\n/g,`
112
+ `))}o(wc,"indent");function E_(e){var t;return(t=e?.some(r=>r.includes(`
113
+ `)))!==null&&t!==void 0?t:!1}o(E_,"hasMultilineItems");function ki(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=>ki(r,t));case b.OBJECT:return It(e.fields,r=>r.name.value,r=>ki(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o(ki,"valueFromASTUntyped");function $e(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(!dc(e.charCodeAt(t)))throw new N(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Li(e.charCodeAt(0)))throw new N(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o($e,"assertName");function Op(e){if(e==="true"||e==="false"||e==="null")throw new N(`Enum values cannot be named: ${e}`);return $e(e)}o(Op,"assertEnumValueName");function Tc(e){return yr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Pe(e)||je(e)||ae(e)}o(Tc,"isType");function yr(e){return ze(e,We)}o(yr,"isScalarType");function Ne(e){return ze(e,xe)}o(Ne,"isObjectType");function Sc(e){if(!Ne(e))throw new Error(`Expected ${A(e)} to be a GraphQL Object type.`);return e}o(Sc,"assertObjectType");function we(e){return ze(e,qt)}o(we,"isInterfaceType");function Ic(e){if(!we(e))throw new Error(`Expected ${A(e)} to be a GraphQL Interface type.`);return e}o(Ic,"assertInterfaceType");function nt(e){return ze(e,Hr)}o(nt,"isUnionType");function Qe(e){return ze(e,At)}o(Qe,"isEnumType");function Pe(e){return ze(e,Fr)}o(Pe,"isInputObjectType");function je(e){return ze(e,de)}o(je,"isListType");function ae(e){return ze(e,$)}o(ae,"isNonNullType");function Ye(e){return yr(e)||Qe(e)||Pe(e)||Hi(e)&&Ye(e.ofType)}o(Ye,"isInputType");function $t(e){return yr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Hi(e)&&$t(e.ofType)}o($t,"isOutputType");function gr(e){return yr(e)||Qe(e)}o(gr,"isLeafType");function Pt(e){return Ne(e)||we(e)||nt(e)}o(Pt,"isCompositeType");function br(e){return we(e)||nt(e)}o(br,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(t){Tc(t)||B(!1,`Expected ${A(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{o(this,"GraphQLNonNull")}constructor(t){Ac(t)||B(!1,`Expected ${A(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 Hi(e){return je(e)||ae(e)}o(Hi,"isWrappingType");function Ac(e){return Tc(e)&&!ae(e)}o(Ac,"isNullableType");function Pc(e){if(!Ac(e))throw new Error(`Expected ${A(e)} to be a GraphQL nullable type.`);return e}o(Pc,"assertNullableType");function Rc(e){if(e)return ae(e)?e.ofType:e}o(Rc,"getNullableType");function lt(e){if(e){let t=e;for(;Hi(t);)t=t.ofType;return t}}o(lt,"getNamedType");function Oc(e){return typeof e=="function"?e():e}o(Oc,"resolveReadonlyArrayThunk");function xc(e){return typeof e=="function"?e():e}o(xc,"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:Ip;this.name=$e(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Ip,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(ki(c,u)),this.extensions=De(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: ${A(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=$e(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>v_(t),this._interfaces=()=>w_(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(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:T_(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=Oc((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 v_(e){let t=xc(e.fields);return $n(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Mi(t,(r,n)=>{var i;$n(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: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return $n(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:$e(n),description:r.description,type:r.type,args:xp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}o(v_,"defineFieldMap");function xp(e){return Object.entries(e).map(([t,r])=>({name:$e(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(xp,"defineArguments");function $n(e){return Ee(e)&&!Array.isArray(e)}o($n,"isPlainObj");function T_(e){return Mi(e,t=>({description:t.description,type:t.type,args:Np(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(T_,"fieldsToFieldsConfig");function Np(e){return It(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Np,"argsToArgsConfig");var qt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=v_.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: ${A(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:T_(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Hr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=IN.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(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 IN(e){let t=Oc(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(IN,"defineTypes");var At=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=AN(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Fn(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: ${A(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=A(t);throw new N(`Enum "${this.name}" cannot represent non-string value: ${n}.`+vc(this,n))}let r=this.getValue(t);if(r==null)throw new N(`Value "${t}" does not exist in "${this.name}" enum.`+vc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new N(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+vc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new N(`Value "${i}" does not exist in "${this.name}" enum.`+vc(this,i),{nodes:t})}return n.value}toConfig(){let t=It(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 vc(e,t){let r=e.getValues().map(i=>i.name),n=Ec(t,r);return bc("the enum value",n)}o(vc,"didYouMeanEnumValue");function AN(e,t){return $n(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>($n(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:Op(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}o(AN,"defineEnumValues");var Fr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=PN.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Mi(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 PN(e){let t=xc(e.fields);return $n(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Mi(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:$e(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(PN,"defineInputFieldMap");var Nc=2147483647,Cc=-2147483648,Cp=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=Fi(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: ${A(t)}`);if(r>Nc||r<Cc)throw new N("Int cannot represent non 32-bit signed integer value: "+A(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new N(`Int cannot represent non-integer value: ${A(e)}`);if(e>Nc||e<Cc)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: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Nc||t<Cc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),S_=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=Fi(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: ${A(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new N(`Float cannot represent non numeric value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new N(`Float cannot represent non numeric value: ${Ue(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=Fi(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: ${A(e)}`)},parseValue(e){if(typeof e!="string")throw new N(`String cannot represent a non string value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new N(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Fi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new N(`Boolean cannot represent a non boolean value: ${A(t)}`)},parseValue(e){if(typeof e!="boolean")throw new N(`Boolean cannot represent a non boolean value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new N(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),Lc=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=Fi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new N(`ID cannot represent value: ${A(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: ${A(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: "+Ue(e),{nodes:e});return e.value}}),Lp=Object.freeze([oe,Cp,S_,Me,Lc]);function Fi(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(Fi,"serializeObject");function Dp(e){return ze(e,dt)}o(Dp,"isDirective");var dt=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=$e(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(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=xp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Np(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},I_=new dt({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."}}}),A_=new dt({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."}}}),P_="No longer supported",R_=new dt({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:P_}}}),O_=new dt({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."}}}),Up=Object.freeze([I_,A_,R_,O_]);function Dc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(Dc,"isIterableObject");function qr(e,t){if(ae(t)){let r=qr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(je(t)){let r=t.ofType;if(Dc(e)){let n=[];for(let i of e){let s=qr(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return qr(e,r)}if(Pe(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=qr(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(gr(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 x_.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===Lc&&x_.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}St(!1,"Unexpected input type: "+A(t))}o(qr,"astFromValue");var x_=/^-?(?:0|[1-9][0-9]*)$/;var qi=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 de(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 de(new $(Mp))),resolve:e=>e.getDirectives()}})}),Mp=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
114
114
 
115
- 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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(He),resolve:e=>e.isRepeatable},locations:{type:new $(new fe(new $(Vp))),resolve:e=>e.locations},args:{type:new $(new fe(new $(Gi))),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Vp=new Pt({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."}}}),ot=new Le({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 $(Kp),resolve(e){if(br(e))return X.SCALAR;if(De(e))return X.OBJECT;if(Te(e))return X.INTERFACE;if(it(e))return X.UNION;if(Ze(e))return X.ENUM;if(Oe(e))return X.INPUT_OBJECT;if(Ge(e))return X.LIST;if(ce(e))return X.NON_NULL;At(!1,`Unexpected type: "${A(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new fe(new $(Gp)),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(De(e)||Te(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new fe(new $(ot)),resolve(e){if(De(e)||Te(e))return e.getInterfaces()}},possibleTypes:{type:new fe(new $(ot)),resolve(e,t,r,{schema:n}){if(Er(e))return n.getPossibleTypes(e)}},enumValues:{type:new fe(new $(Bp)),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ze(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new fe(new $(Gi)),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Oe(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ot,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Gp=new Le({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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new fe(new $(Gi))),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(ot),resolve:e=>e.type},isDeprecated:{type:new $(He),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Gi=new Le({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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(ot),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=Br(r,t);return n?ke(n):null}},isDeprecated:{type:new $(He),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Bp=new Le({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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(He),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),X;(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"})(X||(X={}));var Kp=new Pt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),$c={name:"__schema",type:new $(Vi),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},jc={name:"__type",type:ot,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),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},Vc={name:"__typename",type:new $(se),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},Jp=Object.freeze([Vi,jp,Vp,ot,Gp,Gi,Bp,Kp]);var Bi=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,ve(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${A(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${A(t.directives)}.`),this.description=t.description,this.extensions=Me(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:$p;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),ht(s,i);this._queryType!=null&&ht(this._queryType,i),this._mutationType!=null&&ht(this._mutationType,i),this._subscriptionType!=null&&ht(this._subscriptionType,i);for(let s of this._directives)if(qp(s))for(let a of s.args)ht(a.type,i);ht(Vi,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,Te(s)){for(let c of s.getInterfaces())if(Te(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(De(s)){for(let c of s.getInterfaces())if(Te(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 nt.QUERY:return this.getQueryType();case nt.MUTATION:return this.getMutationType();case nt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return it(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),it(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 ht(e,t){let r=dt(e);if(!t.has(r)){if(t.add(r),it(r))for(let n of r.getTypes())ht(n,t);else if(De(r)||Te(r)){for(let n of r.getInterfaces())ht(n,t);for(let n of Object.values(r.getFields())){ht(n.type,t);for(let i of n.args)ht(i.type,t)}}else if(Oe(r))for(let n of Object.values(r.getFields()))ht(n.type,t)}return t}o(ht,"collectReferencedTypes");function wr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=wr(e,t.type);return r&&new fe(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)}}o(wr,"typeFromAST");var vr=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??Xx,r&&(Xe(r)&&this._inputTypeStack.push(r),Ot(r)&&this._parentTypeStack.push(r),Vt(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=dt(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(Vt(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(De(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?wr(r,i):dt(this.getType());this._typeStack.push(Vt(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=wr(r,t.type);this._inputTypeStack.push(Xe(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(Xe(s)?s:void 0);break}case b.LIST:{let i=Dc(this.getInputType()),s=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Xe(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=dt(this.getInputType()),s,a;Oe(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Xe(s)?s:void 0);break}case b.ENUM:{let i=dt(this.getInputType()),s;Ze(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 Xx(e,t,r){let n=r.name.value;if(n===$c.name&&e.getQueryType()===t)return $c;if(n===jc.name&&e.getQueryType()===t)return jc;if(n===Vc.name&&Ot(t))return Vc;if(De(t)||Te(t))return t.getFields()[n]}o(Xx,"getFieldDef");function Kn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Gn(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),Ui(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=Gn(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(Kn,"visitWithTypeInfo");function Gc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Gc,"printPathArray");function zp(e,t,r){return{prev:e,key:t,typename:r}}o(zp,"addPath");function Gt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Gt,"pathToArray");function Wp(e,t,r=eC){return Ki(e,t,r,void 0)}o(Wp,"coerceInputValue");function eC(e,t,r){let n="Invalid value "+A(t);throw e.length>0&&(n+=` at "value${Gc(e)}"`),r.message=n+": "+r.message,r}o(eC,"defaultOnError");function Ki(e,t,r,n){if(ce(t)){if(e!=null)return Ki(e,t.ofType,r,n);r(Gt(n),e,new C(`Expected non-nullable type "${A(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return qc(e)?Array.from(e,(s,a)=>{let c=zp(n,a,void 0);return Ki(s,i,r,c)}):[Ki(e,i,r,n)]}if(Oe(t)){if(!ve(e)){r(Gt(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=A(a.type);r(Gt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Ki(c,a.type,r,zp(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=Ac(a,Object.keys(t.getFields()));r(Gt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+Sc(c)))}return i}if(_r(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof C?r(Gt(n),e,s):r(Gt(n),e,new C(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Gt(n),e,new C(`Expected type "${t.name}".`)),i}At(!1,"Unexpected input type: "+A(t))}o(Ki,"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 s=[];for(let a of e.values)if(j_(a,r)){if(ce(n))return;s.push(null)}else{let c=Nt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Nt(e,n,r);return i===void 0?void 0:[i]}if(Oe(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Vn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||j_(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ce(s.type))return;continue}let c=Nt(a.value,s.type,r);if(c===void 0)return;n[s.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: "+A(t))}}o(Nt,"valueFromAST");function j_(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(j_,"isMissingVariable");function Bc(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=tC(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(Bc,"getVariableValues");function tC(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=wr(e,s.type);if(!Xe(c)){let l=ke(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(!V_(r,a)){if(s.defaultValue)i[a]=Nt(s.defaultValue,c);else if(ce(c)){let l=A(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=A(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Wp(u,c,(l,d,p)=>{let y=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(y+=` at "${a}${Gc(l)}"`),n(new C(y+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(tC,"coerceVariableValues");function Ji(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=Vn(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 "${A(l)}" was not provided.`,{nodes:t});continue}let p=d.value,y=p.kind===b.NULL;if(p.kind===b.VARIABLE){let m=p.name.value;if(r==null||!V_(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}y=r[m]==null}if(y&&ce(l))throw new C(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=Nt(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${ke(p)}.`,{nodes:p});i[u]=h}return i}o(Ji,"getArgumentValues");function zi(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 Ji(e,i,r)}o(zi,"getDirectiveValues");function V_(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(V_,"hasOwnProperty");var Kc=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}},G_=class extends Kc{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Jn=class extends Kc{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 vr(this._schema);gr(t,Kn(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 Jc(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"),`
115
+ 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 de(new $(kp))),resolve:e=>e.locations},args:{type:new $(new de(new $($i))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),kp=new At({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 $(qp),resolve(e){if(yr(e))return X.SCALAR;if(Ne(e))return X.OBJECT;if(we(e))return X.INTERFACE;if(nt(e))return X.UNION;if(Qe(e))return X.ENUM;if(Pe(e))return X.INPUT_OBJECT;if(je(e))return X.LIST;if(ae(e))return X.NON_NULL;St(!1,`Unexpected type: "${A(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 de(new $(Hp)),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 de(new $(it)),resolve(e){if(Ne(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new de(new $(it)),resolve(e,t,r,{schema:n}){if(br(e))return n.getPossibleTypes(e)}},enumValues:{type:new de(new $(Fp)),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 de(new $($i)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Pe(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}})}),Hp=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 de(new $($i))),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}})}),$i=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=qr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Fp=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}})}),X;(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"})(X||(X={}));var qp=new At({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Uc={name:"__schema",type:new $(qi),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},Mc={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},kc={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},$p=Object.freeze([qi,Mp,kp,it,Hp,$i,Fp,qp]);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: ${A(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${A(t.directives)}.`),this.description=t.description,this.extensions=De(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:Up;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),pt(s,i);this._queryType!=null&&pt(this._queryType,i),this._mutationType!=null&&pt(this._mutationType,i),this._subscriptionType!=null&&pt(this._subscriptionType,i);for(let s of this._directives)if(Dp(s))for(let a of s.args)pt(a.type,i);pt(qi,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 pt(e,t){let r=lt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())pt(n,t);else if(Ne(r)||we(r)){for(let n of r.getInterfaces())pt(n,t);for(let n of Object.values(r.getFields())){pt(n.type,t);for(let i of n.args)pt(i.type,t)}}else if(Pe(r))for(let n of Object.values(r.getFields()))pt(n.type,t)}return t}o(pt,"collectReferencedTypes");function _r(e,t){switch(t.kind){case b.LIST_TYPE:{let r=_r(e,t.type);return r&&new de(r)}case b.NON_NULL_TYPE:{let r=_r(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}o(_r,"typeFromAST");var Er=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??RN,r&&(Ye(r)&&this._inputTypeStack.push(r),Pt(r)&&this._parentTypeStack.push(r),$t(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=lt(this.getType());this._parentTypeStack.push(Pt(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($t(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?_r(r,i):lt(this.getType());this._typeStack.push($t(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=_r(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=Rc(this.getInputType()),s=je(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=lt(this.getInputType()),s,a;Pe(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=lt(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 RN(e,t,r){let n=r.name.value;if(n===Uc.name&&e.getQueryType()===t)return Uc;if(n===Mc.name&&e.getQueryType()===t)return Mc;if(n===kc.name&&Pt(t))return kc;if(Ne(t)||we(t))return t.getFields()[n]}o(RN,"getFieldDef");function jn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=qn(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),Ci(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=qn(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(jn,"visitWithTypeInfo");function Hc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Hc,"printPathArray");function jp(e,t,r){return{prev:e,key:t,typename:r}}o(jp,"addPath");function jt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(jt,"pathToArray");function Vp(e,t,r=ON){return Vi(e,t,r,void 0)}o(Vp,"coerceInputValue");function ON(e,t,r){let n="Invalid value "+A(t);throw e.length>0&&(n+=` at "value${Hc(e)}"`),r.message=n+": "+r.message,r}o(ON,"defaultOnError");function Vi(e,t,r,n){if(ae(t)){if(e!=null)return Vi(e,t.ofType,r,n);r(jt(n),e,new N(`Expected non-nullable type "${A(t)}" not to be null.`));return}if(e==null)return null;if(je(t)){let i=t.ofType;return Dc(e)?Array.from(e,(s,a)=>{let c=jp(n,a,void 0);return Vi(s,i,r,c)}):[Vi(e,i,r,n)]}if(Pe(t)){if(!Ee(e)){r(jt(n),e,new N(`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(ae(a.type)){let u=A(a.type);r(jt(n),e,new N(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Vi(c,a.type,r,jp(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=Ec(a,Object.keys(t.getFields()));r(jt(n),e,new N(`Field "${a}" is not defined by type "${t.name}".`+bc(c)))}return i}if(gr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof N?r(jt(n),e,s):r(jt(n),e,new N(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(jt(n),e,new N(`Expected type "${t.name}".`)),i}St(!1,"Unexpected input type: "+A(t))}o(Vi,"coerceInputValueImpl");function Rt(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&&ae(t)?void 0:i}if(ae(t))return e.kind===b.NULL?void 0:Rt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(je(t)){let n=t.ofType;if(e.kind===b.LIST){let s=[];for(let a of e.values)if(N_(a,r)){if(ae(n))return;s.push(null)}else{let c=Rt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Rt(e,n,r);return i===void 0?void 0:[i]}if(Pe(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Fn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||N_(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=Rt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(gr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}St(!1,"Unexpected input type: "+A(t))}}o(Rt,"valueFromAST");function N_(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(N_,"isMissingVariable");function Fc(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=xN(e,t,r,c=>{if(s!=null&&i.length>=s)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}}o(Fc,"getVariableValues");function xN(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=_r(e,s.type);if(!Ye(c)){let l=Ue(s.type);n(new N(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!C_(r,a)){if(s.defaultValue)i[a]=Rt(s.defaultValue,c);else if(ae(c)){let l=A(c);n(new N(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=A(c);n(new N(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Vp(u,c,(l,d,p)=>{let y=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(y+=` at "${a}${Hc(l)}"`),n(new N(y+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(xN,"coerceVariableValues");function Gi(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=Fn(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(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:t});continue}let p=d.value,y=p.kind===b.NULL;if(p.kind===b.VARIABLE){let m=p.name.value;if(r==null||!C_(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}y=r[m]==null}if(y&&ae(l))throw new N(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=Rt(p,l,r);if(h===void 0)throw new N(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}o(Gi,"getArgumentValues");function Bi(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 Gi(e,i,r)}o(Bi,"getDirectiveValues");function C_(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(C_,"hasOwnProperty");var qc=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}},L_=class extends qc{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Vn=class extends qc{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 Er(this._schema);mr(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 $c(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"),`
116
116
  query IntrospectionQuery {
117
117
  __schema {
118
118
  ${s}
@@ -217,5 +217,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
217
217
  }
218
218
  }
219
219
  }
220
- `}o(Jc,"getIntrospectionQuery");function zc(e,t){ve(e)&&ve(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: ${A(e)}.`);let r=e.__schema,n=Rt(r.types,E=>E.name,E=>y(E));for(let E of[...Fp,...Jp])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 Bi({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===X.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new fe(u(H))}if(E.kind===X.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ue=u(H);return new $(Lc(Ue))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${A(E)}.`);let Ue=n[H];if(!Ue)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 Ue}function d(E){return Nc(l(E))}function p(E){return xc(l(E))}function y(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return h(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return S(E);case X.ENUM:return O(E);case X.INPUT_OBJECT:return j(E)}let H=A(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 Ye({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let H=A(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function v(E){return new Le({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>L(E)})}function T(E){return new jt({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>L(E)})}function S(E){if(!E.possibleTypes){let H=A(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Vr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function O(E){if(!E.enumValues){let H=A(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Pt({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=A(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Gr({name:E.name,description:E.description,fields:()=>ie(E.inputFields)})}function L(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return Rt(E.fields,H=>H.name,ne)}function ne(E){let H=u(E.type);if(!Vt(H)){let Ue=A(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ue}.`)}if(!E.args){let Ue=A(E);throw new Error(`Introspection result missing field args: ${Ue}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:H,args:ie(E.args)}}function ie(E){return Rt(E,H=>H.name,ge)}function ge(E){let H=u(E.type);if(!Xe(H)){let Qc=A(H);throw new Error(`Introspection must provide input type for arguments, but received: ${Qc}.`)}let Ue=E.defaultValue!=null?Nt(Tc(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:Ue,deprecationReason:E.deprecationReason}}function Be(E){if(!E.args){let H=A(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=A(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new pt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ie(E.args)})}}o(zc,"buildClientSchema");function IC(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(IC,"queryComplexityMessage");function B_(e){let t=new vr(e.schema),r=[],n=new Jn(e.schema,e.query,t,s=>r.push(s)),i=new Qp(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(gr(e.query,Kn(t,i)),r.length)throw r.pop();return i.complexity}o(B_,"getComplexity");var Qp=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}=Bc(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 Le||r instanceof jt)&&(n=r.getFields());let i;Er(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&&zi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&zi(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 y=dt(p.type),h;try{h=Ji(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let m=0;Ot(y)&&(m=this.nodeComplexity(c,y));let v={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let O=S(v);return typeof O=="number"&&!isNaN(O)?(u=zn(O,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 y=this.context.getSchema().getType(p.typeCondition.name.value);if(!Ot(y))break;let h=this.nodeComplexity(p,y);Er(y)?u=zn(h,a,this.context.getSchema().getPossibleTypes(y).map(m=>m.name)):u=zn(h,a,[y.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 y=this.nodeComplexity(c,p);Er(p)?u=zn(y,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=zn(y,a,[p.name]);break}default:{u=zn(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(IC(this.options.maximumComplexity,this.complexity))}};function zn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(zn,"addComplexities");function K_(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(K_,"simpleEstimator");var J_=o((e,t,r={})=>{let{definitions:n}=e,i=AC(n),s=RC(n);return Object.entries(s).map(([a,c])=>Wc(c,i,0,t,a,r))},"depthLimit");function AC(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(AC,"getFragments");function RC(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(RC,"getQueriesAndMutations");function Wc(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 PC(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>Wc(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return Wc(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=>Wc(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(Wc,"determineDepth");var PC=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var OC=o(async(e,t)=>{if(!t.complexityLimit)throw new Wn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Wn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Jc(),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=zc(c,{assumeValid:!0}),l=B_({estimators:[K_({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"),NC=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Wn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...J_(e,r))},"applyDepthLimitPolicy"),z_=o(async(e,t,r)=>{let n=Wn.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=vc(s.query);r.useDepthLimit&&await NC(a,r.useDepthLimit),r.useComplexityLimit&&await OC(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 W_=Xp(Ct());function xC(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(xC,"isIntrospectionQuery");var Q_=o(async(e,t)=>{let n=await e.clone().json();return xC(n.query)?W_.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
220
+ `}o($c,"getIntrospectionQuery");function jc(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: ${A(e)}.`);let r=e.__schema,n=It(r.types,E=>E.name,E=>y(E));for(let E of[...Lp,...$p])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(Ve):[];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===X.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new de(u(H))}if(E.kind===X.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new $(Pc(Ce))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${A(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 Sc(l(E))}function p(E){return Ic(l(E))}function y(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return h(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return S(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let H=A(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 m(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let H=A(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function T(E){return new qt({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function S(E){if(!E.possibleTypes){let H=A(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Hr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let H=A(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new At({name:E.name,description:E.description,values:It(E.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function j(E){if(!E.inputFields){let H=A(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Fr({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function C(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return It(E.fields,H=>H.name,re)}function re(E){let H=u(E.type);if(!$t(H)){let Ce=A(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=A(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 It(E,H=>H.name,me)}function me(E){let H=u(E.type);if(!Ye(H)){let Gc=A(H);throw new Error(`Introspection must provide input type for arguments, but received: ${Gc}.`)}let Ce=E.defaultValue!=null?Rt(gc(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Ve(E){if(!E.args){let H=A(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=A(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new dt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(jc,"buildClientSchema");function eC(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(eC,"queryComplexityMessage");function D_(e){let t=new Er(e.schema),r=[],n=new Vn(e.schema,e.query,t,s=>r.push(s)),i=new Gp(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(mr(e.query,jn(t,i)),r.length)throw r.pop();return i.complexity}o(D_,"getComplexity");var Gp=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}=Fc(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 qt)&&(n=r.getFields());let i;br(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&&Bi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Bi(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 y=lt(p.type),h;try{h=Gi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let m=0;Pt(y)&&(m=this.nodeComplexity(c,y));let v={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let k=S(v);return typeof k=="number"&&!isNaN(k)?(u=Gn(k,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 y=this.context.getSchema().getType(p.typeCondition.name.value);if(!Pt(y))break;let h=this.nodeComplexity(p,y);br(y)?u=Gn(h,a,this.context.getSchema().getPossibleTypes(y).map(m=>m.name)):u=Gn(h,a,[y.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,!Pt(p)))break;let y=this.nodeComplexity(c,p);br(p)?u=Gn(y,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Gn(y,a,[p.name]);break}default:{u=Gn(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 N(eC(this.options.maximumComplexity,this.complexity))}};function Gn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(Gn,"addComplexities");function U_(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(U_,"simpleEstimator");var M_=o((e,t,r={})=>{let{definitions:n}=e,i=tC(n),s=rC(n);return Object.entries(s).map(([a,c])=>Vc(c,i,0,t,a,r))},"depthLimit");function tC(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(tC,"getFragments");function rC(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(rC,"getQueriesAndMutations");function Vc(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new N(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case b.FIELD:return nC(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>Vc(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return Vc(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=>Vc(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(Vc,"determineDepth");var nC=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var iC=o(async(e,t)=>{if(!t.complexityLimit)throw new Bn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Bn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=$c(),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=jc(c,{assumeValid:!0}),l=D_({estimators:[U_({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"),oC=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Bn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...M_(e,r))},"applyDepthLimitPolicy"),k_=o(async(e,t,r)=>{let n=Bn.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=yc(s.query);r.useDepthLimit&&await oC(a,r.useDepthLimit),r.useComplexityLimit&&await iC(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 H_=Jp(xt());function sC(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(sC,"isIntrospectionQuery");var F_=o(async(e,t)=>{let n=await e.clone().json();return sC(n.query)?H_.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
221
221
  /*! For license information please see index.minified.js.LEGAL.txt */