@zuplo/graphql 5.1493.0 → 5.1495.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 +44 -44
  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 Mb=Object.create;var Jn=Object.defineProperty;var kb=Object.getOwnPropertyDescriptor;var Fb=Object.getOwnPropertyNames;var Hb=Object.getPrototypeOf,qb=Object.prototype.hasOwnProperty;var o=(t,e)=>Jn(t,"name",{value:e,configurable:!0});var I=(t,e)=>()=>(t&&(e=t(t=0)),e);var g=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ki=(t,e)=>{for(var r in e)Jn(t,r,{get:e[r],enumerable:!0})},kp=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Fb(e))!qb.call(t,i)&&i!==r&&Jn(t,i,{get:()=>e[i],enumerable:!(n=kb(e,i))||n.enumerable});return t};var Fp=(t,e,r)=>(r=t!=null?Mb(Hb(t)):{},kp(e||!t||!t.__esModule?Jn(r,"default",{value:t,enumerable:!0}):r,t)),Ji=t=>kp(Jn({},"__esModule",{value:!0}),t);var D=g(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.FeatureNotEnabledError=ft.ConfigurationError=ft.RuntimeError=ft.SystemError=void 0;var Vc=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};ft.SystemError=Vc;var zn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(e,r){typeof e=="string"?super(e,r):(super(e.message,r),this.extensionMembers=e.extensionMembers),this.name="RuntimeError"}};ft.RuntimeError=zn;var Gc=class extends zn{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};ft.ConfigurationError=Gc;var Bc=class extends zn{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};ft.FeatureNotEnabledError=Bc});var te=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.Environment=void 0;var $b=D(),Kc=class t{static{o(this,"Environment")}config;static#e;static initialize(e,r){this.#e||(this.#e=new t(e,r))}static get instance(){if(!this.#e)throw new $b.SystemError("Environment has not been initialized");return this.#e}constructor(e,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=e,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 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=Kc});var jp=g($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});var Hp=te();Function.prototype.toString=function(){return"[native code]"};var Wi=globalThis,qp=Wi.caches;if(qp){let t=qp.open;Wi.caches.open=function(e){let r=Hp.Environment.instance.deploymentName??Hp.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Wi.caches.default,Object.freeze(Wi.caches)}});var Wc=g(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.MemoryCache=void 0;var jb=1e4,Vb=1e3,Vp=new Map,Jc=class{static{o(this,"InnerCache")}constructor(e){this.#e=e.maxSize}#e;#t=0;#r=new Map;#n=[];get(e){let r=this.#r.get(e);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(e);return}return r.lastUsed=n,this.#i(),r?.data}put(e,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(e),this.#r.set(e,s)}delete(e){let r=this.#n.indexOf(e);r>=0&&this.#n.slice(r,1),this.#r.delete(e)}get size(){return this.#r.size}#i(){let e=Date.now();this.#t+jb*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},zc=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:Vb}){this.name=e;let n=Vp.get(e);n||(n=new Jc(r),Vp.set(e,n)),this.#e=n}name;#e;get(e){return this.#e.get(e)}put(e,r,n){return this.#e.put(e,r,n)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}purge(){this.#e.purge()}};Qi.MemoryCache=zc});var Zc=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.ZoneCache=void 0;var Qc="__zuplo-expiry-header",Yc=class{static{o(this,"ZoneCache")}constructor(e,r){this.#t=e,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(e){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(e)}`)}async get(e){try{let r=await this.#n(),n=this.#i(e),i=await r.match(n);if(!i)return;let s=i.headers.get(Qc);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(e)}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(e)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(e,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Qc,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(e),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(e){let r=await this.#n(),n=this.#i(e);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(e)}}async deleteFallback(e){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Qc,`${Date.now()}`);let n=await this.#n(),i=this.#i(e),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...e){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,e):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,e)}};Yi.ZoneCache=Yc});var br=g(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.MemoryZoneReadThroughCache=void 0;var Gb=Wc(),Bb=Zc(),Xc=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new Gb.MemoryCache(n),this.#r=new Bb.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(e){let r=this.#t.get(e);if(r)return r;let n=await this.#r.get(e);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(e,n.data,i),n.data}}put(e,r,n){this.#t.put(e,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(e,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)})}};Zi.MemoryZoneReadThroughCache=Xc});var Gp=g(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.VALID_COMPATIBILITY_DATES=void 0;Xi.VALID_COMPATIBILITY_DATES=Object.freeze(["2023-03-14"])});var Wn=g(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.INTERNAL_HEADERS_TO_REMOVE=N.ZP_TIMEZONE_HEADER=N.ZP_REGION_CODE_HEADER=N.ZP_REGION_HEADER=N.ZP_METRO_CODE_HEADER=N.ZP_POSTAL_CODE_HEADER=N.ZP_COLO_HEADER=N.ZP_AS_ORG_HEADER=N.ZP_ASN_HEADER=N.TRUE_CLIENT_IP=N.ZP_IP_LATITUDE_HEADER=N.ZP_IP_LONGITUDE_HEADER=N.ZP_IP_COUNTRY_HEADER=N.ZP_IP_CONTINENT_HEADER=N.ZP_IP_CITY_HEADER=N.CF_IP_LATITUDE_HEADER=N.CF_IP_LONGITUDE_HEADER=N.CF_IP_COUNTRY_HEADER=N.CF_IP_CONTINENT_HEADER=N.CF_IP_CITY_HEADER=N.RAY_ID_HEADER=N.BODY_REMOVED_HEADER=N.REQUEST_ID_HEADER=N.LEGACY_REQUEST_ID_HEADER=void 0;N.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";N.REQUEST_ID_HEADER="zp-rid";N.BODY_REMOVED_HEADER="zp-body-removed";N.RAY_ID_HEADER="cf-ray";N.CF_IP_CITY_HEADER="cf-ipcity";N.CF_IP_CONTINENT_HEADER="cf-ipcontinent";N.CF_IP_COUNTRY_HEADER="cf-ipcountry";N.CF_IP_LONGITUDE_HEADER="cf-iplongitude";N.CF_IP_LATITUDE_HEADER="cf-iplatitude";N.ZP_IP_CITY_HEADER="zp-ipcity";N.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";N.ZP_IP_COUNTRY_HEADER="zp-ipcountry";N.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";N.ZP_IP_LATITUDE_HEADER="zp-iplatitude";N.TRUE_CLIENT_IP="true-client-ip";N.ZP_ASN_HEADER="zp-asn";N.ZP_AS_ORG_HEADER="zp-asorg";N.ZP_COLO_HEADER="zp-colo";N.ZP_POSTAL_CODE_HEADER="zp-postalcode";N.ZP_METRO_CODE_HEADER="zp-metrocode";N.ZP_REGION_HEADER="zp-region";N.ZP_REGION_CODE_HEADER="zp-regioncode";N.ZP_TIMEZONE_HEADER="zp-timezone";N.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",N.CF_IP_CITY_HEADER,N.CF_IP_CONTINENT_HEADER,N.CF_IP_COUNTRY_HEADER,N.CF_IP_LONGITUDE_HEADER,N.ZP_ASN_HEADER,N.ZP_AS_ORG_HEADER,N.ZP_COLO_HEADER,N.ZP_POSTAL_CODE_HEADER,N.ZP_METRO_CODE_HEADER,N.ZP_REGION_HEADER,N.ZP_REGION_CODE_HEADER,N.ZP_TIMEZONE_HEADER]});var Xp=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 Bp=!0,eu=!Bp;function Kb(t){Bp||(eu=t)}o(Kb,"setColorEnabled");w.setColorEnabled=Kb;function Jb(){return eu}o(Jb,"getColorEnabled");w.getColorEnabled=Jb;function q(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(q,"code");function $(t,e){return eu?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o($,"run");function zb(t){return $(t,q([0],0))}o(zb,"reset");w.reset=zb;function Wb(t){return $(t,q([1],22))}o(Wb,"bold");w.bold=Wb;function Qb(t){return $(t,q([2],22))}o(Qb,"dim");w.dim=Qb;function Yb(t){return $(t,q([3],23))}o(Yb,"italic");w.italic=Yb;function Zb(t){return $(t,q([4],24))}o(Zb,"underline");w.underline=Zb;function Xb(t){return $(t,q([7],27))}o(Xb,"inverse");w.inverse=Xb;function eE(t){return $(t,q([8],28))}o(eE,"hidden");w.hidden=eE;function tE(t){return $(t,q([9],29))}o(tE,"strikethrough");w.strikethrough=tE;function rE(t){return $(t,q([30],39))}o(rE,"black");w.black=rE;function Kp(t){return $(t,q([31],39))}o(Kp,"red");w.red=Kp;function Jp(t){return $(t,q([32],39))}o(Jp,"green");w.green=Jp;function zp(t){return $(t,q([33],39))}o(zp,"yellow");w.yellow=zp;function Wp(t){return $(t,q([34],39))}o(Wp,"blue");w.blue=Wp;function Qp(t){return $(t,q([35],39))}o(Qp,"magenta");w.magenta=Qp;function Yp(t){return $(t,q([36],39))}o(Yp,"cyan");w.cyan=Yp;function nE(t){return $(t,q([37],39))}o(nE,"white");w.white=nE;function iE(t){return Zp(t)}o(iE,"gray");w.gray=iE;function Zp(t){return $(t,q([90],39))}o(Zp,"brightBlack");w.brightBlack=Zp;function oE(t){return $(t,q([91],39))}o(oE,"brightRed");w.brightRed=oE;function sE(t){return $(t,q([92],39))}o(sE,"brightGreen");w.brightGreen=sE;function aE(t){return $(t,q([93],39))}o(aE,"brightYellow");w.brightYellow=aE;function cE(t){return $(t,q([94],39))}o(cE,"brightBlue");w.brightBlue=cE;function uE(t){return $(t,q([95],39))}o(uE,"brightMagenta");w.brightMagenta=uE;function lE(t){return $(t,q([96],39))}o(lE,"brightCyan");w.brightCyan=lE;function dE(t){return $(t,q([97],39))}o(dE,"brightWhite");w.brightWhite=dE;function pE(t){return $(t,q([40],49))}o(pE,"bgBlack");w.bgBlack=pE;function hE(t){return $(t,q([41],49))}o(hE,"bgRed");w.bgRed=hE;function fE(t){return $(t,q([42],49))}o(fE,"bgGreen");w.bgGreen=fE;function mE(t){return $(t,q([43],49))}o(mE,"bgYellow");w.bgYellow=mE;function yE(t){return $(t,q([44],49))}o(yE,"bgBlue");w.bgBlue=yE;function gE(t){return $(t,q([45],49))}o(gE,"bgMagenta");w.bgMagenta=gE;function _E(t){return $(t,q([46],49))}o(_E,"bgCyan");w.bgCyan=_E;function bE(t){return $(t,q([47],49))}o(bE,"bgWhite");w.bgWhite=bE;function EE(t){return $(t,q([100],49))}o(EE,"bgBrightBlack");w.bgBrightBlack=EE;function wE(t){return $(t,q([101],49))}o(wE,"bgBrightRed");w.bgBrightRed=wE;function vE(t){return $(t,q([102],49))}o(vE,"bgBrightGreen");w.bgBrightGreen=vE;function TE(t){return $(t,q([103],49))}o(TE,"bgBrightYellow");w.bgBrightYellow=TE;function SE(t){return $(t,q([104],49))}o(SE,"bgBrightBlue");w.bgBrightBlue=SE;function IE(t){return $(t,q([105],49))}o(IE,"bgBrightMagenta");w.bgBrightMagenta=IE;function AE(t){return $(t,q([106],49))}o(AE,"bgBrightCyan");w.bgBrightCyan=AE;function PE(t){return $(t,q([107],49))}o(PE,"bgBrightWhite");w.bgBrightWhite=PE;function jt(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(jt,"clampAndTruncate");function RE(t,e){return $(t,q([38,5,jt(e)],39))}o(RE,"rgb8");w.rgb8=RE;function OE(t,e){return $(t,q([48,5,jt(e)],49))}o(OE,"bgRgb8");w.bgRgb8=OE;function xE(t,e){return typeof e=="number"?$(t,q([38,2,e>>16&255,e>>8&255,e&255],39)):$(t,q([38,2,jt(e.r),jt(e.g),jt(e.b)],39))}o(xE,"rgb24");w.rgb24=xE;function NE(t,e){return typeof e=="number"?$(t,q([48,2,e>>16&255,e>>8&255,e&255],49)):$(t,q([48,2,jt(e.r),jt(e.g),jt(e.b)],49))}o(NE,"bgRgb24");w.bgRgb24=NE;var CE=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 LE(t){return t.replace(CE,"")}o(LE,"stripColor");w.stripColor=LE;w.colorFunctions=[Kp,Jp,zp,Wp,Qp,Yp];function DE(t){let e=0,r=t.length,n=0;if(r>0)for(;n<r;)e=(e<<5)-e+t.charCodeAt(n++)|0;return e}o(DE,"hashCode");function UE(t){let e=Math.abs(DE(t));return w.colorFunctions[e%w.colorFunctions.length]}o(UE,"generateColor");w.generateColor=UE});var eh=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.format=void 0;function ME(t,e,...r){let n=0,i=r.length,s=String(e).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 t(r[n++]).split(`
26
- `).map(c=>c.trim()).join(" ");case"%O":return t(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+=" "+t(a);return s}o(ME,"format");eo.format=ME});var sh=g(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.inspect=void 0;function Er(t,e,r,n){let i={seen:[],stylize:kE,showHidden:e??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=HE),to(i,t,i.depth)}o(Er,"inspect");ro.inspect=Er;Er.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]};Er.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function kE(t,e){return t}o(kE,"stylizeNoColor");function FE(t){return typeof t=="boolean"}o(FE,"isBoolean");function rh(t){return t===void 0}o(rh,"isUndefined");function HE(t,e){let r=Er.styles[e];return r?"\x1B["+Er.colors[r][0]+"m"+t+"\x1B["+Er.colors[r][1]+"m":t}o(HE,"stylizeWithColor");function tu(t){return typeof t=="function"}o(tu,"isFunction");function nh(t){return typeof t=="string"}o(nh,"isString");function qE(t){return typeof t=="number"}o(qE,"isNumber");function ih(t){return t===null}o(ih,"isNull");function oh(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(oh,"hasOwn");function ru(t){return su(t)&&au(t)==="[object RegExp]"}o(ru,"isRegExp");function su(t){return typeof t=="object"&&t!==null}o(su,"isObject");function nu(t){return su(t)&&(au(t)==="[object Error]"||t instanceof Error)}o(nu,"isError");function th(t){return su(t)&&au(t)==="[object Date]"}o(th,"isDate");function au(t){return Object.prototype.toString.call(t)}o(au,"objectToString");function $E(t){let e={};return t.forEach(function(r,n){e[r]=!0}),e}o($E,"arrayToHash");function jE(t,e,r,n,i){let s=[];for(let a=0,c=e.length;a<c;++a)oh(e,String(a))?s.push(ou(t,e,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(ou(t,e,r,n,a,!0))}),s}o(jE,"formatArray");function iu(t){return"["+Error.prototype.toString.call(t)+"]"}o(iu,"formatError");function to(t,e,r){if(t.customInspect&&e&&tu(e.inspect)&&e.inspect!==Er&&!(e.constructor&&e.constructor.prototype===e)){let d=e.inspect(r,t);return nh(d)||(d=to(t,d,r)),d}let n=VE(t,e);if(n)return n;let i=Object.keys(e),s=$E(i);try{t.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(e))}catch{}if(nu(e)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return iu(e);if(i.length===0){if(tu(e)){let d=e.name?": "+e.name:"";return t.stylize("[Function"+d+"]","special")}if(ru(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(th(e))return t.stylize(Date.prototype.toString.call(e),"date");if(nu(e))return iu(e)}let a="",c=!1,u=["{","}"];if(Array.isArray(e)&&(c=!0,u=["[","]"]),tu(e)&&(a=" [Function"+(e.name?": "+e.name:"")+"]"),ru(e)&&(a=" "+RegExp.prototype.toString.call(e)),th(e)&&(a=" "+Date.prototype.toUTCString.call(e)),nu(e)&&(a=" "+iu(e)),i.length===0&&(!c||e.length==0))return u[0]+a+u[1];if(r<0)return ru(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);let l;return c?l=jE(t,e,r,s,i):l=i.map(function(d){return ou(t,e,r,s,d,c)}),t.seen.pop(),GE(l,a,u)}o(to,"formatValue");function ou(t,e,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=e[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(e,i)||u)}catch{}if(u.get?u.set?c=t.stylize("[Getter/Setter]","special"):c=t.stylize("[Getter]","special"):u.set&&(c=t.stylize("[Setter]","special")),oh(n,i)||(a="["+i+"]"),c||(t.seen.indexOf(u.value)<0?(ih(r)?c=to(t,u.value,null):c=to(t,u.value,r-1),c.indexOf(`
25
+ "use strict";var Mb=Object.create;var Jn=Object.defineProperty;var kb=Object.getOwnPropertyDescriptor;var Fb=Object.getOwnPropertyNames;var Hb=Object.getPrototypeOf,qb=Object.prototype.hasOwnProperty;var o=(t,e)=>Jn(t,"name",{value:e,configurable:!0});var S=(t,e)=>()=>(t&&(e=t(t=0)),e);var g=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ki=(t,e)=>{for(var r in e)Jn(t,r,{get:e[r],enumerable:!0})},Fp=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Fb(e))!qb.call(t,i)&&i!==r&&Jn(t,i,{get:()=>e[i],enumerable:!(n=kb(e,i))||n.enumerable});return t};var Hp=(t,e,r)=>(r=t!=null?Mb(Hb(t)):{},Fp(e||!t||!t.__esModule?Jn(r,"default",{value:t,enumerable:!0}):r,t)),Ji=t=>Fp(Jn({},"__esModule",{value:!0}),t);var D=g(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.FeatureNotEnabledError=ft.ConfigurationError=ft.RuntimeError=ft.SystemError=void 0;var jc=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};ft.SystemError=jc;var zn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(e,r){typeof e=="string"?super(e,r):(super(e.message,r),this.extensionMembers=e.extensionMembers),this.name="RuntimeError"}};ft.RuntimeError=zn;var Vc=class extends zn{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};ft.ConfigurationError=Vc;var Gc=class extends zn{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};ft.FeatureNotEnabledError=Gc});var te=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.Environment=void 0;var $b=D(),Bc=class t{static{o(this,"Environment")}config;static#e;static initialize(e,r){this.#e||(this.#e=new t(e,r))}static get instance(){if(!this.#e)throw new $b.SystemError("Environment has not been initialized");return this.#e}constructor(e,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=e,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 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=Bc});var Vp=g(jp=>{"use strict";Object.defineProperty(jp,"__esModule",{value:!0});var qp=te();Function.prototype.toString=function(){return"[native code]"};var Wi=globalThis,$p=Wi.caches;if($p){let t=$p.open;Wi.caches.open=function(e){let r=qp.Environment.instance.deploymentName??qp.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Wi.caches.default,Object.freeze(Wi.caches)}});var zc=g(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.MemoryCache=void 0;var jb=1e4,Vb=1e3,Gp=new Map,Kc=class{static{o(this,"InnerCache")}constructor(e){this.#e=e.maxSize}#e;#t=0;#r=new Map;#n=[];get(e){let r=this.#r.get(e);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(e);return}return r.lastUsed=n,this.#i(),r?.data}put(e,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(e),this.#r.set(e,s)}delete(e){let r=this.#n.indexOf(e);r>=0&&this.#n.slice(r,1),this.#r.delete(e)}get size(){return this.#r.size}#i(){let e=Date.now();this.#t+jb*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},Jc=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:Vb}){this.name=e;let n=Gp.get(e);n||(n=new Kc(r),Gp.set(e,n)),this.#e=n}name;#e;get(e){return this.#e.get(e)}put(e,r,n){return this.#e.put(e,r,n)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}purge(){this.#e.purge()}};Qi.MemoryCache=Jc});var Yc=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.ZoneCache=void 0;var Wc="__zuplo-expiry-header",Qc=class{static{o(this,"ZoneCache")}constructor(e,r){this.#t=e,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(e){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(e)}`)}async get(e){try{let r=await this.#n(),n=this.#i(e),i=await r.match(n);if(!i)return;let s=i.headers.get(Wc);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(e)}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(e)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(e,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Wc,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(e),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(e){let r=await this.#n(),n=this.#i(e);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(e)}}async deleteFallback(e){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Wc,`${Date.now()}`);let n=await this.#n(),i=this.#i(e),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...e){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,e):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,e)}};Yi.ZoneCache=Qc});var br=g(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.MemoryZoneReadThroughCache=void 0;var Gb=zc(),Bb=Yc(),Zc=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new Gb.MemoryCache(n),this.#r=new Bb.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(e){let r=this.#t.get(e);if(r)return r;let n=await this.#r.get(e);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(e,n.data,i),n.data}}put(e,r,n){this.#t.put(e,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(e,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)})}};Zi.MemoryZoneReadThroughCache=Zc});var Bp=g(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.VALID_COMPATIBILITY_DATES=void 0;Xi.VALID_COMPATIBILITY_DATES=Object.freeze(["2023-03-14"])});var Wn=g(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.INTERNAL_HEADERS_TO_REMOVE=N.ZP_TIMEZONE_HEADER=N.ZP_REGION_CODE_HEADER=N.ZP_REGION_HEADER=N.ZP_METRO_CODE_HEADER=N.ZP_POSTAL_CODE_HEADER=N.ZP_COLO_HEADER=N.ZP_AS_ORG_HEADER=N.ZP_ASN_HEADER=N.TRUE_CLIENT_IP=N.ZP_IP_LATITUDE_HEADER=N.ZP_IP_LONGITUDE_HEADER=N.ZP_IP_COUNTRY_HEADER=N.ZP_IP_CONTINENT_HEADER=N.ZP_IP_CITY_HEADER=N.CF_IP_LATITUDE_HEADER=N.CF_IP_LONGITUDE_HEADER=N.CF_IP_COUNTRY_HEADER=N.CF_IP_CONTINENT_HEADER=N.CF_IP_CITY_HEADER=N.RAY_ID_HEADER=N.BODY_REMOVED_HEADER=N.REQUEST_ID_HEADER=N.LEGACY_REQUEST_ID_HEADER=void 0;N.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";N.REQUEST_ID_HEADER="zp-rid";N.BODY_REMOVED_HEADER="zp-body-removed";N.RAY_ID_HEADER="cf-ray";N.CF_IP_CITY_HEADER="cf-ipcity";N.CF_IP_CONTINENT_HEADER="cf-ipcontinent";N.CF_IP_COUNTRY_HEADER="cf-ipcountry";N.CF_IP_LONGITUDE_HEADER="cf-iplongitude";N.CF_IP_LATITUDE_HEADER="cf-iplatitude";N.ZP_IP_CITY_HEADER="zp-ipcity";N.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";N.ZP_IP_COUNTRY_HEADER="zp-ipcountry";N.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";N.ZP_IP_LATITUDE_HEADER="zp-iplatitude";N.TRUE_CLIENT_IP="true-client-ip";N.ZP_ASN_HEADER="zp-asn";N.ZP_AS_ORG_HEADER="zp-asorg";N.ZP_COLO_HEADER="zp-colo";N.ZP_POSTAL_CODE_HEADER="zp-postalcode";N.ZP_METRO_CODE_HEADER="zp-metrocode";N.ZP_REGION_HEADER="zp-region";N.ZP_REGION_CODE_HEADER="zp-regioncode";N.ZP_TIMEZONE_HEADER="zp-timezone";N.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",N.CF_IP_CITY_HEADER,N.CF_IP_CONTINENT_HEADER,N.CF_IP_COUNTRY_HEADER,N.CF_IP_LONGITUDE_HEADER,N.ZP_ASN_HEADER,N.ZP_AS_ORG_HEADER,N.ZP_COLO_HEADER,N.ZP_POSTAL_CODE_HEADER,N.ZP_METRO_CODE_HEADER,N.ZP_REGION_HEADER,N.ZP_REGION_CODE_HEADER,N.ZP_TIMEZONE_HEADER]});var eh=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 Kp=!0,Xc=!Kp;function Kb(t){Kp||(Xc=t)}o(Kb,"setColorEnabled");w.setColorEnabled=Kb;function Jb(){return Xc}o(Jb,"getColorEnabled");w.getColorEnabled=Jb;function H(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(H,"code");function q(t,e){return Xc?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(q,"run");function zb(t){return q(t,H([0],0))}o(zb,"reset");w.reset=zb;function Wb(t){return q(t,H([1],22))}o(Wb,"bold");w.bold=Wb;function Qb(t){return q(t,H([2],22))}o(Qb,"dim");w.dim=Qb;function Yb(t){return q(t,H([3],23))}o(Yb,"italic");w.italic=Yb;function Zb(t){return q(t,H([4],24))}o(Zb,"underline");w.underline=Zb;function Xb(t){return q(t,H([7],27))}o(Xb,"inverse");w.inverse=Xb;function eE(t){return q(t,H([8],28))}o(eE,"hidden");w.hidden=eE;function tE(t){return q(t,H([9],29))}o(tE,"strikethrough");w.strikethrough=tE;function rE(t){return q(t,H([30],39))}o(rE,"black");w.black=rE;function Jp(t){return q(t,H([31],39))}o(Jp,"red");w.red=Jp;function zp(t){return q(t,H([32],39))}o(zp,"green");w.green=zp;function Wp(t){return q(t,H([33],39))}o(Wp,"yellow");w.yellow=Wp;function Qp(t){return q(t,H([34],39))}o(Qp,"blue");w.blue=Qp;function Yp(t){return q(t,H([35],39))}o(Yp,"magenta");w.magenta=Yp;function Zp(t){return q(t,H([36],39))}o(Zp,"cyan");w.cyan=Zp;function nE(t){return q(t,H([37],39))}o(nE,"white");w.white=nE;function iE(t){return Xp(t)}o(iE,"gray");w.gray=iE;function Xp(t){return q(t,H([90],39))}o(Xp,"brightBlack");w.brightBlack=Xp;function oE(t){return q(t,H([91],39))}o(oE,"brightRed");w.brightRed=oE;function sE(t){return q(t,H([92],39))}o(sE,"brightGreen");w.brightGreen=sE;function aE(t){return q(t,H([93],39))}o(aE,"brightYellow");w.brightYellow=aE;function cE(t){return q(t,H([94],39))}o(cE,"brightBlue");w.brightBlue=cE;function uE(t){return q(t,H([95],39))}o(uE,"brightMagenta");w.brightMagenta=uE;function lE(t){return q(t,H([96],39))}o(lE,"brightCyan");w.brightCyan=lE;function dE(t){return q(t,H([97],39))}o(dE,"brightWhite");w.brightWhite=dE;function pE(t){return q(t,H([40],49))}o(pE,"bgBlack");w.bgBlack=pE;function hE(t){return q(t,H([41],49))}o(hE,"bgRed");w.bgRed=hE;function fE(t){return q(t,H([42],49))}o(fE,"bgGreen");w.bgGreen=fE;function mE(t){return q(t,H([43],49))}o(mE,"bgYellow");w.bgYellow=mE;function yE(t){return q(t,H([44],49))}o(yE,"bgBlue");w.bgBlue=yE;function gE(t){return q(t,H([45],49))}o(gE,"bgMagenta");w.bgMagenta=gE;function _E(t){return q(t,H([46],49))}o(_E,"bgCyan");w.bgCyan=_E;function bE(t){return q(t,H([47],49))}o(bE,"bgWhite");w.bgWhite=bE;function EE(t){return q(t,H([100],49))}o(EE,"bgBrightBlack");w.bgBrightBlack=EE;function wE(t){return q(t,H([101],49))}o(wE,"bgBrightRed");w.bgBrightRed=wE;function vE(t){return q(t,H([102],49))}o(vE,"bgBrightGreen");w.bgBrightGreen=vE;function TE(t){return q(t,H([103],49))}o(TE,"bgBrightYellow");w.bgBrightYellow=TE;function SE(t){return q(t,H([104],49))}o(SE,"bgBrightBlue");w.bgBrightBlue=SE;function IE(t){return q(t,H([105],49))}o(IE,"bgBrightMagenta");w.bgBrightMagenta=IE;function AE(t){return q(t,H([106],49))}o(AE,"bgBrightCyan");w.bgBrightCyan=AE;function PE(t){return q(t,H([107],49))}o(PE,"bgBrightWhite");w.bgBrightWhite=PE;function jt(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(jt,"clampAndTruncate");function RE(t,e){return q(t,H([38,5,jt(e)],39))}o(RE,"rgb8");w.rgb8=RE;function OE(t,e){return q(t,H([48,5,jt(e)],49))}o(OE,"bgRgb8");w.bgRgb8=OE;function xE(t,e){return typeof e=="number"?q(t,H([38,2,e>>16&255,e>>8&255,e&255],39)):q(t,H([38,2,jt(e.r),jt(e.g),jt(e.b)],39))}o(xE,"rgb24");w.rgb24=xE;function NE(t,e){return typeof e=="number"?q(t,H([48,2,e>>16&255,e>>8&255,e&255],49)):q(t,H([48,2,jt(e.r),jt(e.g),jt(e.b)],49))}o(NE,"bgRgb24");w.bgRgb24=NE;var CE=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 LE(t){return t.replace(CE,"")}o(LE,"stripColor");w.stripColor=LE;w.colorFunctions=[Jp,zp,Wp,Qp,Yp,Zp];function DE(t){let e=0,r=t.length,n=0;if(r>0)for(;n<r;)e=(e<<5)-e+t.charCodeAt(n++)|0;return e}o(DE,"hashCode");function UE(t){let e=Math.abs(DE(t));return w.colorFunctions[e%w.colorFunctions.length]}o(UE,"generateColor");w.generateColor=UE});var th=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.format=void 0;function ME(t,e,...r){let n=0,i=r.length,s=String(e).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 t(r[n++]).split(`
26
+ `).map(c=>c.trim()).join(" ");case"%O":return t(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+=" "+t(a);return s}o(ME,"format");eo.format=ME});var ah=g(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.inspect=void 0;function Er(t,e,r,n){let i={seen:[],stylize:kE,showHidden:e??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=HE),to(i,t,i.depth)}o(Er,"inspect");ro.inspect=Er;Er.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]};Er.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function kE(t,e){return t}o(kE,"stylizeNoColor");function FE(t){return typeof t=="boolean"}o(FE,"isBoolean");function nh(t){return t===void 0}o(nh,"isUndefined");function HE(t,e){let r=Er.styles[e];return r?"\x1B["+Er.colors[r][0]+"m"+t+"\x1B["+Er.colors[r][1]+"m":t}o(HE,"stylizeWithColor");function eu(t){return typeof t=="function"}o(eu,"isFunction");function ih(t){return typeof t=="string"}o(ih,"isString");function qE(t){return typeof t=="number"}o(qE,"isNumber");function oh(t){return t===null}o(oh,"isNull");function sh(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(sh,"hasOwn");function tu(t){return ou(t)&&su(t)==="[object RegExp]"}o(tu,"isRegExp");function ou(t){return typeof t=="object"&&t!==null}o(ou,"isObject");function ru(t){return ou(t)&&(su(t)==="[object Error]"||t instanceof Error)}o(ru,"isError");function rh(t){return ou(t)&&su(t)==="[object Date]"}o(rh,"isDate");function su(t){return Object.prototype.toString.call(t)}o(su,"objectToString");function $E(t){let e={};return t.forEach(function(r,n){e[r]=!0}),e}o($E,"arrayToHash");function jE(t,e,r,n,i){let s=[];for(let a=0,c=e.length;a<c;++a)sh(e,String(a))?s.push(iu(t,e,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(iu(t,e,r,n,a,!0))}),s}o(jE,"formatArray");function nu(t){return"["+Error.prototype.toString.call(t)+"]"}o(nu,"formatError");function to(t,e,r){if(t.customInspect&&e&&eu(e.inspect)&&e.inspect!==Er&&!(e.constructor&&e.constructor.prototype===e)){let d=e.inspect(r,t);return ih(d)||(d=to(t,d,r)),d}let n=VE(t,e);if(n)return n;let i=Object.keys(e),s=$E(i);try{t.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(e))}catch{}if(ru(e)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return nu(e);if(i.length===0){if(eu(e)){let d=e.name?": "+e.name:"";return t.stylize("[Function"+d+"]","special")}if(tu(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(rh(e))return t.stylize(Date.prototype.toString.call(e),"date");if(ru(e))return nu(e)}let a="",c=!1,u=["{","}"];if(Array.isArray(e)&&(c=!0,u=["[","]"]),eu(e)&&(a=" [Function"+(e.name?": "+e.name:"")+"]"),tu(e)&&(a=" "+RegExp.prototype.toString.call(e)),rh(e)&&(a=" "+Date.prototype.toUTCString.call(e)),ru(e)&&(a=" "+nu(e)),i.length===0&&(!c||e.length==0))return u[0]+a+u[1];if(r<0)return tu(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);let l;return c?l=jE(t,e,r,s,i):l=i.map(function(d){return iu(t,e,r,s,d,c)}),t.seen.pop(),GE(l,a,u)}o(to,"formatValue");function iu(t,e,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=e[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(e,i)||u)}catch{}if(u.get?u.set?c=t.stylize("[Getter/Setter]","special"):c=t.stylize("[Getter]","special"):u.set&&(c=t.stylize("[Setter]","special")),sh(n,i)||(a="["+i+"]"),c||(t.seen.indexOf(u.value)<0?(oh(r)?c=to(t,u.value,null):c=to(t,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=t.stylize("[Circular]","special")),rh(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=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+c}o(ou,"formatProperty");function VE(t,e){if(rh(e))return t.stylize("undefined","undefined");if(nh(e)){let r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(qE(e))return t.stylize(""+e,"number");if(FE(e))return t.stylize(""+e,"boolean");if(ih(e))return t.stylize("null","null")}o(VE,"formatPrimitive");function GE(t,e,r){let n=0;return t.reduce(function(s,a){return n++,a.indexOf(`
32
+ `))):c=t.stylize("[Circular]","special")),nh(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=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+c}o(iu,"formatProperty");function VE(t,e){if(nh(e))return t.stylize("undefined","undefined");if(ih(e)){let r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(qE(e))return t.stylize(""+e,"number");if(FE(e))return t.stylize(""+e,"boolean");if(oh(e))return t.stylize("null","null")}o(VE,"formatPrimitive");function GE(t,e,r){let n=0;return t.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]+(e===""?"":e+`
34
34
  `)+" "+t.join(`,
35
- `)+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}o(GE,"reduceToSingleString")});var ah=g(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.format=void 0;var BE=eh(),KE=sh(),JE=o((t,...e)=>(0,BE.format)(KE.inspect,t,e),"format");no.format=JE});var wr=g(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.debug=Vt.withoutEnv=Vt.Debugger=void 0;var zE=Xp(),WE=ah(),io=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,zE.generateColor)(r),this.last=0,this.enabled=e.enabled.some(n=>n.test(r))}log(...e){if(!this.enabled)return;let r,n=e[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,WE.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Vt.Debugger=io;var oo=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function ch(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(ch,"extract");var Qn;function QE(t){t||(t=[]),typeof t=="string"&&(t=ch(t)),Qn=new oo(t)}o(QE,"withoutEnv");Vt.withoutEnv=QE;function YE(t){let e=globalThis.DEBUG;Qn||(Qn=new oo(ch(e)));let r=new io(Qn,t);return Qn.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(YE,"debug");Vt.debug=YE});var ao=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.ProblemResponseFormatter=Hr.InternalProblemResponseFormatter=void 0;var ZE=D(),so=class t{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async e=>{let r=e.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:e.problem.status,statusText:e.statusText,headers:{...e.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(e){e&&(t.problemResponseFormat=(r,n,i)=>{try{return e(r,n,i)}catch(s){throw new ZE.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Hr.InternalProblemResponseFormatter=so;var cu=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await so.problemResponseFormat(e,r,n)}};Hr.ProblemResponseFormatter=cu});var Ot=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.initializeRuntime=me.invokeOnResponseSendingFinalExtensions=me.invokeOnResponseSendingExtensions=me.invokeOnRequestExtensions=me.plugins=me.runtimeExtensions=me.InitializableRuntimePlugin=me.RuntimePlugin=void 0;var XE=ao(),uo=class{static{o(this,"RuntimePlugin")}};me.RuntimePlugin=uo;var lo=class extends uo{static{o(this,"InitializableRuntimePlugin")}};me.InitializableRuntimePlugin=lo;me.runtimeExtensions={};var uu=[];me.plugins=uu;var uh=[],lh=[],dh=[],co={addPlugin(t){uu.push(t)},addRequestHook(t){uh.push(t)},addResponseSendingHook(t){lh.push(t)},addResponseSendingFinalHook(t){dh.push(t)}},ew=o(async(t,e)=>{let r=t;for(let n of uh)if(r=await n(r,e),r instanceof Response)return r;return r},"invokeOnRequestExtensions");me.invokeOnRequestExtensions=ew;var tw=o(async(t,e,r)=>{let n=t;for(let i of lh)n=await i(t,e,r);return n},"invokeOnResponseSendingExtensions");me.invokeOnResponseSendingExtensions=tw;var rw=o(async(t,e,r)=>{for(let n of dh)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");me.invokeOnResponseSendingFinalExtensions=rw;async function nw(t=()=>Promise.resolve()){await t(co),me.runtimeExtensions.value=co;let e=uu.filter(r=>r instanceof lo);for(let r of e)await r.initialize(co);XE.InternalProblemResponseFormatter.setProblemResponseFormat(co.problemResponseFormat)}o(nw,"initializeRuntime");me.initializeRuntime=nw});var Gt=g(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.Pipeline=void 0;var iw=ke(),lu=vr(),ph=Ot(),du=class{static{o(this,"Pipeline")}constructor(e,r,n){this.execute=this.#t(e,r,n)}execute;#e=(e,r)=>async(n,i)=>{try{return await e(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=(e,r,n)=>async(i,s)=>{let a=[...e],c=o(async y=>{let v=a.pop();return v?v(i,s,n,c):await this.#e(async S=>{let M=await r(S,s);return ow(M)},n)(y,s)},"nextPipe"),l=await c(i),d=new lu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=lu.ZuploContextExtensions.getContextExtensions(s),m=p.latestRequest,f;try{f=await d.mutableResponse}catch(y){return s.log.error(y),n.errorHandler(i,s,y)}try{f=await p.onResponseSending(f,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),n.errorHandler(i,s,y)}try{f=await(0,ph.invokeOnResponseSendingExtensions)(f,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),n.errorHandler(i,s,y)}s.dispatchEvent(new lu.ResponseSentEvent(i,f));try{await p.onResponseSendingFinal(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,ph.invokeOnResponseSendingFinalExtensions)(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return f}};po.Pipeline=du;function ow(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,iw.serialize)(t),{headers:{"content-type":"application/json"}})}o(ow,"resultToResponse")});var fo=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.MetricsPlugin=void 0;var sw=Ot(),pu=class extends sw.RuntimePlugin{static{o(this,"MetricsPlugin")}};ho.MetricsPlugin=pu});var Ge=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.SystemLogMap=void 0;var aw=D(),hu=class t{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(e){let r=t.#e.get(e);if(!r){let n=`No system logger found for context with requestId '${e.requestId}'`;throw console.error(n),new aw.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};mo.SystemLogMap=hu});var we=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.BatchDispatch=void 0;var fu=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=e=>{this.#i.push(e),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=fu});var fh=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.EllieMetricsTransport=void 0;var hh=Ge(),cw=we(),go=te(),mu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=go.Environment.instance.loggingId,this.#e=e,this.#t=new cw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,hh.SystemLogMap.getLogger(e))}pushMetrics(e,r){this.#r!==void 0&&(this.#t.enqueue(e),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async e=>{if(e.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=go.Environment.instance,a=e.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();hh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};_o.EllieMetricsTransport=mu});var mt=g(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.systemNoVersion=Tr.SystemRouteConfiguration=void 0;var yu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:e,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=e,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Tr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Tr.SystemRouteConfiguration=yu;Tr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Sr=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.metricsProcessor=void 0;var mh=Wn(),uw=vr(),lw=Ot(),dw=fo(),pw=fh(),hw=mt(),fw=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(mh.RAY_ID_HEADER)??void 0,u=t.headers.get(mh.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof hw.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=uw.ZuploContextExtensions.getContextExtensions(e).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:t.headers.get("content-length")?Number(t.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:e.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:e.requestId,method:t.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},f=[];return f.push(new pw.EllieMetricsTransport(e)),lw.plugins.forEach(y=>{if(y instanceof dw.MetricsPlugin){let v=y.getTransport();f.push(v)}}),f.forEach(y=>{y.pushMetrics(m,e)}),a},"metricsProcessor");bo.metricsProcessor=fw});var gh=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.SystemRouteName=void 0;var yh;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(yh||(Eo.SystemRouteName=yh={}))});var bh=g(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0})});var Ir=g(Bt=>{"use strict";var mw=Bt&&Bt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Eh=Bt&&Bt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&mw(e,t,r)};Object.defineProperty(Bt,"__esModule",{value:!0});Eh(gh(),Bt);Eh(bh(),Bt)});var wh=g(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.registerBuildRoute=void 0;var yw=xt(),gw=Gt(),_w=Sr(),bw=Ir(),Ew=mt(),ww=Ge(),vw=te(),Tw=o((t,e)=>{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 yw.HttpProblems.notFound(s,a);let l=vw.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"&&ww.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 gw.Pipeline([_w.metricsProcessor],r,e),i=new Ew.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:bw.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");wo.registerBuildRoute=Tw});var gu=g(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.HTTP_STATUS_TITLES=qr.HttpStatusCode=void 0;var vh;(function(t){t[t.CONTINUE=100]="CONTINUE",t[t.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",t[t.PROCESSING=102]="PROCESSING",t[t.EARLY_HINTS=103]="EARLY_HINTS",t[t.OK=200]="OK",t[t.CREATED=201]="CREATED",t[t.ACCEPTED=202]="ACCEPTED",t[t.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",t[t.NO_CONTENT=204]="NO_CONTENT",t[t.RESET_CONTENT=205]="RESET_CONTENT",t[t.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",t[t.MULTI_STATUS=207]="MULTI_STATUS",t[t.ALREADY_REPORTED=208]="ALREADY_REPORTED",t[t.IM_USED=226]="IM_USED",t[t.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",t[t.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",t[t.FOUND=302]="FOUND",t[t.SEE_OTHER=303]="SEE_OTHER",t[t.NOT_MODIFIED=304]="NOT_MODIFIED",t[t.USE_PROXY=305]="USE_PROXY",t[t.SWITCH_PROXY=306]="SWITCH_PROXY",t[t.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",t[t.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",t[t.BAD_REQUEST=400]="BAD_REQUEST",t[t.UNAUTHORIZED=401]="UNAUTHORIZED",t[t.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",t[t.FORBIDDEN=403]="FORBIDDEN",t[t.NOT_FOUND=404]="NOT_FOUND",t[t.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",t[t.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",t[t.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",t[t.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",t[t.CONFLICT=409]="CONFLICT",t[t.GONE=410]="GONE",t[t.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",t[t.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",t[t.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",t[t.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",t[t.URI_TOO_LONG=414]="URI_TOO_LONG",t[t.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",t[t.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",t[t.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",t[t.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",t[t.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",t[t.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",t[t.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",t[t.LOCKED=423]="LOCKED",t[t.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",t[t.TOO_EARLY=425]="TOO_EARLY",t[t.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",t[t.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",t[t.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",t[t.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",t[t.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",t[t.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",t[t.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",t[t.BAD_GATEWAY=502]="BAD_GATEWAY",t[t.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",t[t.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",t[t.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",t[t.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",t[t.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",t[t.LOOP_DETECTED=508]="LOOP_DETECTED",t[t.NOT_EXTENDED=510]="NOT_EXTENDED",t[t.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(vh||(qr.HttpStatusCode=vh={}));qr.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 ve=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.HttpProblems=void 0;var Sw=ke(),Iw=Wn(),O=gu(),Aw=te(),_u=ao();function Pw(t){return`${new URL(t.url).pathname}`}o(Pw,"instance");function Rw(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:Aw.Environment.instance.build.BUILD_ID},n=t.headers.get(Iw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Rw,"trace");var Ow=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:Pw(e),trace:Rw(e,r),...n},additionalHeaders:i,statusText:Sw.httpStatuses[t.status]}),"merge"),bu=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?_u.ProblemResponseFormatter.format(e,r,n):_u.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:O.HTTP_STATUS_TITLES[e],...r}}},Eu=class extends bu{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=Ow(this.getProblemFromStatus(e),r,n,i,s);return _u.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(O.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(O.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(O.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};vo.HttpProblems=Eu});var wu=g($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.generateCorsHeaders=$r.findMatchingOrigin=void 0;var xw=o((t,e)=>{if(e!==null)if(t){let r=To(t).split(",");if(r.find(c=>c==="*"))return e;let i=r.map(c=>c.trim().toLowerCase()),s=e.toLowerCase();return i.find(c=>c===s)}else return},"findMatchingOrigin");$r.findMatchingOrigin=xw;var Nw=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=To(t.allowedHeaders)),t.allowedMethods&&(r["access-control-allow-methods"]=To(t.allowedMethods)),t.exposeHeaders&&(r["access-control-expose-headers"]=To(t.exposeHeaders));let n=t.allowCredentials?.toString()??void 0;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");$r.generateCorsHeaders=Nw;var To=o(t=>Array.isArray(t)?t.map(e=>e.trim()).join(", "):t,"normalizePolicies")});var Sh=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.registerCorsRoute=void 0;var Cw=D(),Lw=Gt(),vu=ve(),Dw=Sr(),Uw=Ir(),Mw=mt(),Th=wu(),kw=o((t,e)=>{let r=e.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return vu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=t.lookup(l,u);if(!m)return vu.HttpProblems.notFound(a,c);let f=m.routeConfiguration,y=Fw(l,d,p,f,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):vu.HttpProblems.notFound(a,c)},"optionsHandler"),i=new Lw.Pipeline([Dw.metricsProcessor],n,e),s=new Mw.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Uw.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");So.registerCorsRoute=kw;var Fw=o((t,e,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":t,"access-control-allow-headers":e??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return s;let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new Cw.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section`);let c=(0,Th.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Th.generateCorsHeaders)(a,c)}:s},"validateAndBuildResponseHeaders")});var Ih=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.registerNoRoutes=void 0;var Hw=Gt(),qw=Sr(),$w=Ir(),jw=mt(),Vw=o((t,e)=>{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 Hw.Pipeline([qw.metricsProcessor],r,e),i=new jw.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:$w.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");Io.registerNoRoutes=Vw});var Ah=g(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.registerNotMatchedHandler=Ar.notFoundRouteConfiguration=void 0;var Gw=vr(),Bw=Ot(),Kw=Gt(),Jw=ve(),zw=Sr(),Ww=Ir(),Qw=mt();Ar.notFoundRouteConfiguration=new Qw.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Ww.SystemRouteName.UnmatchedPath});var Yw=o((t,e)=>{let r=o(async(i,s)=>{let a=Bw.runtimeExtensions.value?.notFoundHandler;if(a){let c=Gw.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Jw.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new Kw.Pipeline([zw.metricsProcessor],r,e);t.addRoute(Ar.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Ar.registerNotMatchedHandler=Yw});var Tu=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.corsProcessor=void 0;var Oh=D(),Ph=wu(),Zw=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Rh=o(t=>{Zw.forEach(e=>t.delete(e))},"stripCorsHeaders"),Xw=o(async(t,e,r,n)=>{let i=e.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(t),p=new Headers(d.headers);return Rh(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(t);if(!(s instanceof Response))throw new Oh.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=ev(i,r.routeData.corsPolicies),c=tv(t,a),u=new Headers(s.headers);return Rh(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");Ao.corsProcessor=Xw;var ev=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:["*"],allowedOrigins:["*"],allowedMethods:t.methods,exposeHeaders:["*"],allowCredentials:!0,maxAge:600};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Oh.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),tv=o((t,e)=>{let r=(0,Ph.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,Ph.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var xh=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.registerPingRoute=void 0;var rv=Gt(),nv=Tu(),iv=Ir(),ov=mt(),sv=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new rv.Pipeline([nv.corsProcessor],r,e),i=new ov.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:iv.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");Po.registerPingRoute=sv});var Su=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.getDevPortalRuntimeConfig=Ze.getDevPortalEnabled=Ze.DEV_PORTAL_LEGACY_PATHNAME=Ze.DEFAULT_DEV_PORTAL_PATHNAME=void 0;Ze.DEFAULT_DEV_PORTAL_PATHNAME="/docs";Ze.DEV_PORTAL_LEGACY_PATHNAME="/__zuplo/dev-portal";function Nh(t){let{developerPortal:e}=t.runtimeSettings;return!(!e||e.enabled===!1)}o(Nh,"getDevPortalEnabled");Ze.getDevPortalEnabled=Nh;function av(t){let{developerPortal:e}=t.runtimeSettings,r=e?.sitePathname;return r===Ze.DEV_PORTAL_LEGACY_PATHNAME&&(r=void 0),{enabled:Nh(t),sitePathname:cv(r??Ze.DEFAULT_DEV_PORTAL_PATHNAME)}}o(av,"getDevPortalRuntimeConfig");Ze.getDevPortalRuntimeConfig=av;function cv(t){let e=t.trim().toLowerCase();return e.endsWith("/")&&(e=e.slice(0,-1)),e}o(cv,"normalizePathname")});var Lh=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.deepFreeze=void 0;function Ch(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Ch(r)}return Object.freeze(t)}o(Ch,"deepFreeze");Ro.deepFreeze=Ch});var Yn=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.ZuploRequest=void 0;var Dh=Lh(),Iu=class t extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(e,r){super(e,r);let n=r?.params;n?this.#t=n:e instanceof t?this.#t=e.#t:this.#t={};let i=r?.user;i?this.user=i:e instanceof t&&(this.user=e.user)}get query(){if(this.#e===void 0){this.#e={};let e=new URL(this.url).searchParams;for(let[r,n]of e.entries())this.#e[r]=n}return(0,Dh.deepFreeze)(this.#e)}get params(){return(0,Dh.deepFreeze)(this.#t)}user};Oo.ZuploRequest=Iu});var Zn=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.policyProcessor=Nt.toStackedInboundHandler=Nt.getInboundPolicyHandlerAndOptions=void 0;var uv=vr(),jr=D(),Uh=Yn();function Mh(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.map(s=>{let a=e?.find(u=>u.name===s);if(!a)throw new jr.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new jr.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(Mh,"getInboundPolicyHandlerAndOptions");Nt.getInboundPolicyHandlerAndOptions=Mh;function lv(t,e){return(t.policies?.outbound??[]).map(i=>{let s=e?.find(c=>c.name===i);if(!s)throw new jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new jr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(lv,"getOutboundPolicyHandlerAndOptions");var dv=o(t=>async(e,r)=>{let n=uv.ZuploContextExtensions.getContextExtensions(r),i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(n.latestRequest=s,c instanceof Uh.ZuploRequest)s=c;else if(c instanceof Request)s=new Uh.ZuploRequest(e);else{if(c instanceof Response)return c;throw new jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}}return s},"toStackedInboundHandler");Nt.toStackedInboundHandler=dv;var pv=o(t=>async(e,r,n)=>{let i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),hv=o(async(t,e,r,n)=>{let i=Mh(e.route,r.routeData.policies),s=lv(e.route,r.routeData.policies),a=(0,Nt.toStackedInboundHandler)(i);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await n(c),l=pv(s);return u.ok?l(u,t,e):u}catch(c){return e.log.error(c),r.errorHandler(t,e,c)}},"policyProcessor");Nt.policyProcessor=hv});var kh=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.serialize=Vr.parse=void 0;var fv=Object.prototype.toString,xo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function mv(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||gv,s=0;for(;s<t.length;){let a=t.indexOf("=",s);if(a===-1)break;let c=t.indexOf(";",s);if(c===-1)c=t.length;else if(c<a){s=t.lastIndexOf(";",a-1)+1;continue}let u=t.slice(s,a).trim();if(r[u]===void 0){let l=t.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=Ev(l,i)}s=c+1}return r}o(mv,"parse");Vr.parse=mv;function yv(t,e,r){let n=r||{},i=n.encode||_v;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!xo.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!xo.test(s))throw new TypeError("argument val is invalid");let a=t+"="+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(!xo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!xo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!bv(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(yv,"serialize");Vr.serialize=yv;function gv(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(gv,"decode");function _v(t){return encodeURIComponent(t)}o(_v,"encode");function bv(t){return fv.call(t)==="[object Date]"||t instanceof Date}o(bv,"isDate");function Ev(t,e){try{return e(t)}catch{return t}}o(Ev,"tryDecode")});var Fh=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.devPortalBaseURL=void 0;var wv=kh();function vv(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,wv.parse)(e.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:t}catch{}return t}o(vv,"devPortalBaseURL");No.devPortalBaseURL=vv});var jh=g(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.registerDevPortalLegacyRedirectRoute=Br.registerDevPortalV3Route=void 0;var Au=xt(),Hh=Gt(),qh=Sr(),Tv=Zn(),$h=mt(),Sv=Fh(),Kt=te(),Gr=Su(),Iv="dev-portal-id",Av="dev-portal-host",Pv="zp-account",Rv="zp-project",Ov="dev-portal-build",xv=`
35
+ `)+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}o(GE,"reduceToSingleString")});var ch=g(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.format=void 0;var BE=th(),KE=ah(),JE=o((t,...e)=>(0,BE.format)(KE.inspect,t,e),"format");no.format=JE});var wr=g(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.debug=Vt.withoutEnv=Vt.Debugger=void 0;var zE=eh(),WE=ch(),io=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,zE.generateColor)(r),this.last=0,this.enabled=e.enabled.some(n=>n.test(r))}log(...e){if(!this.enabled)return;let r,n=e[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,WE.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Vt.Debugger=io;var oo=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function uh(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(uh,"extract");var Qn;function QE(t){t||(t=[]),typeof t=="string"&&(t=uh(t)),Qn=new oo(t)}o(QE,"withoutEnv");Vt.withoutEnv=QE;function YE(t){let e=globalThis.DEBUG;Qn||(Qn=new oo(uh(e)));let r=new io(Qn,t);return Qn.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(YE,"debug");Vt.debug=YE});var ao=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.ProblemResponseFormatter=Hr.InternalProblemResponseFormatter=void 0;var ZE=D(),so=class t{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async e=>{let r=e.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:e.problem.status,statusText:e.statusText,headers:{...e.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(e){e&&(t.problemResponseFormat=(r,n,i)=>{try{return e(r,n,i)}catch(s){throw new ZE.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Hr.InternalProblemResponseFormatter=so;var au=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await so.problemResponseFormat(e,r,n)}};Hr.ProblemResponseFormatter=au});var Ot=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.initializeRuntime=me.invokeOnResponseSendingFinalExtensions=me.invokeOnResponseSendingExtensions=me.invokeOnRequestExtensions=me.plugins=me.runtimeExtensions=me.InitializableRuntimePlugin=me.RuntimePlugin=void 0;var XE=ao(),uo=class{static{o(this,"RuntimePlugin")}};me.RuntimePlugin=uo;var lo=class extends uo{static{o(this,"InitializableRuntimePlugin")}};me.InitializableRuntimePlugin=lo;me.runtimeExtensions={};var cu=[];me.plugins=cu;var lh=[],dh=[],ph=[],co={addPlugin(t){cu.push(t)},addRequestHook(t){lh.push(t)},addResponseSendingHook(t){dh.push(t)},addResponseSendingFinalHook(t){ph.push(t)}},ew=o(async(t,e)=>{let r=t;for(let n of lh)if(r=await n(r,e),r instanceof Response)return r;return r},"invokeOnRequestExtensions");me.invokeOnRequestExtensions=ew;var tw=o(async(t,e,r)=>{let n=t;for(let i of dh)n=await i(t,e,r);return n},"invokeOnResponseSendingExtensions");me.invokeOnResponseSendingExtensions=tw;var rw=o(async(t,e,r)=>{for(let n of ph)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");me.invokeOnResponseSendingFinalExtensions=rw;async function nw(t=()=>Promise.resolve()){await t(co),me.runtimeExtensions.value=co;let e=cu.filter(r=>r instanceof lo);for(let r of e)await r.initialize(co);XE.InternalProblemResponseFormatter.setProblemResponseFormat(co.problemResponseFormat)}o(nw,"initializeRuntime");me.initializeRuntime=nw});var Gt=g(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.Pipeline=void 0;var iw=ke(),uu=vr(),hh=Ot(),lu=class{static{o(this,"Pipeline")}constructor(e,r,n){this.execute=this.#t(e,r,n)}execute;#e=(e,r)=>async(n,i)=>{try{return await e(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=(e,r,n)=>async(i,s)=>{let a=[...e],c=o(async y=>{let v=a.pop();return v?v(i,s,n,c):await this.#e(async I=>{let k=await r(I,s);return ow(k)},n)(y,s)},"nextPipe"),l=await c(i),d=new uu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=uu.ZuploContextExtensions.getContextExtensions(s),m=p.latestRequest,f;try{f=await d.mutableResponse}catch(y){return s.log.error(y),n.errorHandler(i,s,y)}try{f=await p.onResponseSending(f,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),n.errorHandler(i,s,y)}try{f=await(0,hh.invokeOnResponseSendingExtensions)(f,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),n.errorHandler(i,s,y)}s.dispatchEvent(new uu.ResponseSentEvent(i,f));try{await p.onResponseSendingFinal(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,hh.invokeOnResponseSendingFinalExtensions)(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return f}};po.Pipeline=lu;function ow(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,iw.serialize)(t),{headers:{"content-type":"application/json"}})}o(ow,"resultToResponse")});var fo=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.MetricsPlugin=void 0;var sw=Ot(),du=class extends sw.RuntimePlugin{static{o(this,"MetricsPlugin")}};ho.MetricsPlugin=du});var Ge=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.SystemLogMap=void 0;var aw=D(),pu=class t{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(e){let r=t.#e.get(e);if(!r){let n=`No system logger found for context with requestId '${e.requestId}'`;throw console.error(n),new aw.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};mo.SystemLogMap=pu});var we=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.BatchDispatch=void 0;var hu=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=e=>{this.#i.push(e),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=hu});var mh=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.EllieMetricsTransport=void 0;var fh=Ge(),cw=we(),go=te(),fu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=go.Environment.instance.loggingId,this.#e=e,this.#t=new cw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,fh.SystemLogMap.getLogger(e))}pushMetrics(e,r){this.#r!==void 0&&(this.#t.enqueue(e),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async e=>{if(e.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=go.Environment.instance,a=e.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();fh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};_o.EllieMetricsTransport=fu});var mt=g(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.systemNoVersion=Tr.SystemRouteConfiguration=void 0;var mu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:e,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=e,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Tr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Tr.SystemRouteConfiguration=mu;Tr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Sr=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.metricsProcessor=void 0;var yh=Wn(),uw=vr(),lw=Ot(),dw=fo(),pw=mh(),hw=mt(),fw=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(yh.RAY_ID_HEADER)??void 0,u=t.headers.get(yh.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof hw.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=uw.ZuploContextExtensions.getContextExtensions(e).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:t.headers.get("content-length")?Number(t.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:e.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:e.requestId,method:t.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},f=[];return f.push(new pw.EllieMetricsTransport(e)),lw.plugins.forEach(y=>{if(y instanceof dw.MetricsPlugin){let v=y.getTransport();f.push(v)}}),f.forEach(y=>{y.pushMetrics(m,e)}),a},"metricsProcessor");bo.metricsProcessor=fw});var _h=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.SystemRouteName=void 0;var gh;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(gh||(Eo.SystemRouteName=gh={}))});var Eh=g(bh=>{"use strict";Object.defineProperty(bh,"__esModule",{value:!0})});var Ir=g(Bt=>{"use strict";var mw=Bt&&Bt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),wh=Bt&&Bt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&mw(e,t,r)};Object.defineProperty(Bt,"__esModule",{value:!0});wh(_h(),Bt);wh(Eh(),Bt)});var vh=g(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.registerBuildRoute=void 0;var yw=xt(),gw=Gt(),_w=Sr(),bw=Ir(),Ew=mt(),ww=Ge(),vw=te(),Tw=o((t,e)=>{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 yw.HttpProblems.notFound(s,a);let l=vw.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"&&ww.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 gw.Pipeline([_w.metricsProcessor],r,e),i=new Ew.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:bw.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");wo.registerBuildRoute=Tw});var yu=g(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.HTTP_STATUS_TITLES=qr.HttpStatusCode=void 0;var Th;(function(t){t[t.CONTINUE=100]="CONTINUE",t[t.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",t[t.PROCESSING=102]="PROCESSING",t[t.EARLY_HINTS=103]="EARLY_HINTS",t[t.OK=200]="OK",t[t.CREATED=201]="CREATED",t[t.ACCEPTED=202]="ACCEPTED",t[t.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",t[t.NO_CONTENT=204]="NO_CONTENT",t[t.RESET_CONTENT=205]="RESET_CONTENT",t[t.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",t[t.MULTI_STATUS=207]="MULTI_STATUS",t[t.ALREADY_REPORTED=208]="ALREADY_REPORTED",t[t.IM_USED=226]="IM_USED",t[t.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",t[t.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",t[t.FOUND=302]="FOUND",t[t.SEE_OTHER=303]="SEE_OTHER",t[t.NOT_MODIFIED=304]="NOT_MODIFIED",t[t.USE_PROXY=305]="USE_PROXY",t[t.SWITCH_PROXY=306]="SWITCH_PROXY",t[t.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",t[t.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",t[t.BAD_REQUEST=400]="BAD_REQUEST",t[t.UNAUTHORIZED=401]="UNAUTHORIZED",t[t.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",t[t.FORBIDDEN=403]="FORBIDDEN",t[t.NOT_FOUND=404]="NOT_FOUND",t[t.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",t[t.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",t[t.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",t[t.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",t[t.CONFLICT=409]="CONFLICT",t[t.GONE=410]="GONE",t[t.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",t[t.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",t[t.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",t[t.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",t[t.URI_TOO_LONG=414]="URI_TOO_LONG",t[t.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",t[t.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",t[t.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",t[t.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",t[t.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",t[t.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",t[t.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",t[t.LOCKED=423]="LOCKED",t[t.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",t[t.TOO_EARLY=425]="TOO_EARLY",t[t.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",t[t.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",t[t.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",t[t.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",t[t.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",t[t.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",t[t.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",t[t.BAD_GATEWAY=502]="BAD_GATEWAY",t[t.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",t[t.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",t[t.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",t[t.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",t[t.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",t[t.LOOP_DETECTED=508]="LOOP_DETECTED",t[t.NOT_EXTENDED=510]="NOT_EXTENDED",t[t.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Th||(qr.HttpStatusCode=Th={}));qr.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 ve=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.HttpProblems=void 0;var Sw=ke(),Iw=Wn(),R=yu(),Aw=te(),gu=ao();function Pw(t){return`${new URL(t.url).pathname}`}o(Pw,"instance");function Rw(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:Aw.Environment.instance.build.BUILD_ID},n=t.headers.get(Iw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Rw,"trace");var Ow=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:Pw(e),trace:Rw(e,r),...n},additionalHeaders:i,statusText:Sw.httpStatuses[t.status]}),"merge"),_u=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?gu.ProblemResponseFormatter.format(e,r,n):gu.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:R.HTTP_STATUS_TITLES[e],...r}}},bu=class extends _u{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=Ow(this.getProblemFromStatus(e),r,n,i,s);return gu.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(R.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(R.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(R.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(R.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(R.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(R.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(R.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(R.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(R.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(R.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(R.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(R.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(R.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(R.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(R.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(R.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(R.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(R.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(R.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(R.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(R.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(R.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(R.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(R.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(R.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(R.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(R.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(R.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(R.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(R.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(R.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(R.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(R.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(R.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(R.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(R.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(R.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(R.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(R.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(R.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(R.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(R.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(R.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(R.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(R.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(R.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(R.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(R.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(R.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(R.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(R.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(R.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};vo.HttpProblems=bu});var Eu=g($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.generateCorsHeaders=$r.findMatchingOrigin=void 0;var xw=o((t,e)=>{if(e!==null)if(t){let r=To(t).split(",");if(r.find(c=>c==="*"))return e;let i=r.map(c=>c.trim().toLowerCase()),s=e.toLowerCase();return i.find(c=>c===s)}else return},"findMatchingOrigin");$r.findMatchingOrigin=xw;var Nw=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=To(t.allowedHeaders)),t.allowedMethods&&(r["access-control-allow-methods"]=To(t.allowedMethods)),t.exposeHeaders&&(r["access-control-expose-headers"]=To(t.exposeHeaders));let n=t.allowCredentials?.toString()??void 0;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");$r.generateCorsHeaders=Nw;var To=o(t=>Array.isArray(t)?t.map(e=>e.trim()).join(", "):t,"normalizePolicies")});var Ih=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.registerCorsRoute=void 0;var Cw=D(),Lw=Gt(),wu=ve(),Dw=Sr(),Uw=Ir(),Mw=mt(),Sh=Eu(),kw=o((t,e)=>{let r=e.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 wu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=t.lookup(l,u);if(!m)return wu.HttpProblems.notFound(a,c);let f=m.routeConfiguration,y=Fw(l,d,p,f,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):wu.HttpProblems.notFound(a,c)},"optionsHandler"),i=new Lw.Pipeline([Dw.metricsProcessor],n,e),s=new Mw.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Uw.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");So.registerCorsRoute=kw;var Fw=o((t,e,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":t,"access-control-allow-headers":e??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return s;let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new Cw.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section`);let c=(0,Sh.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Sh.generateCorsHeaders)(a,c)}:s},"validateAndBuildResponseHeaders")});var Ah=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.registerNoRoutes=void 0;var Hw=Gt(),qw=Sr(),$w=Ir(),jw=mt(),Vw=o((t,e)=>{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 Hw.Pipeline([qw.metricsProcessor],r,e),i=new jw.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:$w.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");Io.registerNoRoutes=Vw});var Ph=g(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.registerNotMatchedHandler=Ar.notFoundRouteConfiguration=void 0;var Gw=vr(),Bw=Ot(),Kw=Gt(),Jw=ve(),zw=Sr(),Ww=Ir(),Qw=mt();Ar.notFoundRouteConfiguration=new Qw.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Ww.SystemRouteName.UnmatchedPath});var Yw=o((t,e)=>{let r=o(async(i,s)=>{let a=Bw.runtimeExtensions.value?.notFoundHandler;if(a){let c=Gw.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Jw.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new Kw.Pipeline([zw.metricsProcessor],r,e);t.addRoute(Ar.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Ar.registerNotMatchedHandler=Yw});var vu=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.corsProcessor=void 0;var xh=D(),Rh=Eu(),Zw=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Oh=o(t=>{Zw.forEach(e=>t.delete(e))},"stripCorsHeaders"),Xw=o(async(t,e,r,n)=>{let i=e.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(t),p=new Headers(d.headers);return Oh(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(t);if(!(s instanceof Response))throw new xh.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=ev(i,r.routeData.corsPolicies),c=tv(t,a),u=new Headers(s.headers);return Oh(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");Ao.corsProcessor=Xw;var ev=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:["*"],allowedOrigins:["*"],allowedMethods:t.methods,exposeHeaders:["*"],allowCredentials:!0,maxAge:600};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new xh.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),tv=o((t,e)=>{let r=(0,Rh.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,Rh.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var Nh=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.registerPingRoute=void 0;var rv=Gt(),nv=vu(),iv=Ir(),ov=mt(),sv=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new rv.Pipeline([nv.corsProcessor],r,e),i=new ov.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:iv.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");Po.registerPingRoute=sv});var Tu=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.getDevPortalRuntimeConfig=Ze.getDevPortalEnabled=Ze.DEV_PORTAL_LEGACY_PATHNAME=Ze.DEFAULT_DEV_PORTAL_PATHNAME=void 0;Ze.DEFAULT_DEV_PORTAL_PATHNAME="/docs";Ze.DEV_PORTAL_LEGACY_PATHNAME="/__zuplo/dev-portal";function Ch(t){let{developerPortal:e}=t.runtimeSettings;return!(!e||e.enabled===!1)}o(Ch,"getDevPortalEnabled");Ze.getDevPortalEnabled=Ch;function av(t){let{developerPortal:e}=t.runtimeSettings,r=e?.sitePathname;return r===Ze.DEV_PORTAL_LEGACY_PATHNAME&&(r=void 0),{enabled:Ch(t),sitePathname:cv(r??Ze.DEFAULT_DEV_PORTAL_PATHNAME)}}o(av,"getDevPortalRuntimeConfig");Ze.getDevPortalRuntimeConfig=av;function cv(t){let e=t.trim().toLowerCase();return e.endsWith("/")&&(e=e.slice(0,-1)),e}o(cv,"normalizePathname")});var Dh=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.deepFreeze=void 0;function Lh(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Lh(r)}return Object.freeze(t)}o(Lh,"deepFreeze");Ro.deepFreeze=Lh});var Yn=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.ZuploRequest=void 0;var Uh=Dh(),Su=class t extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(e,r){super(e,r);let n=r?.params;n?this.#t=n:e instanceof t?this.#t=e.#t:this.#t={};let i=r?.user;i?this.user=i:e instanceof t&&(this.user=e.user)}get query(){if(this.#e===void 0){this.#e={};let e=new URL(this.url).searchParams;for(let[r,n]of e.entries())this.#e[r]=n}return(0,Uh.deepFreeze)(this.#e)}get params(){return(0,Uh.deepFreeze)(this.#t)}user};Oo.ZuploRequest=Su});var Zn=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.policyProcessor=Nt.toStackedInboundHandler=Nt.getInboundPolicyHandlerAndOptions=void 0;var uv=vr(),jr=D(),Mh=Yn();function kh(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.map(s=>{let a=e?.find(u=>u.name===s);if(!a)throw new jr.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new jr.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(kh,"getInboundPolicyHandlerAndOptions");Nt.getInboundPolicyHandlerAndOptions=kh;function lv(t,e){return(t.policies?.outbound??[]).map(i=>{let s=e?.find(c=>c.name===i);if(!s)throw new jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new jr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(lv,"getOutboundPolicyHandlerAndOptions");var dv=o(t=>async(e,r)=>{let n=uv.ZuploContextExtensions.getContextExtensions(r),i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(n.latestRequest=s,c instanceof Mh.ZuploRequest)s=c;else if(c instanceof Request)s=new Mh.ZuploRequest(e);else{if(c instanceof Response)return c;throw new jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}}return s},"toStackedInboundHandler");Nt.toStackedInboundHandler=dv;var pv=o(t=>async(e,r,n)=>{let i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),hv=o(async(t,e,r,n)=>{let i=kh(e.route,r.routeData.policies),s=lv(e.route,r.routeData.policies),a=(0,Nt.toStackedInboundHandler)(i);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await n(c),l=pv(s);return u.ok?l(u,t,e):u}catch(c){return e.log.error(c),r.errorHandler(t,e,c)}},"policyProcessor");Nt.policyProcessor=hv});var Fh=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.serialize=Vr.parse=void 0;var fv=Object.prototype.toString,xo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function mv(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||gv,s=0;for(;s<t.length;){let a=t.indexOf("=",s);if(a===-1)break;let c=t.indexOf(";",s);if(c===-1)c=t.length;else if(c<a){s=t.lastIndexOf(";",a-1)+1;continue}let u=t.slice(s,a).trim();if(r[u]===void 0){let l=t.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=Ev(l,i)}s=c+1}return r}o(mv,"parse");Vr.parse=mv;function yv(t,e,r){let n=r||{},i=n.encode||_v;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!xo.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!xo.test(s))throw new TypeError("argument val is invalid");let a=t+"="+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(!xo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!xo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!bv(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(yv,"serialize");Vr.serialize=yv;function gv(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(gv,"decode");function _v(t){return encodeURIComponent(t)}o(_v,"encode");function bv(t){return fv.call(t)==="[object Date]"||t instanceof Date}o(bv,"isDate");function Ev(t,e){try{return e(t)}catch{return t}}o(Ev,"tryDecode")});var Hh=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.devPortalBaseURL=void 0;var wv=Fh();function vv(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,wv.parse)(e.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:t}catch{}return t}o(vv,"devPortalBaseURL");No.devPortalBaseURL=vv});var Vh=g(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.registerDevPortalLegacyRedirectRoute=Br.registerDevPortalV3Route=void 0;var Iu=xt(),qh=Gt(),$h=Sr(),Tv=Zn(),jh=mt(),Sv=Hh(),Kt=te(),Gr=Tu(),Iv="dev-portal-id",Av="dev-portal-host",Pv="zp-account",Rv="zp-project",Ov="dev-portal-build",xv=`
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
- `,Nv=o((t,e)=>{let r=(0,Gr.getDevPortalRuntimeConfig)(e),n=Kt.Environment.instance.deploymentName,i=Kt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Kt.Environment.instance.isLocalDevelopment)return new Response(xv,{headers:{"content-type":"text/html"}});if(!n)return Au.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,Sv.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:f,method:y,body:v}=u;return Kt.Environment.instance.build.ACCOUNT_NAME&&f.set(Pv,Kt.Environment.instance.build.ACCOUNT_NAME),Kt.Environment.instance.build.PROJECT_NAME&&f.set(Rv,Kt.Environment.instance.build.PROJECT_NAME),f.set(Iv,n),f.set(Av,d.host),f.set(Ov,Kt.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:f,method:y,body:v,redirect:"manual"})},"devPortalRoute"),a=new Hh.Pipeline([qh.metricsProcessor,Tv.policyProcessor],s,e),c=new $h.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r.sitePathname}|/_next)(.*)`,systemRouteName:Au.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");Br.registerDevPortalV3Route=Nv;var Cv=o((t,e)=>{let{sitePathname:r}=(0,Gr.getDevPortalRuntimeConfig)(e),n=o(async a=>{let c=new URL(a.url);return r===Gr.DEV_PORTAL_LEGACY_PATHNAME?c.pathname=`/docs${c.pathname.substring(Gr.DEV_PORTAL_LEGACY_PATHNAME.length)}`:c.pathname=`${r}${c.pathname.substring(Gr.DEV_PORTAL_LEGACY_PATHNAME.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Hh.Pipeline([qh.metricsProcessor],n,e),s=new $h.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Gr.DEV_PORTAL_LEGACY_PATHNAME}(.*)`,systemRouteName:Au.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Br.registerDevPortalLegacyRedirectRoute=Cv});var Pu=g(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.API_KEY=Kr.SYSTEM_LOGGER=void 0;Kr.SYSTEM_LOGGER="system-logger";Kr.API_KEY="api-key"});var Vh=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.CoreLogger=void 0;var Ru=0,Ou=class{static{o(this,"CoreLogger")}constructor(e,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(e)}#e=e=>{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==e&&(n=!0)})};#t={};#r;#n;#i;#o;log(e,r,n,i,s,a){Ru>=Number.MAX_SAFE_INTEGER&&(Ru=0);let c={requestId:n,rayId:i,level:e,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Ru++};this.#t[e](c,a)}};Co.CoreLogger=Ou});var Ct=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.LogPlugin=void 0;var Lv=Ot(),xu=class extends Lv.RuntimePlugin{static{o(this,"LogPlugin")}};Lo.LogPlugin=xu});var Gh=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.LoggingContext=void 0;var Nu=class{static{o(this,"LoggingContext")}constructor(e,r,n){this.#e=e,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=e=>{this.#e.waitUntil(e)}};Do.LoggingContext=Nu});var Bh=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.RequestLogger=void 0;var Cu=class{static{o(this,"RequestLogger")}constructor(e,r,n,i){this.#t=e,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...e)=>{this.#n.log("debug",this.#e,this.#t,this.#r,e,this.#i)};info=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};log=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};warn=(...e)=>{this.#n.log("warn",this.#e,this.#t,this.#r,e,this.#i)};error=(...e)=>{this.#n.log("error",this.#e,this.#t,this.#r,e,this.#i)}};Uo.RequestLogger=Cu});var Jr=g(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.isErrorLike=k.withUndefinedAsNull=k.withNullAsUndefined=k.validateConstraint=k.validateConstraints=k.areFunctions=k.isFunction=k.isEmptyObject=k.assertAllDefined=k.assertIsDefined=k.assertType=k.isUndefinedOrNull=k.isDefined=k.isUndefined=k.isBoolean=k.isIterable=k.isNumber=k.isTypedArray=k.isObject=k.getOwnEnumerableKeys=k.isRegexp=k.isStringArray=k.isNonEmptyString=k.isString=k.toString=void 0;var{toString:Dv}=Object.prototype,{propertyIsEnumerable:Uv}=Object.prototype;function Kh(t){return Dv.call(t)}o(Kh,"toString");k.toString=Kh;function Mo(t){return typeof t=="string"}o(Mo,"isString");k.isString=Mo;function Mv(t){return Mo(t)&&t!==""}o(Mv,"isNonEmptyString");k.isNonEmptyString=Mv;function kv(t){return Array.isArray(t)&&t.every(e=>Mo(e))}o(kv,"isStringArray");k.isStringArray=kv;function Fv(t){return Kh(t)==="[object RegExp]"}o(Fv,"isRegexp");k.isRegexp=Fv;function Hv(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>Uv.call(t,e))]}o(Hv,"getOwnEnumerableKeys");k.getOwnEnumerableKeys=Hv;function Jh(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(Jh,"isObject");k.isObject=Jh;function qv(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(qv,"isTypedArray");k.isTypedArray=qv;function $v(t){return typeof t=="number"&&!isNaN(t)}o($v,"isNumber");k.isNumber=$v;function jv(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(jv,"isIterable");k.isIterable=jv;function Vv(t){return t===!0||t===!1}o(Vv,"isBoolean");k.isBoolean=Vv;function zh(t){return typeof t>"u"}o(zh,"isUndefined");k.isUndefined=zh;function Gv(t){return!Xn(t)}o(Gv,"isDefined");k.isDefined=Gv;function Xn(t){return zh(t)||t===null}o(Xn,"isUndefinedOrNull");k.isUndefinedOrNull=Xn;function Bv(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(Bv,"assertType");k.assertType=Bv;function Kv(t){if(Xn(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(Kv,"assertIsDefined");k.assertIsDefined=Kv;function Jv(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Xn(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o(Jv,"assertAllDefined");k.assertAllDefined=Jv;var zv=Object.prototype.hasOwnProperty;function Wv(t){if(!Jh(t))return!1;for(let e in t)if(zv.call(t,e))return!1;return!0}o(Wv,"isEmptyObject");k.isEmptyObject=Wv;function Lu(t){return typeof t=="function"}o(Lu,"isFunction");k.isFunction=Lu;function Qv(...t){return t.length>0&&t.every(Lu)}o(Qv,"areFunctions");k.areFunctions=Qv;function Yv(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)Wh(t[n],e[n])}o(Yv,"validateConstraints");k.validateConstraints=Yv;function Wh(t,e){if(Mo(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Lu(e)){try{if(t instanceof e)return}catch{}if(!Xn(t)&&t.constructor===e||e.length===1&&e.call(void 0,t)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Wh,"validateConstraint");k.validateConstraint=Wh;function Zv(t){return t===null?void 0:t}o(Zv,"withNullAsUndefined");k.withNullAsUndefined=Zv;function Xv(t){return typeof t>"u"?null:t}o(Xv,"withUndefinedAsNull");k.withUndefinedAsNull=Xv;function eT(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(eT,"isErrorLike");k.isErrorLike=eT});var Pr=g(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.cleanStack=Jt.serializeError=Jt.NonError=void 0;var Qh=Jr(),tT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),rT=new Map(tT),Du=class t extends Error{static{o(this,"NonError")}name="NonError";constructor(e){super(t._prepareSuperMessage(e))}static _prepareSuperMessage(e){try{return JSON.stringify(e)}catch{return String(e)}}};Jt.NonError=Du;var nT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Uu=Symbol(".toJSON was called"),iT=o(t=>{t[Uu]=!0;let e=t.toJSON();return delete t[Uu],e},"toJSON"),oT=o(t=>rT.get(t)??Error,"getErrorConstructor"),Yh=o(({from:t,seen:e,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(t))r=[];else if(!c&&(0,Qh.isErrorLike)(t)){let l=oT(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[Uu]!==!0)return iT(t);let u=o(l=>Yh({from:l,seen:[...e],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(t)){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(!e.includes(t[l])){s++,r[l]=u(t[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of nT)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,Qh.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function sT(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?Yh({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(sT,"serializeError");Jt.serializeError=sT;var aT=/file:\/\/\/(.*?)\/dist\//g,cT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,uT="at async Event.respondWith";function lT(t){return typeof t!="string"?t:t.split(`
49
+ `,Nv=o((t,e)=>{let r=(0,Gr.getDevPortalRuntimeConfig)(e),n=Kt.Environment.instance.deploymentName,i=Kt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Kt.Environment.instance.isLocalDevelopment)return new Response(xv,{headers:{"content-type":"text/html"}});if(!n)return Iu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,Sv.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:f,method:y,body:v}=u;return Kt.Environment.instance.build.ACCOUNT_NAME&&f.set(Pv,Kt.Environment.instance.build.ACCOUNT_NAME),Kt.Environment.instance.build.PROJECT_NAME&&f.set(Rv,Kt.Environment.instance.build.PROJECT_NAME),f.set(Iv,n),f.set(Av,d.host),f.set(Ov,Kt.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:f,method:y,body:v,redirect:"manual"})},"devPortalRoute"),a=new qh.Pipeline([$h.metricsProcessor,Tv.policyProcessor],s,e),c=new jh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r.sitePathname}|/_next)(.*)`,systemRouteName:Iu.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");Br.registerDevPortalV3Route=Nv;var Cv=o((t,e)=>{let{sitePathname:r}=(0,Gr.getDevPortalRuntimeConfig)(e),n=o(async a=>{let c=new URL(a.url);return r===Gr.DEV_PORTAL_LEGACY_PATHNAME?c.pathname=`/docs${c.pathname.substring(Gr.DEV_PORTAL_LEGACY_PATHNAME.length)}`:c.pathname=`${r}${c.pathname.substring(Gr.DEV_PORTAL_LEGACY_PATHNAME.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new qh.Pipeline([$h.metricsProcessor],n,e),s=new jh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Gr.DEV_PORTAL_LEGACY_PATHNAME}(.*)`,systemRouteName:Iu.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Br.registerDevPortalLegacyRedirectRoute=Cv});var Au=g(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.API_KEY=Kr.SYSTEM_LOGGER=void 0;Kr.SYSTEM_LOGGER="system-logger";Kr.API_KEY="api-key"});var Gh=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.CoreLogger=void 0;var Pu=0,Ru=class{static{o(this,"CoreLogger")}constructor(e,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(e)}#e=e=>{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==e&&(n=!0)})};#t={};#r;#n;#i;#o;log(e,r,n,i,s,a){Pu>=Number.MAX_SAFE_INTEGER&&(Pu=0);let c={requestId:n,rayId:i,level:e,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Pu++};this.#t[e](c,a)}};Co.CoreLogger=Ru});var Ct=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.LogPlugin=void 0;var Lv=Ot(),Ou=class extends Lv.RuntimePlugin{static{o(this,"LogPlugin")}};Lo.LogPlugin=Ou});var Bh=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.LoggingContext=void 0;var xu=class{static{o(this,"LoggingContext")}constructor(e,r,n){this.#e=e,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=e=>{this.#e.waitUntil(e)}};Do.LoggingContext=xu});var Kh=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.RequestLogger=void 0;var Nu=class{static{o(this,"RequestLogger")}constructor(e,r,n,i){this.#t=e,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...e)=>{this.#n.log("debug",this.#e,this.#t,this.#r,e,this.#i)};info=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};log=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};warn=(...e)=>{this.#n.log("warn",this.#e,this.#t,this.#r,e,this.#i)};error=(...e)=>{this.#n.log("error",this.#e,this.#t,this.#r,e,this.#i)}};Uo.RequestLogger=Nu});var Jr=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.isObject=M.getOwnEnumerableKeys=M.isRegexp=M.isStringArray=M.isNonEmptyString=M.isString=M.toString=void 0;var{toString:Dv}=Object.prototype,{propertyIsEnumerable:Uv}=Object.prototype;function Jh(t){return Dv.call(t)}o(Jh,"toString");M.toString=Jh;function Mo(t){return typeof t=="string"}o(Mo,"isString");M.isString=Mo;function Mv(t){return Mo(t)&&t!==""}o(Mv,"isNonEmptyString");M.isNonEmptyString=Mv;function kv(t){return Array.isArray(t)&&t.every(e=>Mo(e))}o(kv,"isStringArray");M.isStringArray=kv;function Fv(t){return Jh(t)==="[object RegExp]"}o(Fv,"isRegexp");M.isRegexp=Fv;function Hv(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>Uv.call(t,e))]}o(Hv,"getOwnEnumerableKeys");M.getOwnEnumerableKeys=Hv;function zh(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(zh,"isObject");M.isObject=zh;function qv(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(qv,"isTypedArray");M.isTypedArray=qv;function $v(t){return typeof t=="number"&&!isNaN(t)}o($v,"isNumber");M.isNumber=$v;function jv(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(jv,"isIterable");M.isIterable=jv;function Vv(t){return t===!0||t===!1}o(Vv,"isBoolean");M.isBoolean=Vv;function Wh(t){return typeof t>"u"}o(Wh,"isUndefined");M.isUndefined=Wh;function Gv(t){return!Xn(t)}o(Gv,"isDefined");M.isDefined=Gv;function Xn(t){return Wh(t)||t===null}o(Xn,"isUndefinedOrNull");M.isUndefinedOrNull=Xn;function Bv(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(Bv,"assertType");M.assertType=Bv;function Kv(t){if(Xn(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(Kv,"assertIsDefined");M.assertIsDefined=Kv;function Jv(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Xn(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o(Jv,"assertAllDefined");M.assertAllDefined=Jv;var zv=Object.prototype.hasOwnProperty;function Wv(t){if(!zh(t))return!1;for(let e in t)if(zv.call(t,e))return!1;return!0}o(Wv,"isEmptyObject");M.isEmptyObject=Wv;function Cu(t){return typeof t=="function"}o(Cu,"isFunction");M.isFunction=Cu;function Qv(...t){return t.length>0&&t.every(Cu)}o(Qv,"areFunctions");M.areFunctions=Qv;function Yv(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)Qh(t[n],e[n])}o(Yv,"validateConstraints");M.validateConstraints=Yv;function Qh(t,e){if(Mo(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Cu(e)){try{if(t instanceof e)return}catch{}if(!Xn(t)&&t.constructor===e||e.length===1&&e.call(void 0,t)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Qh,"validateConstraint");M.validateConstraint=Qh;function Zv(t){return t===null?void 0:t}o(Zv,"withNullAsUndefined");M.withNullAsUndefined=Zv;function Xv(t){return typeof t>"u"?null:t}o(Xv,"withUndefinedAsNull");M.withUndefinedAsNull=Xv;function eT(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(eT,"isErrorLike");M.isErrorLike=eT});var Pr=g(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.cleanStack=Jt.serializeError=Jt.NonError=void 0;var Yh=Jr(),tT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),rT=new Map(tT),Lu=class t extends Error{static{o(this,"NonError")}name="NonError";constructor(e){super(t._prepareSuperMessage(e))}static _prepareSuperMessage(e){try{return JSON.stringify(e)}catch{return String(e)}}};Jt.NonError=Lu;var nT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Du=Symbol(".toJSON was called"),iT=o(t=>{t[Du]=!0;let e=t.toJSON();return delete t[Du],e},"toJSON"),oT=o(t=>rT.get(t)??Error,"getErrorConstructor"),Zh=o(({from:t,seen:e,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(t))r=[];else if(!c&&(0,Yh.isErrorLike)(t)){let l=oT(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[Du]!==!0)return iT(t);let u=o(l=>Zh({from:l,seen:[...e],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(t)){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(!e.includes(t[l])){s++,r[l]=u(t[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of nT)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,Yh.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function sT(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?Zh({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(sT,"serializeError");Jt.serializeError=sT;var aT=/file:\/\/\/(.*?)\/dist\//g,cT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,uT="at async Event.respondWith";function lT(t){return typeof t!="string"?t:t.split(`
50
50
  `).filter(e=>!e.trim().startsWith("at async file")).map((e,r)=>{let n=e.replaceAll(aT,"").replaceAll(cT,"").replaceAll(uT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(e=>e.length>0).join(`
51
- `)}o(lT,"cleanStack");Jt.cleanStack=lT});var Zh=g(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var Mu=Jr();function dT(t,e,r=""){let n=[],i=e?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
51
+ `)}o(lT,"cleanStack");Jt.cleanStack=lT});var Xh=g(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});var Uu=Jr();function dT(t,e,r=""){let n=[],i=e?.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 m=o(f=>{if(c.inlineCharacterLimit===void 0)return f;let y=f.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return y.length<=c.inlineCharacterLimit?y:f.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,Mu.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 f="["+p.newline+a.map((y,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,S=s(y,c,u+d,l+1);return c.transform&&(S=c.transform(a,v,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),m(f)}if((0,Mu.isObject)(a)){let f=(0,Mu.getOwnEnumerableKeys)(a);if(c.filter&&(f=f.filter(v=>c.filter?.(a,v))),f.length===0)return"{}";n.push(a);let y="{"+p.newline+f.map((v,T)=>{let S=f.length-1===T?p.newline:","+p.newlineOrSpace,M=typeof v=="symbol",H=!M&&/^[a-z$_][$\w]*$/i.test(v),R=M||H?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(R)+": "+ne+S}).join("")+p.pad+"}";return n.pop(),m(y)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,f=>f===`
55
- `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(t,e,r,0)}o(dT,"stringifyObject");ku.default=dT});var yt=g(Fe=>{"use strict";var pT=Fe&&Fe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var Fu=Pr(),Xh=pT(Zh()),ef=Jr();function hT(t){return t.map(e=>(0,Fu.serializeError)(e))}o(hT,"makeErrorsSerializable");Fe.makeErrorsSerializable=hT;function fT(t){if(t.length===0)return"<no data provided to log>";let e=t[0];return typeof e=="string"?e:e instanceof Error?e.message:tf((0,Fu.serializeError)(e))}o(fT,"extractBestMessage");Fe.extractBestMessage=fT;function mT(t){let e=[];return t.forEach(r=>{if(typeof r=="string")e.push(r);else if((0,ef.isErrorLike)(r))if(r.stack)e.push(r.stack);else{let n=(0,Xh.default)((0,Fu.serializeError)(r));e.push(n)}else if(typeof r=="object"){let n=(0,Xh.default)(r);e.push(n)}else{let n=rf(r);e.push(n)}}),e.join(`
56
- `)}o(mT,"messagesToMultilineText");Fe.messagesToMultilineText=mT;function tf(t){return typeof t=="string"?t:JSON.stringify(t)}o(tf,"stringifyNonString");Fe.stringifyNonString=tf;function rf(t){return typeof t=="string"?t:t===null?"null":typeof t>"u"?"undefined":typeof t=="number"||typeof t=="boolean"||typeof t=="bigint"||typeof t=="symbol"?t.toString():typeof t=="function"?`[function ${t.name}]`:typeof t=="object"&&Array.isArray(t)?`[array ${t.length}]`:t instanceof Error?`${t.name??"Error"}: ${t.message??"unknown"}`:typeof t=="object"?(0,ef.toString)(t):"unknown"}o(rf,"stringifyNonStringToText");Fe.stringifyNonStringToText=rf});var L,se,Te=I(()=>{L=crypto,se=o(t=>t instanceof CryptoKey,"isCryptoKey")});var yT,ko,Hu=I(()=>{Te();yT=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await L.subtle.digest(r,e))},"digest"),ko=yT});function Se(...t){let e=t.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(e),n=0;return t.forEach(i=>{r.set(i,n),n+=i.length}),r}function nf(t,e){return Se(Z.encode(t),new Uint8Array([0]),e)}function qu(t,e,r){if(e<0||e>=Fo)throw new RangeError(`value must be >= 0 and <= ${Fo-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function Ho(t){let e=Math.floor(t/Fo),r=t%Fo,n=new Uint8Array(8);return qu(n,e,0),qu(n,r,4),n}function qo(t){let e=new Uint8Array(4);return qu(e,t),e}function $o(t){return Se(qo(t.length),t)}async function of(t,e,r){let n=Math.ceil((e>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+t.length+r.length);a.set(qo(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await ko("sha256",a),s*32)}return i.slice(0,e>>3)}var Z,ce,Fo,ye=I(()=>{Hu();Z=new TextEncoder,ce=new TextDecoder,Fo=2**32;o(Se,"concat");o(nf,"p2s");o(qu,"writeUInt32BE");o(Ho,"uint64be");o(qo,"uint32be");o($o,"lengthAndInput");o(of,"concatKdf")});var jo,X,$u,re,Ie=I(()=>{ye();jo=o(t=>{let e=t;typeof e=="string"&&(e=Z.encode(e));let r=32768,n=[];for(let i=0;i<e.length;i+=r)n.push(String.fromCharCode.apply(null,e.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),X=o(t=>jo(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),$u=o(t=>{let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r},"decodeBase64"),re=o(t=>{let e=t;e instanceof Uint8Array&&(e=ce.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return $u(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var ju={};Ki(ju,{JOSEAlgNotAllowed:()=>zt,JOSEError:()=>pe,JOSENotSupported:()=>U,JWEDecryptionFailed:()=>Lt,JWEInvalid:()=>P,JWKInvalid:()=>ei,JWKSInvalid:()=>Wt,JWKSMultipleMatchingKeys:()=>ti,JWKSNoMatchingKey:()=>Rr,JWKSTimeout:()=>ri,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Or,JWTClaimValidationFailed:()=>ge,JWTExpired:()=>zr,JWTInvalid:()=>ue});var pe,ge,zr,zt,U,Lt,P,z,ue,ei,Wt,Rr,ti,ri,Or,V=I(()=>{pe=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var r;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},ge=class extends pe{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},zr=class extends pe{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},zt=class extends pe{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},U=class extends pe{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Lt=class extends pe{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 pe{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends pe{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ue=class extends pe{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ei=class extends pe{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},Wt=class extends pe{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Rr=class extends pe{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"}},ti=class extends pe{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"}},ri=class extends pe{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Or=class extends pe{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 Qt,ni=I(()=>{Te();Qt=L.getRandomValues.bind(L)});function Vu(t){switch(t){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 U(`Unsupported JWE Algorithm: ${t}`)}}var Vo,Go=I(()=>{V();ni();o(Vu,"bitLength");Vo=o(t=>Qt(new Uint8Array(Vu(t)>>3)),"default")});var gT,Bo,Gu=I(()=>{V();Go();gT=o((t,e)=>{if(e.length<<3!==Vu(t))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Bo=gT});var _T,Wr,Bu=I(()=>{V();_T=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new P(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),Wr=_T});var bT,af,cf=I(()=>{bT=o((t,e)=>{if(!(t instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(e instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(t.length!==e.length)throw new TypeError("Input buffers must have the same length");let r=t.length,n=0,i=-1;for(;++i<r;)n|=t[i]^e[i];return n===0},"timingSafeEqual"),af=bT});function Ae(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function Yt(t,e){return t.name===e}function Ko(t){return parseInt(t.name.slice(4),10)}function ET(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function uf(t,e){if(e.length&&!e.some(r=>t.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(e.length>2){let n=e.pop();r+=`one of ${e.join(", ")}, or ${n}.`}else e.length===2?r+=`one of ${e[0]} or ${e[1]}.`:r+=`${e[0]}.`;throw new TypeError(r)}}function lf(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!Yt(t.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(e.slice(2),10);if(Ko(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!Yt(t.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Ko(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!Yt(t.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(e.slice(2),10);if(Ko(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!Yt(t.algorithm,"ECDSA"))throw Ae("ECDSA");let n=ET(e);if(t.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}uf(t,r)}function He(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!Yt(t.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!Yt(t.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(t.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(!Yt(t.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!Yt(t.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Ko(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}uf(t,r)}var Zt=I(()=>{o(Ae,"unusable");o(Yt,"isAlgorithm");o(Ko,"getHashLength");o(ET,"getNamedCurve");o(uf,"checkUsage");o(lf,"checkSigCryptoKey");o(He,"checkEncCryptoKey")});function df(t,e,...r){if(r.length>2){let n=r.pop();t+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?t+=`one of type ${r[0]} or ${r[1]}.`:t+=`of type ${r[0]}.`;return e==null?t+=` Received ${e}`:typeof e=="function"&&e.name?t+=` Received function ${e.name}`:typeof e=="object"&&e!=null&&e.constructor&&e.constructor.name&&(t+=` Received an instance of ${e.constructor.name}`),t}function Ku(t,e,...r){return df(`Key for the ${t} algorithm must be `,e,...r)}var ie,st=I(()=>{o(df,"message");ie=o((t,...e)=>df("Key must be ",t,...e),"default");o(Ku,"withAlg")});var Ju,W,at=I(()=>{Te();Ju=o(t=>se(t),"default"),W=["CryptoKey"]});async function wT(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(ie(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await L.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await L.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,Ho(s.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=af(i,d)}catch{}if(!p)throw new Lt;let m;try{m=new Uint8Array(await L.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Lt;return m}async function vT(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await L.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(He(e,t,"decrypt"),a=e);try{return new Uint8Array(await L.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Lt}}var TT,Jo,zu=I(()=>{ye();Gu();Bu();cf();V();Te();Zt();st();at();o(wT,"cbcDecrypt");o(vT,"gcmDecrypt");TT=o(async(t,e,r,n,i,s)=>{if(!se(e)&&!(e instanceof Uint8Array))throw new TypeError(ie(e,...W,"Uint8Array"));switch(Bo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&Wr(e,parseInt(t.slice(-3),10)),wT(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&Wr(e,parseInt(t.slice(1,4),10)),vT(t,e,r,n,i,s);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Jo=TT});var pf,hf,Wu=I(()=>{V();pf=o(async()=>{throw new U('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"),hf=o(async()=>{throw new U('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 ST,gt,Qr=I(()=>{ST=o((...t)=>{let e=t.filter(Boolean);if(e.length===0||e.length===1)return!0;let r;for(let n of e){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=ST});function IT(t){return typeof t=="object"&&t!==null}function Q(t){if(!IT(t)||Object.prototype.toString.call(t)!=="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}var qe=I(()=>{o(IT,"isObjectLike");o(Q,"isObject")});var AT,Yr,Qu=I(()=>{AT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Yr=AT});function ff(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function mf(t,e,r){if(se(t))return He(t,e,r),t;if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(ie(t,...W,"Uint8Array"))}var ii,oi,zo=I(()=>{Qu();Te();Zt();st();at();o(ff,"checkKeySize");o(mf,"getCryptoKey");ii=o(async(t,e,r)=>{let n=await mf(e,t,"wrapKey");ff(n,t);let i=await L.subtle.importKey("raw",r,...Yr);return new Uint8Array(await L.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),oi=o(async(t,e,r)=>{let n=await mf(e,t,"unwrapKey");ff(n,t);let i=await L.subtle.unwrapKey("raw",r,n,"AES-KW",...Yr);return new Uint8Array(await L.subtle.exportKey("raw",i))},"unwrap")});async function Wo(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(t))throw new TypeError(ie(t,...W));if(He(t,"ECDH"),!se(e))throw new TypeError(ie(e,...W));He(e,"ECDH","deriveBits");let a=Se($o(Z.encode(r)),$o(i),$o(s),qo(n)),c;t.algorithm.name==="X25519"?c=256:t.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(t.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await L.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return of(u,n,a)}async function yf(t){if(!se(t))throw new TypeError(ie(t,...W));return L.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function Qo(t){if(!se(t))throw new TypeError(ie(t,...W));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var Yu=I(()=>{ye();Te();Zt();st();at();o(Wo,"deriveKey");o(yf,"generateEpk");o(Qo,"ecdhAllowed")});function Zu(t){if(!(t instanceof Uint8Array)||t.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var _f=I(()=>{V();o(Zu,"checkP2s")});function PT(t,e){if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(se(t))return He(t,e,"deriveBits","deriveKey"),t;throw new TypeError(ie(t,...W,"Uint8Array"))}async function bf(t,e,r,n){Zu(t);let i=nf(e,t),s=parseInt(e.slice(13,16),10),a={hash:`SHA-${e.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await PT(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await L.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return L.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Ef,wf,Xu=I(()=>{ni();ye();Ie();zo();_f();Te();Zt();st();at();o(PT,"getCryptoKey");o(bf,"deriveKey");Ef=o(async(t,e,r,n=2048,i=Qt(new Uint8Array(16)))=>{let s=await bf(i,t,n,e);return{encryptedKey:await ii(t.slice(-6),s,r),p2c:n,p2s:X(i)}},"encrypt"),wf=o(async(t,e,r,n,i)=>{let s=await bf(i,t,n,e);return oi(t.slice(-6),s,r)},"decrypt")});function Zr(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var vf=I(()=>{V();o(Zr,"subtleRsaEs")});var xr,Yo=I(()=>{xr=o((t,e)=>{if(t.startsWith("RS")||t.startsWith("PS")){let{modulusLength:r}=e.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Tf,Sf,el=I(()=>{vf();Qu();Te();Zt();Yo();st();at();Tf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ie(e,...W));if(He(e,t,"encrypt","wrapKey"),xr(t,e),e.usages.includes("encrypt"))return new Uint8Array(await L.subtle.encrypt(Zr(t),e,r));if(e.usages.includes("wrapKey")){let n=await L.subtle.importKey("raw",r,...Yr);return new Uint8Array(await L.subtle.wrapKey("raw",n,e,Zr(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Sf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ie(e,...W));if(He(e,t,"decrypt","unwrapKey"),xr(t,e),e.usages.includes("decrypt"))return new Uint8Array(await L.subtle.decrypt(Zr(t),e,r));if(e.usages.includes("unwrapKey")){let n=await L.subtle.unwrapKey("raw",r,e,Zr(t),...Yr);return new Uint8Array(await L.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function si(t){switch(t){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 U(`Unsupported JWE Algorithm: ${t}`)}}var _t,ai=I(()=>{V();ni();o(si,"bitLength");_t=o(t=>Qt(new Uint8Array(si(t)>>3)),"default")});var tl,If=I(()=>{tl=o((t,e)=>{let r=(t.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,Uu.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 f="["+p.newline+a.map((y,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,I=s(y,c,u+d,l+1);return c.transform&&(I=c.transform(a,v,I)),p.indent+I+T}).join("")+p.pad+"]";return n.pop(),m(f)}if((0,Uu.isObject)(a)){let f=(0,Uu.getOwnEnumerableKeys)(a);if(c.filter&&(f=f.filter(v=>c.filter?.(a,v))),f.length===0)return"{}";n.push(a);let y="{"+p.newline+f.map((v,T)=>{let I=f.length-1===T?p.newline:","+p.newlineOrSpace,k=typeof v=="symbol",j=!k&&/^[a-z$_][$\w]*$/i.test(v),x=k||j?v:s(v,c,"",l+1),oe=s(a[v],c,u+d,l+1);return c.transform&&(oe=c.transform(a,v,oe)),p.indent+String(x)+": "+oe+I}).join("")+p.pad+"}";return n.pop(),m(y)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,f=>f===`
55
+ `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(t,e,r,0)}o(dT,"stringifyObject");Mu.default=dT});var yt=g(Fe=>{"use strict";var pT=Fe&&Fe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var ku=Pr(),ef=pT(Xh()),tf=Jr();function hT(t){return t.map(e=>(0,ku.serializeError)(e))}o(hT,"makeErrorsSerializable");Fe.makeErrorsSerializable=hT;function fT(t){if(t.length===0)return"<no data provided to log>";let e=t[0];return typeof e=="string"?e:e instanceof Error?e.message:rf((0,ku.serializeError)(e))}o(fT,"extractBestMessage");Fe.extractBestMessage=fT;function mT(t){let e=[];return t.forEach(r=>{if(typeof r=="string")e.push(r);else if((0,tf.isErrorLike)(r))if(r.stack)e.push(r.stack);else{let n=(0,ef.default)((0,ku.serializeError)(r));e.push(n)}else if(typeof r=="object"){let n=(0,ef.default)(r);e.push(n)}else{let n=nf(r);e.push(n)}}),e.join(`
56
+ `)}o(mT,"messagesToMultilineText");Fe.messagesToMultilineText=mT;function rf(t){return typeof t=="string"?t:JSON.stringify(t)}o(rf,"stringifyNonString");Fe.stringifyNonString=rf;function nf(t){return typeof t=="string"?t:t===null?"null":typeof t>"u"?"undefined":typeof t=="number"||typeof t=="boolean"||typeof t=="bigint"||typeof t=="symbol"?t.toString():typeof t=="function"?`[function ${t.name}]`:typeof t=="object"&&Array.isArray(t)?`[array ${t.length}]`:t instanceof Error?`${t.name??"Error"}: ${t.message??"unknown"}`:typeof t=="object"?(0,tf.toString)(t):"unknown"}o(nf,"stringifyNonStringToText");Fe.stringifyNonStringToText=nf});var L,se,Te=S(()=>{L=crypto,se=o(t=>t instanceof CryptoKey,"isCryptoKey")});var yT,ko,Fu=S(()=>{Te();yT=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await L.subtle.digest(r,e))},"digest"),ko=yT});function Se(...t){let e=t.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(e),n=0;return t.forEach(i=>{r.set(i,n),n+=i.length}),r}function of(t,e){return Se(Y.encode(t),new Uint8Array([0]),e)}function Hu(t,e,r){if(e<0||e>=Fo)throw new RangeError(`value must be >= 0 and <= ${Fo-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function Ho(t){let e=Math.floor(t/Fo),r=t%Fo,n=new Uint8Array(8);return Hu(n,e,0),Hu(n,r,4),n}function qo(t){let e=new Uint8Array(4);return Hu(e,t),e}function $o(t){return Se(qo(t.length),t)}async function sf(t,e,r){let n=Math.ceil((e>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+t.length+r.length);a.set(qo(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await ko("sha256",a),s*32)}return i.slice(0,e>>3)}var Y,ce,Fo,ye=S(()=>{Fu();Y=new TextEncoder,ce=new TextDecoder,Fo=2**32;o(Se,"concat");o(of,"p2s");o(Hu,"writeUInt32BE");o(Ho,"uint64be");o(qo,"uint32be");o($o,"lengthAndInput");o(sf,"concatKdf")});var jo,Z,qu,re,Ie=S(()=>{ye();jo=o(t=>{let e=t;typeof e=="string"&&(e=Y.encode(e));let r=32768,n=[];for(let i=0;i<e.length;i+=r)n.push(String.fromCharCode.apply(null,e.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(t=>jo(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),qu=o(t=>{let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r},"decodeBase64"),re=o(t=>{let e=t;e instanceof Uint8Array&&(e=ce.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return qu(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var $u={};Ki($u,{JOSEAlgNotAllowed:()=>zt,JOSEError:()=>pe,JOSENotSupported:()=>U,JWEDecryptionFailed:()=>Lt,JWEInvalid:()=>P,JWKInvalid:()=>ei,JWKSInvalid:()=>Wt,JWKSMultipleMatchingKeys:()=>ti,JWKSNoMatchingKey:()=>Rr,JWKSTimeout:()=>ri,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Or,JWTClaimValidationFailed:()=>ge,JWTExpired:()=>zr,JWTInvalid:()=>ue});var pe,ge,zr,zt,U,Lt,P,z,ue,ei,Wt,Rr,ti,ri,Or,V=S(()=>{pe=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var r;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},ge=class extends pe{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},zr=class extends pe{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},zt=class extends pe{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},U=class extends pe{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Lt=class extends pe{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 pe{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends pe{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ue=class extends pe{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ei=class extends pe{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},Wt=class extends pe{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Rr=class extends pe{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"}},ti=class extends pe{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"}},ri=class extends pe{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Or=class extends pe{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 Qt,ni=S(()=>{Te();Qt=L.getRandomValues.bind(L)});function ju(t){switch(t){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 U(`Unsupported JWE Algorithm: ${t}`)}}var Vo,Go=S(()=>{V();ni();o(ju,"bitLength");Vo=o(t=>Qt(new Uint8Array(ju(t)>>3)),"default")});var gT,Bo,Vu=S(()=>{V();Go();gT=o((t,e)=>{if(e.length<<3!==ju(t))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Bo=gT});var _T,Wr,Gu=S(()=>{V();_T=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new P(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),Wr=_T});var bT,cf,uf=S(()=>{bT=o((t,e)=>{if(!(t instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(e instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(t.length!==e.length)throw new TypeError("Input buffers must have the same length");let r=t.length,n=0,i=-1;for(;++i<r;)n|=t[i]^e[i];return n===0},"timingSafeEqual"),cf=bT});function Ae(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function Yt(t,e){return t.name===e}function Ko(t){return parseInt(t.name.slice(4),10)}function ET(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function lf(t,e){if(e.length&&!e.some(r=>t.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(e.length>2){let n=e.pop();r+=`one of ${e.join(", ")}, or ${n}.`}else e.length===2?r+=`one of ${e[0]} or ${e[1]}.`:r+=`${e[0]}.`;throw new TypeError(r)}}function df(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!Yt(t.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(e.slice(2),10);if(Ko(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!Yt(t.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Ko(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!Yt(t.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(e.slice(2),10);if(Ko(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!Yt(t.algorithm,"ECDSA"))throw Ae("ECDSA");let n=ET(e);if(t.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}lf(t,r)}function He(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!Yt(t.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!Yt(t.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(t.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(!Yt(t.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!Yt(t.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Ko(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}lf(t,r)}var Zt=S(()=>{o(Ae,"unusable");o(Yt,"isAlgorithm");o(Ko,"getHashLength");o(ET,"getNamedCurve");o(lf,"checkUsage");o(df,"checkSigCryptoKey");o(He,"checkEncCryptoKey")});function pf(t,e,...r){if(r.length>2){let n=r.pop();t+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?t+=`one of type ${r[0]} or ${r[1]}.`:t+=`of type ${r[0]}.`;return e==null?t+=` Received ${e}`:typeof e=="function"&&e.name?t+=` Received function ${e.name}`:typeof e=="object"&&e!=null&&e.constructor&&e.constructor.name&&(t+=` Received an instance of ${e.constructor.name}`),t}function Bu(t,e,...r){return pf(`Key for the ${t} algorithm must be `,e,...r)}var ne,st=S(()=>{o(pf,"message");ne=o((t,...e)=>pf("Key must be ",t,...e),"default");o(Bu,"withAlg")});var Ku,W,at=S(()=>{Te();Ku=o(t=>se(t),"default"),W=["CryptoKey"]});async function wT(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(ne(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await L.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await L.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,Ho(s.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=cf(i,d)}catch{}if(!p)throw new Lt;let m;try{m=new Uint8Array(await L.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Lt;return m}async function vT(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await L.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(He(e,t,"decrypt"),a=e);try{return new Uint8Array(await L.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Lt}}var TT,Jo,Ju=S(()=>{ye();Vu();Gu();uf();V();Te();Zt();st();at();o(wT,"cbcDecrypt");o(vT,"gcmDecrypt");TT=o(async(t,e,r,n,i,s)=>{if(!se(e)&&!(e instanceof Uint8Array))throw new TypeError(ne(e,...W,"Uint8Array"));switch(Bo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&Wr(e,parseInt(t.slice(-3),10)),wT(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&Wr(e,parseInt(t.slice(1,4),10)),vT(t,e,r,n,i,s);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Jo=TT});var hf,ff,zu=S(()=>{V();hf=o(async()=>{throw new U('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"),ff=o(async()=>{throw new U('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 ST,gt,Qr=S(()=>{ST=o((...t)=>{let e=t.filter(Boolean);if(e.length===0||e.length===1)return!0;let r;for(let n of e){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=ST});function IT(t){return typeof t=="object"&&t!==null}function Q(t){if(!IT(t)||Object.prototype.toString.call(t)!=="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}var qe=S(()=>{o(IT,"isObjectLike");o(Q,"isObject")});var AT,Yr,Wu=S(()=>{AT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Yr=AT});function mf(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function yf(t,e,r){if(se(t))return He(t,e,r),t;if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(ne(t,...W,"Uint8Array"))}var ii,oi,zo=S(()=>{Wu();Te();Zt();st();at();o(mf,"checkKeySize");o(yf,"getCryptoKey");ii=o(async(t,e,r)=>{let n=await yf(e,t,"wrapKey");mf(n,t);let i=await L.subtle.importKey("raw",r,...Yr);return new Uint8Array(await L.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),oi=o(async(t,e,r)=>{let n=await yf(e,t,"unwrapKey");mf(n,t);let i=await L.subtle.unwrapKey("raw",r,n,"AES-KW",...Yr);return new Uint8Array(await L.subtle.exportKey("raw",i))},"unwrap")});async function Wo(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(t))throw new TypeError(ne(t,...W));if(He(t,"ECDH"),!se(e))throw new TypeError(ne(e,...W));He(e,"ECDH","deriveBits");let a=Se($o(Y.encode(r)),$o(i),$o(s),qo(n)),c;t.algorithm.name==="X25519"?c=256:t.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(t.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await L.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return sf(u,n,a)}async function gf(t){if(!se(t))throw new TypeError(ne(t,...W));return L.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function Qo(t){if(!se(t))throw new TypeError(ne(t,...W));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var Qu=S(()=>{ye();Te();Zt();st();at();o(Wo,"deriveKey");o(gf,"generateEpk");o(Qo,"ecdhAllowed")});function Yu(t){if(!(t instanceof Uint8Array)||t.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var bf=S(()=>{V();o(Yu,"checkP2s")});function PT(t,e){if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(se(t))return He(t,e,"deriveBits","deriveKey"),t;throw new TypeError(ne(t,...W,"Uint8Array"))}async function Ef(t,e,r,n){Yu(t);let i=of(e,t),s=parseInt(e.slice(13,16),10),a={hash:`SHA-${e.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await PT(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await L.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return L.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var wf,vf,Zu=S(()=>{ni();ye();Ie();zo();bf();Te();Zt();st();at();o(PT,"getCryptoKey");o(Ef,"deriveKey");wf=o(async(t,e,r,n=2048,i=Qt(new Uint8Array(16)))=>{let s=await Ef(i,t,n,e);return{encryptedKey:await ii(t.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),vf=o(async(t,e,r,n,i)=>{let s=await Ef(i,t,n,e);return oi(t.slice(-6),s,r)},"decrypt")});function Zr(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var Tf=S(()=>{V();o(Zr,"subtleRsaEs")});var xr,Yo=S(()=>{xr=o((t,e)=>{if(t.startsWith("RS")||t.startsWith("PS")){let{modulusLength:r}=e.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Sf,If,Xu=S(()=>{Tf();Wu();Te();Zt();Yo();st();at();Sf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ne(e,...W));if(He(e,t,"encrypt","wrapKey"),xr(t,e),e.usages.includes("encrypt"))return new Uint8Array(await L.subtle.encrypt(Zr(t),e,r));if(e.usages.includes("wrapKey")){let n=await L.subtle.importKey("raw",r,...Yr);return new Uint8Array(await L.subtle.wrapKey("raw",n,e,Zr(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),If=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ne(e,...W));if(He(e,t,"decrypt","unwrapKey"),xr(t,e),e.usages.includes("decrypt"))return new Uint8Array(await L.subtle.decrypt(Zr(t),e,r));if(e.usages.includes("unwrapKey")){let n=await L.subtle.unwrapKey("raw",r,e,Zr(t),...Yr);return new Uint8Array(await L.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function si(t){switch(t){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 U(`Unsupported JWE Algorithm: ${t}`)}}var _t,ai=S(()=>{V();ni();o(si,"bitLength");_t=o(t=>Qt(new Uint8Array(si(t)>>3)),"default")});var el,Af=S(()=>{el=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${e}-----
58
58
  ${r}
59
- -----END ${e}-----`},"default")});function Pf(t){let e=[],r=0;for(;r<t.length;){let n=Lf(t.subarray(r));e.push(n),r+=n.byteLength}return e}function Lf(t){let e=0,r=t[0]&31;if(e++,r===31){for(r=0;t[e]>=128;)r=r*128+t[e]-128,e++;r=r*128+t[e]-128,e++}let n=0;if(t[e]<128)n=t[e],e++;else if(n===128){for(n=0;t[e+n]!==0||t[e+n+1]!==0;){if(n>t.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=e+n+2;return{byteLength:s,contents:t.subarray(e,e+n),raw:t.subarray(0,s)}}else{let s=t[e]&127;e++,n=0;for(let a=0;a<s;a++)n=n*256+t[e],e++}let i=e+n;return{byteLength:i,contents:t.subarray(e,i),raw:t.subarray(0,i)}}function RT(t){let e=Pf(Pf(Lf(t).contents)[0].contents);return jo(e[e[0].raw[0]===160?6:5].raw)}function OT(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=$u(e);return tl(RT(r),"PUBLIC KEY")}var Rf,Of,xf,Xt,Af,Nf,Cf,rl,Df,Zo=I(()=>{Te();st();Ie();If();V();at();Rf=o(async(t,e,r)=>{if(!se(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return tl(jo(new Uint8Array(await L.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),Of=o(t=>Rf("public","spki",t),"toSPKI"),xf=o(t=>Rf("private","pkcs8",t),"toPKCS8"),Xt=o((t,e,r=0)=>{r===0&&(e.unshift(e.length),e.unshift(6));let n=t.indexOf(e[0],r);if(n===-1)return!1;let i=t.subarray(n,n+e.length);return i.length!==e.length?!1:i.every((s,a)=>s===e[a])||Xt(t,e,n+1)},"findOid"),Af=o(t=>{switch(!0){case Xt(t,[42,134,72,206,61,3,1,7]):return"P-256";case Xt(t,[43,129,4,0,34]):return"P-384";case Xt(t,[43,129,4,0,35]):return"P-521";case Xt(t,[43,101,110]):return"X25519";case Xt(t,[43,101,111]):return"X448";case Xt(t,[43,101,112]):return"Ed25519";case Xt(t,[43,101,113]):return"Ed448";default:throw new U("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Nf=o(async(t,e,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(t,"")).split("").map(d=>d.charCodeAt(0))),l=e==="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=Af(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Af(u)},c=l?["verify"]:["sign"];break;default:throw new U('Invalid or unsupported "alg" (Algorithm) value')}return L.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),Cf=o((t,e,r)=>Nf(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),rl=o((t,e,r)=>Nf(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(Pf,"getElement");o(Lf,"parseElement");o(RT,"spkiFromX509");o(OT,"getSPKI");Df=o((t,e,r)=>{let n;try{n=OT(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return rl(n,e,r)},"fromX509")});function xT(t){let e,r;switch(t.kty){case"oct":{switch(t.alg){case"HS256":case"HS384":case"HS512":e={name:"HMAC",hash:`SHA-${t.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new U(`${t.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":e={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":e={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":e={name:"PBKDF2"},r=["deriveBits"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(t.alg){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(t.alg.slice(-3),10)||1}`},r=t.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(t.alg){case"ES256":e={name:"ECDSA",namedCurve:"P-256"},r=t.d?["sign"]:["verify"];break;case"ES384":e={name:"ECDSA",namedCurve:"P-384"},r=t.d?["sign"]:["verify"];break;case"ES512":e={name:"ECDSA",namedCurve:"P-521"},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:"ECDH",namedCurve:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(t.alg){case"EdDSA":e={name:t.crv},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new U('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var NT,nl,Uf=I(()=>{Te();V();Ie();o(xT,"subtleMapping");NT=o(async t=>{var e,r;if(!t.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=xT(t),s=[n,(e=t.ext)!==null&&e!==void 0?e:!1,(r=t.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return L.subtle.importKey("raw",re(t.k),...s);let a={...t};return delete a.alg,delete a.use,L.subtle.importKey("jwk",a,...s)},"parse"),nl=NT});async function Mf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return rl(t,e,r)}async function kf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Df(t,e,r)}async function Ff(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Cf(t,e,r)}async function er(t,e,r){var n;if(!Q(t))throw new TypeError("JWK must be an object");switch(e||(e=t.alg),t.kty){case"oct":if(typeof t.k!="string"||!t.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=t.ext!==!0),r?nl({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):re(t.k);case"RSA":if(t.oth!==void 0)throw new U('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return nl({...t,alg:e});default:throw new U('Unsupported "kty" (Key Type) Parameter value')}}var ci=I(()=>{Ie();Zo();Uf();V();qe();o(Mf,"importSPKI");o(kf,"importX509");o(Ff,"importPKCS8");o(er,"importJWK")});var CT,LT,DT,tr,ui=I(()=>{st();at();CT=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!Ju(e))throw new TypeError(Ku(t,e,...W,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),LT=o((t,e,r)=>{if(!Ju(e))throw new TypeError(Ku(t,e,...W));if(e.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),DT=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?CT(t,e):LT(t,e,r)},"checkKeyType"),tr=DT});async function UT(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await L.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await L.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await L.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=Se(i,n,u,Ho(i.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function MT(t,e,r,n,i){let s;r instanceof Uint8Array?s=await L.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(He(r,t,"encrypt"),s=r);let a=new Uint8Array(await L.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,e)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var kT,li,il=I(()=>{ye();Gu();Bu();Te();Zt();st();V();at();o(UT,"cbcEncrypt");o(MT,"gcmEncrypt");kT=o(async(t,e,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Bo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Wr(r,parseInt(t.slice(-3),10)),UT(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Wr(r,parseInt(t.slice(1,4),10)),MT(t,e,r,n,i);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),li=kT});async function Hf(t,e,r,n){let i=t.slice(0,7);n||(n=Vo(i));let{ciphertext:s,tag:a}=await li(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:X(n),tag:X(a)}}async function qf(t,e,r,n,i){let s=t.slice(0,7);return Jo(s,e,r,n,i,new Uint8Array(0))}var ol=I(()=>{il();zu();Go();Ie();o(Hf,"wrap");o(qf,"unwrap")});async function FT(t,e,r,n,i){switch(tr(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return e}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(e))throw new U("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await er(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await Wo(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?si(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return oi(t.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 Sf(t,e,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 wf(t,e,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return oi(t,e,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=re(n.iv),a=re(n.tag);return qf(t,e,r,s,a)}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var $f,jf=I(()=>{zo();Yu();Xu();el();Ie();V();ai();ci();ui();qe();ol();o(FT,"decryptKeyManagement");$f=FT});function HT(t,e,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new t('"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 t('"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),...e.entries()]):s=e;for(let a of n.crit){if(!s.has(a))throw new U(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new t(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new t(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var bt,Xr=I(()=>{V();o(HT,"validateCrit");bt=HT});var qT,di,sl=I(()=>{qT=o((t,e)=>{if(e!==void 0&&(!Array.isArray(e)||e.some(r=>typeof r!="string")))throw new TypeError(`"${t}" option must be an array of strings`);if(e)return new Set(e)},"validateAlgorithms"),di=qT});async function en(t,e,r){var n;if(!Q(t))throw new P("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new P("JOSE Header missing");if(typeof t.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new P("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new P("JWE AAD incorrect type");if(t.header!==void 0&&!Q(t.header))throw new P("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!Q(t.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let H=re(t.protected);i=JSON.parse(ce.decode(H))}catch{throw new P("JWE Protected Header is invalid")}if(!gt(i,t.header,t.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(bt(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 U('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&&di("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&di("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new zt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new zt('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=re(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let m;try{m=await $f(a,e,d,s,r)}catch(H){if(H instanceof TypeError||H instanceof P||H instanceof U)throw H;m=_t(c)}let f=re(t.iv),y=re(t.tag),v=Z.encode((n=t.protected)!==null&&n!==void 0?n:""),T;t.aad!==void 0?T=Se(v,Z.encode("."),Z.encode(t.aad)):T=v;let S=await Jo(c,m,re(t.ciphertext),f,y,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||pf)(S));let M={plaintext:S};return t.protected!==void 0&&(M.protectedHeader=i),t.aad!==void 0&&(M.additionalAuthenticatedData=re(t.aad)),t.unprotected!==void 0&&(M.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(M.unprotectedHeader=t.header),p?{...M,key:e}:M}var Xo=I(()=>{Ie();zu();Wu();V();Qr();qe();jf();ye();ai();Xr();sl();o(en,"flattenedDecrypt")});async function es(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="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}=t.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await en({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},e,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof e=="function"?{...d,key:l.key}:d}var al=I(()=>{Xo();V();ye();o(es,"compactDecrypt")});async function Vf(t,e,r){if(!Q(t))throw new P("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new P("JWE Recipients has no members");for(let n of t.recipients)try{return await en({aad:t.aad,ciphertext:t.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:t.iv,protected:t.protected,tag:t.tag,unprotected:t.unprotected},e,r)}catch{}throw new Lt}var Gf=I(()=>{Xo();V();qe();o(Vf,"generalDecrypt")});var $T,Bf,Kf=I(()=>{Te();st();Ie();at();$T=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:X(t)};if(!se(t))throw new TypeError(ie(t,...W,"Uint8Array"));if(!t.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:e,key_ops:r,alg:n,use:i,...s}=await L.subtle.exportKey("jwk",t);return s},"keyToJWK"),Bf=$T});async function Jf(t){return Of(t)}async function zf(t){return xf(t)}async function ts(t){return Bf(t)}var cl=I(()=>{Zo();Zo();Kf();o(Jf,"exportSPKI");o(zf,"exportPKCS8");o(ts,"exportJWK")});async function jT(t,e,r,n,i={}){let s,a,c;switch(tr(t,r,"encrypt"),t){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 U("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 yf(r)).privateKey);let{x:p,y:m,crv:f,kty:y}=await ts(d),v=await Wo(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?si(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:f,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),t==="ECDH-ES"){c=v;break}c=n||_t(e);let T=t.slice(-6);s=await ii(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(e),s=await Tf(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||_t(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Ef(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||_t(e),s=await ii(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||_t(e);let{iv:u}=i;({encryptedKey:s,...a}=await Hf(t,r,c,u));break}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var rs,ul=I(()=>{zo();Yu();Xu();el();Ie();ai();V();cl();ui();ol();o(jT,"encryptKeyManagement");rs=jT});var ll,Dt,ns=I(()=>{Ie();il();Wu();Go();ul();V();Qr();ye();Xr();ll=Symbol(),Dt=class{static{o(this,"FlattenedEncrypt")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,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(bt(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 U('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 y;({cek:c,encryptedKey:a,parameters:y}=await rs(i,s,e,this._cek,this._keyManagementParameters)),y&&(r&&ll in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=Vo(s));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Se(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||hf)(this._plaintext);({ciphertext:p,tag:m}=await li(s,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await li(s,this._plaintext,c,this._iv,u));let f={ciphertext:X(p),iv:X(this._iv),tag:X(m)};return a&&(f.encrypted_key=X(a)),d&&(f.aad=d),this._protectedHeader&&(f.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(f.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(f.header=this._unprotectedHeader),f}}});var dl,is,Wf=I(()=>{ns();V();ai();Qr();ul();Ie();Xr();dl=class{static{o(this,"IndividualRecipient")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}},is=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new dl(this,e,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(e={deflateRaw:e?.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,...e}),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(bt(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=_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 m={...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:m}).encrypt(l.key,{...l.options,...e,[ll]:!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:f,parameters:y}=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:m});d.encrypted_key=X(f),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function pi(t,e){let r=`SHA-${t.slice(-3)}`;switch(t){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:t.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:e.namedCurve};case"EdDSA":return{name:e.name};default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var pl=I(()=>{V();o(pi,"subtleDsa")});function hi(t,e,r){if(se(e))return lf(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(ie(e,...W));return L.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(e,...W,"Uint8Array"))}var hl=I(()=>{Te();Zt();st();at();o(hi,"getCryptoKey")});var VT,Qf,Yf=I(()=>{pl();Te();Yo();hl();VT=o(async(t,e,r,n)=>{let i=await hi(t,e,"verify");xr(t,i);let s=pi(t,i.algorithm);try{return await L.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Qf=VT});async function tn(t,e,r){var n;if(!Q(t))throw new z("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new z("JWS Protected Header incorrect type");if(t.payload===void 0)throw new z("JWS Payload missing");if(typeof t.signature!="string")throw new z("JWS Signature missing or incorrect type");if(t.header!==void 0&&!Q(t.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let T=re(t.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!gt(i,t.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=bt(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&&di("algorithms",r.algorithms);if(l&&!l.has(u))throw new zt('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),tr(u,e,"verify");let p=Se(Z.encode((n=t.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof t.payload=="string"?Z.encode(t.payload):t.payload),m=re(t.signature);if(!await Qf(u,e,m,p))throw new Or;let y;c?y=re(t.payload):typeof t.payload=="string"?y=Z.encode(t.payload):y=t.payload;let v={payload:y};return t.protected!==void 0&&(v.protectedHeader=i),t.header!==void 0&&(v.unprotectedHeader=t.header),d?{...v,key:e}:v}var os=I(()=>{Ie();Yf();V();ye();Qr();qe();ui();Xr();sl();o(tn,"flattenedVerify")});async function ss(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await tn({payload:i,protected:n,signature:s},e,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof e=="function"?{...u,key:c.key}:u}var fl=I(()=>{os();V();ye();o(ss,"compactVerify")});async function Zf(t,e,r){if(!Q(t))throw new z("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await tn({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Or}var Xf=I(()=>{os();V();qe();o(Zf,"generalVerify")});var rn,ml=I(()=>{rn=o(t=>Math.floor(t.getTime()/1e3),"default")});var GT,nn,yl=I(()=>{GT=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,nn=o(t=>{let e=GT.exec(t);if(!e)throw new TypeError("Invalid time period format");let r=parseFloat(e[1]);switch(e[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 em,BT,on,as=I(()=>{V();ye();ml();yl();qe();em=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),BT=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),on=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||em(t.typ)!==em(n)))throw new ge('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(e))}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 f of new Set(s.reverse()))if(!(f in i))throw new ge(`missing required "${f}" claim`,f,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new ge('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new ge('unexpected "sub" claim value',"sub","check_failed");if(u&&!BT(i.aud,typeof u=="string"?[u]:u))throw new ge('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=nn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=rn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new ge('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new ge('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new ge('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new ge('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let f=m-i.iat,y=typeof l=="number"?l:nn(l);if(f-d>y)throw new zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(f<0-d)throw new ge('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function tm(t,e,r){var n;let i=await ss(t,e,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:on(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var rm=I(()=>{fl();as();V();o(tm,"jwtVerify")});async function nm(t,e,r){let n=await es(t,e,r),i=on(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new ge('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new ge('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new ge('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var im=I(()=>{al();as();V();o(nm,"jwtDecrypt")});var sn,gl=I(()=>{ns();sn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Dt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,r){let n=await this._flattened.encrypt(e,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var KT,om,sm=I(()=>{pl();Te();Yo();hl();KT=o(async(t,e,r)=>{let n=await hi(t,e,"sign");xr(t,n);let i=await L.subtle.sign(pi(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),om=KT});var rr,cs=I(()=>{Ie();sm();Qr();V();ye();ui();Xr();rr=class{static{o(this,"FlattenedSign")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,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=bt(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');tr(a,e,"sign");let c=this._payload;s&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Se(u,Z.encode("."),c),d=await om(a,e,l),p={signature:X(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var an,_l=I(()=>{cs();an=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new rr(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,r){let n=await this._flattened.sign(e,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 bl,us,am=I(()=>{cs();V();bl=class{static{o(this,"IndividualSignature")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}},us=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new bl(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let e={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new rr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)e.payload=s;else if(e.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var nr,ls=I(()=>{ml();qe();yl();nr=class{static{o(this,"ProduceJWT")}constructor(e){if(!Q(e))throw new TypeError("JWT Claims Set MUST be an object");this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return typeof e=="number"?this._payload={...this._payload,nbf:e}:this._payload={...this._payload,nbf:rn(new Date)+nn(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:rn(new Date)+nn(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:rn(new Date)}:this._payload={...this._payload,iat:e},this}}});var ds,cm=I(()=>{_l();V();ye();ls();ds=class extends nr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new an(Z.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var ps,um=I(()=>{gl();ye();ls();ps=class extends nr{static{o(this,"EncryptJWT")}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,r){let n=new sn(Z.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(e,r)}}});async function El(t,e){if(!Q(t))throw new TypeError("JWK must be an object");if(e??(e="sha256"),e!=="sha256"&&e!=="sha384"&&e!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(t.kty){case"EC":ir(t.crv,'"crv" (Curve) Parameter'),ir(t.x,'"x" (X Coordinate) Parameter'),ir(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":ir(t.crv,'"crv" (Subtype of Key Pair) Parameter'),ir(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":ir(t.e,'"e" (Exponent) Parameter'),ir(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":ir(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new U('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await ko(e,n))}async function lm(t,e){e??(e="sha256");let r=await El(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var ir,dm=I(()=>{Hu();Ie();V();ye();qe();ir=o((t,e)=>{if(typeof t!="string"||!t)throw new ei(`${e} missing or invalid`)},"check");o(El,"calculateJwkThumbprint");o(lm,"calculateJwkThumbprintUri")});async function pm(t,e){let r={...t,...e?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await er({...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 hm=I(()=>{ci();qe();V();o(pm,"EmbeddedJWK")});function JT(t){switch(typeof t=="string"&&t.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new U('Unsupported "alg" value for a JSON Web Key Set')}}function wl(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(zT)}function zT(t){return Q(t)}function WT(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function fm(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await er({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new Wt("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function mm(t){let e=new fi(t);return async function(r,n){return e.getKey(r,n)}}var fi,vl=I(()=>{ci();V();qe();o(JT,"getKtyFromAlg");o(wl,"isJWKSLike");o(zT,"isJWKLike");o(WT,"clone");fi=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!wl(e))throw new Wt("JSON Web Key Set malformed");this._jwks=WT(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=JT(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 Rr;if(u!==1){let l=new ti,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await fm(d,p,n)}catch{continue}},l}return fm(this._cached,c,n)}};o(fm,"importWithAlgCache");o(mm,"createLocalJWKSet")});var QT,ym,gm=I(()=>{V();QT=o(async(t,e,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},e));let a=await fetch(t.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ri:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new pe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new pe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),ym=QT});function YT(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function _m(t,e){let r=new Tl(t,e);return async function(n,i){return r.getKey(n,i)}}var Tl,bm=I(()=>{gm();V();vl();o(YT,"isCloudflareWorkers");Tl=class extends fi{static{o(this,"RemoteJWKSet")}constructor(e,r){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.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(e,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(e,r)}catch(n){if(n instanceof Rr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&YT()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=ym(this._url,this._timeoutDuration,this._options).then(e=>{if(!wl(e))throw new Wt("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e})),await this._pendingFetch}};o(_m,"createRemoteJWKSet")});var hs,Em=I(()=>{Ie();ye();V();as();ls();hs=class extends nr{static{o(this,"UnsecuredJWT")}encode(){let e=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:on(c,re(i),r),header:c}}}});var Sl={};Ki(Sl,{decode:()=>mi,encode:()=>ZT});var ZT,mi,fs=I(()=>{Ie();ZT=X,mi=re});function wm(t){let e;if(typeof t=="string"){let r=t.split(".");(r.length===3||r.length===5)&&([e]=r)}else if(typeof t=="object"&&t)if("protected"in t)e=t.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof e!="string"||!e)throw new Error;let r=JSON.parse(ce.decode(mi(e)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var vm=I(()=>{fs();ye();qe();o(wm,"decodeProtectedHeader")});function Tm(t){if(typeof t!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.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(!e)throw new ue("JWTs must contain a payload");let n;try{n=mi(e)}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 Sm=I(()=>{fs();ye();qe();V();o(Tm,"decodeJwt")});async function Im(t,e){var r;let n,i,s;switch(t){case"HS256":case"HS384":case"HS512":n=parseInt(t.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(t.slice(-3),10),Qt(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(t.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(t.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function Il(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new U("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Am(t,e){var r,n,i;let s,a;switch(t){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Il(e)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Il(e)},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(t.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Il(e)},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=e?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new U("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=e?.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 U("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var Al=I(()=>{Te();V();ni();o(Im,"generateSecret");o(Il,"getModulusLengthOption");o(Am,"generateKeyPair")});async function Pm(t,e){return Am(t,e)}var Rm=I(()=>{Al();o(Pm,"generateKeyPair")});async function Om(t,e){return Im(t,e)}var xm=I(()=>{Al();o(Om,"generateSecret")});var ms={};Ki(ms,{CompactEncrypt:()=>sn,CompactSign:()=>an,EmbeddedJWK:()=>pm,EncryptJWT:()=>ps,FlattenedEncrypt:()=>Dt,FlattenedSign:()=>rr,GeneralEncrypt:()=>is,GeneralSign:()=>us,SignJWT:()=>ds,UnsecuredJWT:()=>hs,base64url:()=>Sl,calculateJwkThumbprint:()=>El,calculateJwkThumbprintUri:()=>lm,compactDecrypt:()=>es,compactVerify:()=>ss,createLocalJWKSet:()=>mm,createRemoteJWKSet:()=>_m,decodeJwt:()=>Tm,decodeProtectedHeader:()=>wm,errors:()=>ju,exportJWK:()=>ts,exportPKCS8:()=>zf,exportSPKI:()=>Jf,flattenedDecrypt:()=>en,flattenedVerify:()=>tn,generalDecrypt:()=>Vf,generalVerify:()=>Zf,generateKeyPair:()=>Pm,generateSecret:()=>Om,importJWK:()=>er,importPKCS8:()=>Ff,importSPKI:()=>Mf,importX509:()=>kf,jwtDecrypt:()=>nm,jwtVerify:()=>tm});var ys=I(()=>{al();Xo();Gf();Wf();fl();os();Xf();rm();im();gl();ns();_l();cs();am();cm();um();dm();hm();vl();bm();Em();cl();ci();vm();Sm();V();Rm();xm();fs()});var _s=g(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.fetchRetry=void 0;var XT=D();async function eS(t,e,r){for(let n=0;n<=t.retries;n++){let i=fetch(e,r);if(n===t.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;t?.logger?.error("Request failed, retrying",{method:typeof e=="string"?"GET":e.method,url:typeof e=="string"?e:e.url,status:s.status}),await new Promise(a=>setTimeout(a,t.retryDelayMs*Math.pow(2,n)))}throw new XT.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(eS,"fetchRetry");gs.fetchRetry=eS});var cn=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.GcpServiceAccount=Xe.fetchToken=Xe.exchangeGgpJwtForIdToken=Xe.exchangeFirebaseJwtForIdToken=Xe.getTokenFromGcpServiceAccount=void 0;var Nm=(ys(),Ji(ms)),tS=D(),rS=_s();async function nS({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new Nm.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(nS,"getTokenFromGcpServiceAccount");Xe.getTokenFromGcpServiceAccount=nS;async function iS(t,e,r){return Rl(t,{token:e,returnSecureToken:!0},r)}o(iS,"exchangeFirebaseJwtForIdToken");Xe.exchangeFirebaseJwtForIdToken=iS;async function oS(t,e,r){return Rl(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(oS,"exchangeGgpJwtForIdToken");Xe.exchangeGgpJwtForIdToken=oS;async function Rl(t,e,r){let n=await(0,rS.fetchRetry)(r,t,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(e)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new tS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Rl,"fetchToken");Xe.fetchToken=Rl;var Pl=class t{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:e,privateKey:r}){this.#t=e,this.#e=r}static async init(e){let r=JSON.parse(e),n=await(0,Nm.importPKCS8)(r.private_key.trim(),"RS256");return new t({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}};Xe.GcpServiceAccount=Pl});var Es=g(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.GoogleLogTransport=Ut.ZuploToGCPMap=Ut.GoogleCloudLoggingPlugin=void 0;var sS=we(),Ol=te(),xl=cn(),aS=Ct(),Cm=yt(),Nl=class extends aS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new bs(this.options)}};Ut.GoogleCloudLoggingPlugin=Nl;var cS="https://logging.googleapis.com/v2/entries:write?alt=json";Ut.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var bs=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Ol.Environment.instance.loggingEnvironmentType,this.#o=Ol.Environment.instance.loggingEnvironmentStage,this.#n=Ol.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){if(e.messages.length===0)return;let n={allMessages:(0,Cm.makeErrorsSerializable)(e.messages)};this.#t||(this.#t=await xl.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Ut.ZuploToGCPMap[e.level],timestamp:e.timestamp,trace:`projects/${i}/traces/${e.requestId}`,labels:{requestId:e.requestId,buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};e.rayId&&(s.labels.rayId=e.rayId);let a=(0,Cm.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;this.#t||(this.#t=await xl.GcpServiceAccount.init(this.#e));let r=await(0,xl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(cS,{method:"POST",body:JSON.stringify({entries:e}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new sS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ut.GoogleLogTransport=bs});var Cl=g(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.gcpLogFormat=un.GCP_LOG_FORMAT=void 0;var Lm=yt(),uS=Es();un.GCP_LOG_FORMAT="gcp";function lS(t){let e={allMessages:(0,Lm.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,Lm.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:uS.ZuploToGCPMap[t.level],timestamp:t.timestamp,"logging.googleapis.com/labels":{buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${t.requestId}`,allMessages:e.allMessages};return t.rayId&&(i["logging.googleapis.com/labels"].rayId=t.rayId),i}o(lS,"gcpLogFormat");un.gcpLogFormat=lS});var Um=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.ConsoleTransport=void 0;var Dm=Cl(),Ll=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;async log(e){if(this.#t===Dm.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Dm.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,level:e.level,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId}])}};ws.ConsoleTransport=Ll});var Hl=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.DataDogTransport=ln.DataDogLoggingPlugin=void 0;var dS=we(),Dl=te(),pS=Ct(),Mm=yt(),Fl=class extends pS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new vs(this.options)}};ln.DataDogLoggingPlugin=Fl;var Ul="__ddtags",Ml="__ddattr",kl=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),hS=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(kl(n)):r.push(`${kl(n)}:${kl(i.toString())}`)}),r.join(",")},"formatTags"),vs=class{static{o(this,"DataDogTransport")}constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Dl.Environment.instance.loggingEnvironmentType,this.#i=Dl.Environment.instance.loggingEnvironmentStage,this.#r=Dl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n={},i=r.custom[Ul];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(f=>f[Ul]!==void 0);a>-1&&(Object.assign(n,s[a][Ul]),s.splice(a,1));let c={},u=r.custom[Ml];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(f=>f[Ml]!==void 0);l>-1&&(Object.assign(c,s[l][Ml]),s.splice(l,1));let d=(0,Mm.makeErrorsSerializable)(s),m={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Mm.extractBestMessage)(d),service:e.loggingId,ddtags:hS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{e.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...e]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new dS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};ln.DataDogTransport=vs});var Fm=g(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.ProcessTransport=void 0;var km=Cl(),ql=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;async log(e){if(this.#t===km.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,km.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId,vectorClock:e.vectorClock}])}};Ts.ProcessTransport=ql});var qm=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.RemoteLogTransport=void 0;var fS=we(),Hm=te(),mS=yt(),yS=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,mS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Hm.Environment.instance.systemUserAgent,"zp-dn":Hm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ss,$l=class{static{o(this,"RemoteLogTransport")}constructor(e){Ss||(Ss=new fS.BatchDispatch("remote-log-transport",1,yS(e)))}async log(e,r){Ss.enqueue(e),r.waitUntil(Ss.waitUntilFlushed())}};Is.RemoteLogTransport=$l});var $m=g(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.unifiedFormatter=Nr.SeverityNumberOpenTelemetryMap=void 0;Nr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var gS=o((t,e)=>r=>{let n={};return n.deploymentName=t,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:e.BUILD_ID,buildTimestamp:e.TIMESTAMP,gitSHA:e.GIT_SHA,version:e.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Nr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Nr.unifiedFormatter=gS});var Vm=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.UnifiedLogTransport=void 0;var _S=we(),jm=te(),bS=$m(),ES=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,bS.unifiedFormatter)(r,n);fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":jm.Environment.instance.systemUserAgent,"zp-dn":jm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),As,jl=class{static{o(this,"UnifiedLogTransport")}constructor(e){As||(As=new _S.BatchDispatch("unified-log-transport",1,ES(e)))}async log(e,r){As.enqueue(e),r.waitUntil(As.waitUntilFlushed())}};Ps.UnifiedLogTransport=jl});var Qm=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.LogInitializer=void 0;var wS=wr(),vS=Ot(),Gm=Pu(),Bm=te(),Km=Vh(),TS=Ct(),SS=Gh(),Jm=Bh(),zm=Um(),IS=Hl(),AS=Es(),Wm=Fm(),PS=qm(),RS=Vm(),Vl=(0,wS.debug)("zuplo:logging"),Gl=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(e){this.serviceProvider=e,this.systemCoreLogger=this.setupSystemCoreLogger(Bm.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Bm.Environment.instance)}setupSystemCoreLogger(e){let{runtime:r,build:n}=e;Vl("Gateway.setupSystemCoreLogger");let i=[],s=this.serviceProvider.getService(Gm.SYSTEM_LOGGER);return s?i.push(new Wm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new zm.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new RS.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),new Km.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}setupUserCoreLogger(e){Vl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=e,s=this.serviceProvider.getService(Gm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new Wm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&r.push(new zm.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&r.push(new PS.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new AS.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 IS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return vS.plugins.forEach(a=>{a instanceof TS.LogPlugin&&r.push(a.getTransport())}),new Km.CoreLogger(e.userLogLevel,"user",e.loggingId,i.BUILD_ID,r)}createRequestLoggers(e,r,n,i,s){Vl("Gateway.createRequestLoggers");let a=new SS.LoggingContext(n,i,s),c=new Jm.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Jm.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};Rs.LogInitializer=Gl});var Kl=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.UserRouteConfiguration=void 0;var Bl=class{static{o(this,"UserRouteConfiguration")}constructor(e){this.path=e.path,this.methods=e.methods,this.label=e.label,this.key=e.key,this.handler=e.handler,this.corsPolicy=e.corsPolicy,this.custom=e.custom,this.version=e.version,this.policies=e.policies,this.excludeFromOpenApi=e.excludeFromOpenApi,this.pathPattern=e.pathPattern,e.raw?(this.#e=e.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=e.operationId,this.summary=e.summary,this.tags=e.tags,this.parameters=e.parameters,this.responses=e.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Os.UserRouteConfiguration=Bl});var zl=g(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Router=Et.RouterError=Et.LookupResult=Et.RouterEntry=void 0;var Ym=D(),OS=mt(),xS=Kl(),xs=class{static{o(this,"RouterEntry")}constructor(e,r,n,i){this.fullPath=e,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Et.RouterEntry=xs;var yi=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Et.LookupResult=yi;var Ns=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};Et.RouterError=Ns;var Jl=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof xS.UserRouteConfiguration||e instanceof OS.SystemRouteConfiguration))throw new Ym.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===e.version)?.pathPrefix,i;"pathPattern"in e&&e.pathPattern?i=`${n??""}${e.pathPattern}`:i=`${n??""}${e.path}`;try{let s=new URLPattern({pathname:i}),a=new xs(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Ns(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Ym.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(e));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 yi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(e){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:e});if(a!==null){let c=new yi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Et.Router=Jl});var dn=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.Gateway=void 0;var NS=wr(),Zm=wh(),Xm=Sh(),CS=Ih(),ey=Ah(),ty=xh(),or=Wn(),Cs=vr(),ry=Su(),ny=jh(),vt=D(),Wl=Ot(),LS=Qm(),DS=Gt(),US=ve(),MS=Tu(),kS=Sr(),FS=Zn(),HS=Yn(),qS=zl(),Ql=mt(),iy=Kl(),$S=Ge(),oy=te(),sy=Pr(),jS=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],wt=(0,NS.debug)("zuplo:runtime"),VS=o(t=>{let e=t.findIndex(r=>r.name===Ql.systemNoVersion.name);return e>-1?[...t.splice(e),Ql.systemNoVersion]:[...t,Ql.systemNoVersion]},"setupSystemNoVersion"),Yl=class t{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(e,r,n,i){this.routeData=e,this.runtimeSettings=r,this.schemaValidator=i,wt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new LS.LogInitializer(n)}static async initialize(e,r,n,i,s){if(wt("Gateway.initialize"),!t.#e){await(0,Wl.initializeRuntime)(s);let a=new t(e,r,n,i);t.#e=a}return t.#e}static purgeGatewayCache(){wt("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new vt.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[FS.policyProcessor,MS.corsProcessor,kS.metricsProcessor];#i;setupRoutes=()=>{wt("Gateway.setupRoutes");let e=this.routeData,r=VS(e.versions),n=new qS.Router(r);if(e.routes.length===0)return(0,Zm.registerBuildRoute)(n,this),(0,ty.registerPingRoute)(n,this),(0,Xm.registerCorsRoute)(n,this),(0,CS.registerNoRoutes)(n,this),n;let{enabled:i}=(0,ry.getDevPortalRuntimeConfig)(this);return i&&((0,ny.registerDevPortalLegacyRedirectRoute)(n,this),(0,ny.registerDevPortalV3Route)(n,this)),(0,Zm.registerBuildRoute)(n,this),(0,ty.registerPingRoute)(n,this),(0,Xm.registerCorsRoute)(n,this),e.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=a,u=new DS.Pipeline(this.#n,c,this),l=new iy.UserRouteConfiguration(s);n.addRoute(l,u.execute)}),(0,ey.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let e;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(e=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof e!="function")throw new vt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else e=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return e};errorHandler(e,r,n){try{return this.#i(e,r,n)}catch(i){return wt("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){wt("Gateway.internalErrorResponse");let i={};if(oy.Environment.instance.isDeno){if(n instanceof vt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,sy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,sy.cleanStack)(s.stack)),i={cause:s}}}return US.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){if(oy.Environment.instance.isCloudflare)return e;{let r=new Headers;for(let[n,i]of e.headers)or.INTERNAL_HEADERS_TO_REMOVE.includes(n.toLowerCase())||r.set(n,i);return new Request(e,{headers:r})}}async handleRequest(e,r){let n=e.headers.get(or.REQUEST_ID_HEADER)??e.headers.get(or.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(or.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(e.headers);T.set(or.REQUEST_ID_HEADER,n),e=new Request(e,{headers:T})}if(["GET","HEAD"].includes(e.method)&&e.body){let T=new Headers(e.headers);T.set(or.BODY_REMOVED_HEADER,"true"),e=new Request(e,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,e),u=new URL(e.url),l=u.pathname,d=this.#r.lookup(e.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(e.headers),m=this.#s(e),f=new HS.ZuploRequest(m,{params:d.params}),y=new Cs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=Cs.ZuploContextExtensions.initialize(y,f);if(d.routeConfiguration===ey.notFoundRouteConfiguration&&Wl.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof iy.UserRouteConfiguration)}try{if($S.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let H=await(0,Wl.invokeOnRequestExtensions)(f,y);if(H instanceof Response)return H;{let R=Cs.ZuploContextExtensions.getContextExtensions(y);f=H,R.latestRequest=f}}[...jS,(0,ry.getDevPortalRuntimeConfig)(this).sitePathname].filter(H=>new RegExp(H).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;GS(S,d,e),wt("Gateway.handleRequest - call user handler");let M=await S(f,y);if(wt("Gateway.handleRequest - user handler"),!(M instanceof Response))throw new vt.RuntimeError(`Invalid Response type from the request handler: ${typeof M}`);if(M.bodyUsed)throw new vt.RuntimeError("The response object has already been used. Return a new response instead.");if(M.headers.get(or.REQUEST_ID_HEADER)===null&&!M.webSocket){let H=new Headers(M.headers);return H.set(or.REQUEST_ID_HEADER,n),new Response(M.body,{status:M.status,statusText:M.statusText,headers:H,cf:M.cf})}else return M}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(f,y,T)}}};Ls.Gateway=Yl;function GS(t,e,r){if(wt("Gateway.checkHandler"),!t)throw typeof e.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}':'${e.routeConfiguration.path}'`)}o(GS,"checkHandler")});var ay=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.invokeInboundPolicy=void 0;var BS=D(),KS=dn(),JS=Zn(),zS=o(async(t,e,r)=>{let n=KS.Gateway.instance.routeData.policies,i=(0,JS.getInboundPolicyHandlerAndOptions)([t],n);if(i.length===0)throw new BS.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);let s=i[0];return s.handler(e,r,s.options,t)},"invokeInboundPolicy");Ds.invokeInboundPolicy=zS});var vr=g(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.SystemZuploContext=et.ZuploContextExtensions=et.ResponseSentEvent=et.ResponseSendingEvent=et.HeaderIncomingRequestProperties=void 0;var _e=Wn(),WS=D(),QS=ay(),Zl=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(_e.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}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}}};et.HeaderIncomingRequestProperties=Zl;var Xl=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};et.ResponseSendingEvent=Xl;var ed=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};et.ResponseSentEvent=ed;var Us=class t{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(e,r){if(!t.#e.has(e)){let n=new t(r);return t.#e.set(e,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${e.requestId}'`)}static getContextExtensions(e){let r=t.#e.get(e);if(!r)throw new WS.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${e.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(e){this.latestRequest=e,this.#t=[],this.#r=[]}addResponseSendingHook(e){this.#r.push(e)}addResponseSendingFinalHook(e){this.#t.push(e)}onResponseSendingFinal=async(e,r,n)=>{for(let i of this.#t)await i(e,r,n)};onResponseSending=async(e,r,n)=>{let i=e;for(let s of this.#r)i=await s(e,r,n);return i}};et.ZuploContextExtensions=Us;var td=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(e),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,QS.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingFinalHook=c=>{Us.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingFinalHook;addEventListener(e,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),a}},"wrapped");super.addEventListener(e,i,n)}};et.SystemZuploContext=td});var cy=g(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.ContextData=void 0;var rd=class t{static{o(this,"ContextData")}static#e;#t;constructor(e){this.#t=e}set(e,r){t.set(e,this.#t,r)}get(e){return t.get(e,this.#t)}static set(e,r,n){t.#e||(t.#e=new WeakMap);let i=t.#e.get(e);i||(i=new Map),i.set(r,n)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};Ms.ContextData=rd});var nd=g(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.environment=sr.isZuploReadableEnvVariableName=sr.isRestrictedEnvVariableName=void 0;var YS=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function uy(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!YS.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(uy,"isRestrictedEnvVariableName");sr.isRestrictedEnvVariableName=uy;function ly(t){return!!t.startsWith("ZUPLO_")}o(ly,"isZuploReadableEnvVariableName");sr.isZuploReadableEnvVariableName=ly;var ZS=new Proxy({},{get(t,e,r){if(uy(String(e))&&!ly(String(e)))return;let n=globalThis,i;return n.process?i=n.process.env[e]:i=n[e],i}});sr.environment=ZS});var ks=g(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.externalServiceHandler=pn.externalServiceTunnelConfig=void 0;var XS=wr(),Cr=D(),eI=id(),gi=te(),ct=(0,XS.debug)("zuplo:runtime:external-service");function py(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=gi.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(py,"getServiceAuth");async function tI(t){let e=py();if(!e)throw ct("There is no external service auth configured for this zup."),new Cr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw ct("Cannot call external service with Request object"),new Cr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(t).hostname,i={};i["CF-Access-Client-Id"]=e.clientId,i["CF-Access-Client-Secret"]=e.clientSecret;let s;if(e.customServiceMapping&&e.customServiceMapping[n])s=`https://${e.customServiceMapping[n]}`;else if(gi.Environment.instance.useSha256ServiceRouting){ct("Using sha256 service routing");let a=gi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await hy(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ct("Cannot use sha256 service routing, missing build variables"),new Cr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(tI,"externalServiceTunnelConfig");pn.externalServiceTunnelConfig=tI;async function rI(t,e){let r=py();if(r)if(ct(`Using external service auth. ClientId: ${r.clientId})`),typeof t=="string"){let n=new URL(t),i=n.hostname,s=e??{},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){ct("Using sha256 service routing");let d=gi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await hy(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ct("Cannot use sha256 service routing, missing build variables"),new Cr.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,eI.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 Cr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ct("Cannot call external service with Request object"),new Cr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ct("There is no external service auth configured for this zup."),new Cr.RuntimeError("There are no external services configured for this zup.")}o(rI,"externalServiceHandler");pn.externalServiceHandler=rI;async function hy(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=nI(n);ct(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await dy(`${s}-${i}`),l=await dy(`${s}-${a}-${c}`);return`${u}.${l}`}o(hy,"hashServiceName");async function dy(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(dy,"hashSegment");function nI(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(nI,"sanitizeEnvironmentType")});var id=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.originalFetch=void 0;var iI=ks(),fy=new Map;fy.set("service:",iI.externalServiceHandler);hn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=oI(e);if(typeof t=="string"){let n=new URL(t),i=fy.get(n.protocol);return i?i(t,r):(0,hn.originalFetch)(t,r)}else return(0,hn.originalFetch)(t,r)};var oI=o(t=>{if(!t||t instanceof Request)return t;let e=t;if(!e.zuplo)return t;let r=t;return r.cf={cacheEverything:e.zuplo?.cacheEverything,cacheTtl:e.zuplo?.cacheTtlSeconds},delete t.zuplo,t},"transformInit")});var gy=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.Handler=fn.purgeGatewayCache=void 0;var yy=dn(),my=te(),sI=o(()=>{yy.Gateway.purgeGatewayCache()},"purgeGatewayCache");fn.purgeGatewayCache=sI;var od=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeData=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{my.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await yy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:"Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.",instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:my.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(s,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};fn.Handler=od});var wy=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function aI(t){for(var e=[],r=0;r<t.length;){var n=t[r];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:r,value:t[r++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:r++,value:t[r++]});continue}if(n==="{"){e.push({type:"OPEN",index:r,value:t[r++]});continue}if(n==="}"){e.push({type:"CLOSE",index:r,value:t[r++]});continue}if(n===":"){for(var i="",s=r+1;s<t.length;){var a=t.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=t[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));e.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(t[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<t.length;){if(t[s]==="\\"){u+=t[s++]+t[s++];continue}if(t[s]===")"){if(c--,c===0){s++;break}}else if(t[s]==="("&&(c++,t[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=t[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));e.push({type:"PATTERN",index:r,value:u}),r=s;continue}e.push({type:"CHAR",index:r,value:t[r++]})}return e.push({type:"END",index:r,value:""}),e}o(aI,"lexer");function sd(t,e){e===void 0&&(e={});for(var r=aI(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(mn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(Y){if(u<r.length&&r[u].type===Y)return r[u++].value},"tryConsume"),p=o(function(Y){var fe=d(Y);if(fe!==void 0)return fe;var Me=r[u],E=Me.type,F=Me.index;throw new TypeError("Unexpected ".concat(E," at ").concat(F,", expected ").concat(Y))},"mustConsume"),m=o(function(){for(var Y="",fe;fe=d("CHAR")||d("ESCAPED_CHAR");)Y+=fe;return Y},"consumeText");u<r.length;){var f=d("CHAR"),y=d("NAME"),v=d("PATTERN");if(y||v){var T=f||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var S=f||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var M=d("OPEN");if(M){var T=m(),H=d("NAME")||"",R=d("PATTERN")||"",ne=m();p("CLOSE"),a.push({name:H||(R?c++:""),pattern:H&&!R?s:R,prefix:T,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(sd,"parse");Re.parse=sd;function cI(t,e){return _y(sd(t,e),e)}o(cI,"compile");Re.compile=cI;function _y(t,e){e===void 0&&(e={});var r=ad(e),n=e.encode,i=n===void 0?function(u){return u}:n,s=e.validate,a=s===void 0?!0:s,c=t.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<t.length;d++){var p=t[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,f=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(f)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<m.length;v++){var T=i(m[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 m=="string"||typeof m=="number"){var T=i(String(m),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!f){var S=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(_y,"tokensToFunction");Re.tokensToFunction=_y;function uI(t,e){var r=[],n=cd(t,r,e);return by(n,r,e)}o(uI,"match");Re.match=uI;function by(t,e,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=t.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(m){if(a[m]===void 0)return"continue";var f=e[m-1];f.modifier==="*"||f.modifier==="+"?l[f.name]=a[m].split(f.prefix+f.suffix).map(function(y){return i(y,f)}):l[f.name]=i(a[m],f)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(by,"regexpToFunction");Re.regexpToFunction=by;function mn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(mn,"escapeString");function ad(t){return t&&t.sensitive?"":"i"}o(ad,"flags");function lI(t,e){if(!e)return t;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(t.source);i;)e.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(t.source);return t}o(lI,"regexpToRegexp");function dI(t,e,r){var n=t.map(function(i){return cd(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),ad(r))}o(dI,"arrayToRegexp");function pI(t,e,r){return Ey(sd(t,r),e,r)}o(pI,"stringToRegexp");function Ey(t,e,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(F){return F}:l,p=r.delimiter,m=p===void 0?"/#?":p,f=r.endsWith,y=f===void 0?"":f,v="[".concat(mn(y),"]|$"),T="[".concat(mn(m),"]"),S=a?"^":"",M=0,H=t;M<H.length;M++){var R=H[M];if(typeof R=="string")S+=mn(d(R));else{var ne=mn(d(R.prefix)),Y=mn(d(R.suffix));if(R.pattern)if(e&&e.push(R),ne||Y)if(R.modifier==="+"||R.modifier==="*"){var fe=R.modifier==="*"?"?":"";S+="(?:".concat(ne,"((?:").concat(R.pattern,")(?:").concat(Y).concat(ne,"(?:").concat(R.pattern,"))*)").concat(Y,")").concat(fe)}else S+="(?:".concat(ne,"(").concat(R.pattern,")").concat(Y,")").concat(R.modifier);else R.modifier==="+"||R.modifier==="*"?S+="((?:".concat(R.pattern,")").concat(R.modifier,")"):S+="(".concat(R.pattern,")").concat(R.modifier);else S+="(?:".concat(ne).concat(Y,")").concat(R.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(v,")"):"$";else{var Me=t[t.length-1],E=typeof Me=="string"?T.indexOf(Me[Me.length-1])>-1:Me===void 0;i||(S+="(?:".concat(T,"(?=").concat(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,ad(r))}o(Ey,"tokensToRegexp");Re.tokensToRegexp=Ey;function cd(t,e,r){return t instanceof RegExp?lI(t,e):Array.isArray(t)?dI(t,e,r):pI(t,e,r)}o(cd,"pathToRegexp");Re.pathToRegexp=cd});var pd=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.AwsV4Signer=yn.AwsClient=void 0;var hI=wr(),Iy=D(),fI=(0,hI.debug)("zuplo:runtime"),ld=new TextEncoder,vy={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"},mI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],dd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:e,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(e==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=e,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(e,r){let n=new Fs(Object.assign({url:e},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(e,r){fI("AWS fetch",e);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(e,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 Iy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};yn.AwsClient=dd;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:e,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:f,allHeaders:y,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=e||(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]=yI(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=f||this.service==="iotdevicegateway",this.headers.delete("Host");let M=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"),M.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&M.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(R=>y||!mI.includes(R)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(R=>R+":"+(R==="host"?this.url.host:(this.headers.get(R)||"").replace(/\s+/g," "))).join(`
60
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!M.has("X-Amz-Expires")&&M.set("X-Amz-Expires","86400"),M.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),M.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),M.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=Sy(this.encodedPath);let H=new Set;this.encodedSearch=[...this.url.searchParams].filter(([R])=>{if(!R)return!1;if(this.service==="s3"){if(H.has(R))return!1;H.add(R)}return!0}).map(R=>R.map(ne=>Sy(encodeURIComponent(ne)))).sort(([R,ne],[Y,fe])=>R<Y?-1:R>Y?1:ne<fe?-1:ne>fe?1:0).map(R=>R.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 e=this.datetime.slice(0,8),r=[this.secretAccessKey,e,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await _i("AWS4"+this.secretAccessKey,e),s=await _i(i,this.region),a=await _i(s,this.service);n=await _i(a,"aws4_request"),this.cache.set(r,n)}return ud(await _i(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,ud(await Ty(await this.canonicalString()))].join(`
59
+ -----END ${e}-----`},"default")});function Rf(t){let e=[],r=0;for(;r<t.length;){let n=Df(t.subarray(r));e.push(n),r+=n.byteLength}return e}function Df(t){let e=0,r=t[0]&31;if(e++,r===31){for(r=0;t[e]>=128;)r=r*128+t[e]-128,e++;r=r*128+t[e]-128,e++}let n=0;if(t[e]<128)n=t[e],e++;else if(n===128){for(n=0;t[e+n]!==0||t[e+n+1]!==0;){if(n>t.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=e+n+2;return{byteLength:s,contents:t.subarray(e,e+n),raw:t.subarray(0,s)}}else{let s=t[e]&127;e++,n=0;for(let a=0;a<s;a++)n=n*256+t[e],e++}let i=e+n;return{byteLength:i,contents:t.subarray(e,i),raw:t.subarray(0,i)}}function RT(t){let e=Rf(Rf(Df(t).contents)[0].contents);return jo(e[e[0].raw[0]===160?6:5].raw)}function OT(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=qu(e);return el(RT(r),"PUBLIC KEY")}var Of,xf,Nf,Xt,Pf,Cf,Lf,tl,Uf,Zo=S(()=>{Te();st();Ie();Af();V();at();Of=o(async(t,e,r)=>{if(!se(r))throw new TypeError(ne(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return el(jo(new Uint8Array(await L.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),xf=o(t=>Of("public","spki",t),"toSPKI"),Nf=o(t=>Of("private","pkcs8",t),"toPKCS8"),Xt=o((t,e,r=0)=>{r===0&&(e.unshift(e.length),e.unshift(6));let n=t.indexOf(e[0],r);if(n===-1)return!1;let i=t.subarray(n,n+e.length);return i.length!==e.length?!1:i.every((s,a)=>s===e[a])||Xt(t,e,n+1)},"findOid"),Pf=o(t=>{switch(!0){case Xt(t,[42,134,72,206,61,3,1,7]):return"P-256";case Xt(t,[43,129,4,0,34]):return"P-384";case Xt(t,[43,129,4,0,35]):return"P-521";case Xt(t,[43,101,110]):return"X25519";case Xt(t,[43,101,111]):return"X448";case Xt(t,[43,101,112]):return"Ed25519";case Xt(t,[43,101,113]):return"Ed448";default:throw new U("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Cf=o(async(t,e,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(t,"")).split("").map(d=>d.charCodeAt(0))),l=e==="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=Pf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Pf(u)},c=l?["verify"]:["sign"];break;default:throw new U('Invalid or unsupported "alg" (Algorithm) value')}return L.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),Lf=o((t,e,r)=>Cf(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),tl=o((t,e,r)=>Cf(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(Rf,"getElement");o(Df,"parseElement");o(RT,"spkiFromX509");o(OT,"getSPKI");Uf=o((t,e,r)=>{let n;try{n=OT(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return tl(n,e,r)},"fromX509")});function xT(t){let e,r;switch(t.kty){case"oct":{switch(t.alg){case"HS256":case"HS384":case"HS512":e={name:"HMAC",hash:`SHA-${t.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new U(`${t.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":e={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":e={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":e={name:"PBKDF2"},r=["deriveBits"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(t.alg){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(t.alg.slice(-3),10)||1}`},r=t.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(t.alg){case"ES256":e={name:"ECDSA",namedCurve:"P-256"},r=t.d?["sign"]:["verify"];break;case"ES384":e={name:"ECDSA",namedCurve:"P-384"},r=t.d?["sign"]:["verify"];break;case"ES512":e={name:"ECDSA",namedCurve:"P-521"},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:"ECDH",namedCurve:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(t.alg){case"EdDSA":e={name:t.crv},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new U('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var NT,rl,Mf=S(()=>{Te();V();Ie();o(xT,"subtleMapping");NT=o(async t=>{var e,r;if(!t.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=xT(t),s=[n,(e=t.ext)!==null&&e!==void 0?e:!1,(r=t.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return L.subtle.importKey("raw",re(t.k),...s);let a={...t};return delete a.alg,delete a.use,L.subtle.importKey("jwk",a,...s)},"parse"),rl=NT});async function kf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return tl(t,e,r)}async function Ff(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Uf(t,e,r)}async function Hf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Lf(t,e,r)}async function er(t,e,r){var n;if(!Q(t))throw new TypeError("JWK must be an object");switch(e||(e=t.alg),t.kty){case"oct":if(typeof t.k!="string"||!t.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=t.ext!==!0),r?rl({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):re(t.k);case"RSA":if(t.oth!==void 0)throw new U('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return rl({...t,alg:e});default:throw new U('Unsupported "kty" (Key Type) Parameter value')}}var ci=S(()=>{Ie();Zo();Mf();V();qe();o(kf,"importSPKI");o(Ff,"importX509");o(Hf,"importPKCS8");o(er,"importJWK")});var CT,LT,DT,tr,ui=S(()=>{st();at();CT=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!Ku(e))throw new TypeError(Bu(t,e,...W,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),LT=o((t,e,r)=>{if(!Ku(e))throw new TypeError(Bu(t,e,...W));if(e.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),DT=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?CT(t,e):LT(t,e,r)},"checkKeyType"),tr=DT});async function UT(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ne(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await L.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await L.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await L.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=Se(i,n,u,Ho(i.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function MT(t,e,r,n,i){let s;r instanceof Uint8Array?s=await L.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(He(r,t,"encrypt"),s=r);let a=new Uint8Array(await L.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,e)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var kT,li,nl=S(()=>{ye();Vu();Gu();Te();Zt();st();V();at();o(UT,"cbcEncrypt");o(MT,"gcmEncrypt");kT=o(async(t,e,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ne(r,...W,"Uint8Array"));switch(Bo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Wr(r,parseInt(t.slice(-3),10)),UT(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Wr(r,parseInt(t.slice(1,4),10)),MT(t,e,r,n,i);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),li=kT});async function qf(t,e,r,n){let i=t.slice(0,7);n||(n=Vo(i));let{ciphertext:s,tag:a}=await li(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function $f(t,e,r,n,i){let s=t.slice(0,7);return Jo(s,e,r,n,i,new Uint8Array(0))}var il=S(()=>{nl();Ju();Go();Ie();o(qf,"wrap");o($f,"unwrap")});async function FT(t,e,r,n,i){switch(tr(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return e}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(e))throw new U("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await er(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await Wo(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?si(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return oi(t.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 If(t,e,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 vf(t,e,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return oi(t,e,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=re(n.iv),a=re(n.tag);return $f(t,e,r,s,a)}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var jf,Vf=S(()=>{zo();Qu();Zu();Xu();Ie();V();ai();ci();ui();qe();il();o(FT,"decryptKeyManagement");jf=FT});function HT(t,e,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new t('"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 t('"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),...e.entries()]):s=e;for(let a of n.crit){if(!s.has(a))throw new U(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new t(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new t(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var bt,Xr=S(()=>{V();o(HT,"validateCrit");bt=HT});var qT,di,ol=S(()=>{qT=o((t,e)=>{if(e!==void 0&&(!Array.isArray(e)||e.some(r=>typeof r!="string")))throw new TypeError(`"${t}" option must be an array of strings`);if(e)return new Set(e)},"validateAlgorithms"),di=qT});async function en(t,e,r){var n;if(!Q(t))throw new P("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new P("JOSE Header missing");if(typeof t.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new P("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new P("JWE AAD incorrect type");if(t.header!==void 0&&!Q(t.header))throw new P("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!Q(t.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let j=re(t.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!gt(i,t.header,t.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(bt(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 U('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&&di("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&di("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new zt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new zt('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=re(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let m;try{m=await jf(a,e,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof U)throw j;m=_t(c)}let f=re(t.iv),y=re(t.tag),v=Y.encode((n=t.protected)!==null&&n!==void 0?n:""),T;t.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(t.aad)):T=v;let I=await Jo(c,m,re(t.ciphertext),f,y,T);s.zip==="DEF"&&(I=await(r?.inflateRaw||hf)(I));let k={plaintext:I};return t.protected!==void 0&&(k.protectedHeader=i),t.aad!==void 0&&(k.additionalAuthenticatedData=re(t.aad)),t.unprotected!==void 0&&(k.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(k.unprotectedHeader=t.header),p?{...k,key:e}:k}var Xo=S(()=>{Ie();Ju();zu();V();Qr();qe();Vf();ye();ai();Xr();ol();o(en,"flattenedDecrypt")});async function es(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="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}=t.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await en({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},e,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof e=="function"?{...d,key:l.key}:d}var sl=S(()=>{Xo();V();ye();o(es,"compactDecrypt")});async function Gf(t,e,r){if(!Q(t))throw new P("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new P("JWE Recipients has no members");for(let n of t.recipients)try{return await en({aad:t.aad,ciphertext:t.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:t.iv,protected:t.protected,tag:t.tag,unprotected:t.unprotected},e,r)}catch{}throw new Lt}var Bf=S(()=>{Xo();V();qe();o(Gf,"generalDecrypt")});var $T,Kf,Jf=S(()=>{Te();st();Ie();at();$T=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:Z(t)};if(!se(t))throw new TypeError(ne(t,...W,"Uint8Array"));if(!t.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:e,key_ops:r,alg:n,use:i,...s}=await L.subtle.exportKey("jwk",t);return s},"keyToJWK"),Kf=$T});async function zf(t){return xf(t)}async function Wf(t){return Nf(t)}async function ts(t){return Kf(t)}var al=S(()=>{Zo();Zo();Jf();o(zf,"exportSPKI");o(Wf,"exportPKCS8");o(ts,"exportJWK")});async function jT(t,e,r,n,i={}){let s,a,c;switch(tr(t,r,"encrypt"),t){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 U("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 gf(r)).privateKey);let{x:p,y:m,crv:f,kty:y}=await ts(d),v=await Wo(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?si(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:f,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),t==="ECDH-ES"){c=v;break}c=n||_t(e);let T=t.slice(-6);s=await ii(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(e),s=await Sf(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||_t(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await wf(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||_t(e),s=await ii(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||_t(e);let{iv:u}=i;({encryptedKey:s,...a}=await qf(t,r,c,u));break}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var rs,cl=S(()=>{zo();Qu();Zu();Xu();Ie();ai();V();al();ui();il();o(jT,"encryptKeyManagement");rs=jT});var ul,Dt,ns=S(()=>{Ie();nl();zu();Go();cl();V();Qr();ye();Xr();ul=Symbol(),Dt=class{static{o(this,"FlattenedEncrypt")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,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(bt(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 U('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 y;({cek:c,encryptedKey:a,parameters:y}=await rs(i,s,e,this._cek,this._keyManagementParameters)),y&&(r&&ul in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=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,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||ff)(this._plaintext);({ciphertext:p,tag:m}=await li(s,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await li(s,this._plaintext,c,this._iv,u));let f={ciphertext:Z(p),iv:Z(this._iv),tag:Z(m)};return a&&(f.encrypted_key=Z(a)),d&&(f.aad=d),this._protectedHeader&&(f.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(f.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(f.header=this._unprotectedHeader),f}}});var ll,is,Qf=S(()=>{ns();V();ai();Qr();cl();Ie();Xr();ll=class{static{o(this,"IndividualRecipient")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}},is=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new ll(this,e,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(e={deflateRaw:e?.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,...e}),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(bt(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=_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 m={...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:m}).encrypt(l.key,{...l.options,...e,[ul]:!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:f,parameters:y}=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:m});d.encrypted_key=Z(f),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function pi(t,e){let r=`SHA-${t.slice(-3)}`;switch(t){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:t.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:e.namedCurve};case"EdDSA":return{name:e.name};default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var dl=S(()=>{V();o(pi,"subtleDsa")});function hi(t,e,r){if(se(e))return df(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(ne(e,...W));return L.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ne(e,...W,"Uint8Array"))}var pl=S(()=>{Te();Zt();st();at();o(hi,"getCryptoKey")});var VT,Yf,Zf=S(()=>{dl();Te();Yo();pl();VT=o(async(t,e,r,n)=>{let i=await hi(t,e,"verify");xr(t,i);let s=pi(t,i.algorithm);try{return await L.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Yf=VT});async function tn(t,e,r){var n;if(!Q(t))throw new z("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new z("JWS Protected Header incorrect type");if(t.payload===void 0)throw new z("JWS Payload missing");if(typeof t.signature!="string")throw new z("JWS Signature missing or incorrect type");if(t.header!==void 0&&!Q(t.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let T=re(t.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!gt(i,t.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=bt(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&&di("algorithms",r.algorithms);if(l&&!l.has(u))throw new zt('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),tr(u,e,"verify");let p=Se(Y.encode((n=t.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof t.payload=="string"?Y.encode(t.payload):t.payload),m=re(t.signature);if(!await Yf(u,e,m,p))throw new Or;let y;c?y=re(t.payload):typeof t.payload=="string"?y=Y.encode(t.payload):y=t.payload;let v={payload:y};return t.protected!==void 0&&(v.protectedHeader=i),t.header!==void 0&&(v.unprotectedHeader=t.header),d?{...v,key:e}:v}var os=S(()=>{Ie();Zf();V();ye();Qr();qe();ui();Xr();ol();o(tn,"flattenedVerify")});async function ss(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await tn({payload:i,protected:n,signature:s},e,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof e=="function"?{...u,key:c.key}:u}var hl=S(()=>{os();V();ye();o(ss,"compactVerify")});async function Xf(t,e,r){if(!Q(t))throw new z("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await tn({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Or}var em=S(()=>{os();V();qe();o(Xf,"generalVerify")});var rn,fl=S(()=>{rn=o(t=>Math.floor(t.getTime()/1e3),"default")});var GT,nn,ml=S(()=>{GT=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,nn=o(t=>{let e=GT.exec(t);if(!e)throw new TypeError("Invalid time period format");let r=parseFloat(e[1]);switch(e[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 tm,BT,on,as=S(()=>{V();ye();fl();ml();qe();tm=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),BT=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),on=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||tm(t.typ)!==tm(n)))throw new ge('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(e))}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 f of new Set(s.reverse()))if(!(f in i))throw new ge(`missing required "${f}" claim`,f,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new ge('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new ge('unexpected "sub" claim value',"sub","check_failed");if(u&&!BT(i.aud,typeof u=="string"?[u]:u))throw new ge('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=nn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=rn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new ge('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new ge('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new ge('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new ge('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let f=m-i.iat,y=typeof l=="number"?l:nn(l);if(f-d>y)throw new zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(f<0-d)throw new ge('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function rm(t,e,r){var n;let i=await ss(t,e,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:on(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var nm=S(()=>{hl();as();V();o(rm,"jwtVerify")});async function im(t,e,r){let n=await es(t,e,r),i=on(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new ge('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new ge('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new ge('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var om=S(()=>{sl();as();V();o(im,"jwtDecrypt")});var sn,yl=S(()=>{ns();sn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Dt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,r){let n=await this._flattened.encrypt(e,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var KT,sm,am=S(()=>{dl();Te();Yo();pl();KT=o(async(t,e,r)=>{let n=await hi(t,e,"sign");xr(t,n);let i=await L.subtle.sign(pi(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),sm=KT});var rr,cs=S(()=>{Ie();am();Qr();V();ye();ui();Xr();rr=class{static{o(this,"FlattenedSign")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,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=bt(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');tr(a,e,"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 sm(a,e,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 an,gl=S(()=>{cs();an=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new rr(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,r){let n=await this._flattened.sign(e,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 _l,us,cm=S(()=>{cs();V();_l=class{static{o(this,"IndividualSignature")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}},us=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new _l(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let e={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new rr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)e.payload=s;else if(e.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var nr,ls=S(()=>{fl();qe();ml();nr=class{static{o(this,"ProduceJWT")}constructor(e){if(!Q(e))throw new TypeError("JWT Claims Set MUST be an object");this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return typeof e=="number"?this._payload={...this._payload,nbf:e}:this._payload={...this._payload,nbf:rn(new Date)+nn(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:rn(new Date)+nn(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:rn(new Date)}:this._payload={...this._payload,iat:e},this}}});var ds,um=S(()=>{gl();V();ye();ls();ds=class extends nr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new an(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(e,r)}}});var ps,lm=S(()=>{yl();ye();ls();ps=class extends nr{static{o(this,"EncryptJWT")}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,r){let n=new sn(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(e,r)}}});async function bl(t,e){if(!Q(t))throw new TypeError("JWK must be an object");if(e??(e="sha256"),e!=="sha256"&&e!=="sha384"&&e!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(t.kty){case"EC":ir(t.crv,'"crv" (Curve) Parameter'),ir(t.x,'"x" (X Coordinate) Parameter'),ir(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":ir(t.crv,'"crv" (Subtype of Key Pair) Parameter'),ir(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":ir(t.e,'"e" (Exponent) Parameter'),ir(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":ir(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new U('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await ko(e,n))}async function dm(t,e){e??(e="sha256");let r=await bl(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var ir,pm=S(()=>{Fu();Ie();V();ye();qe();ir=o((t,e)=>{if(typeof t!="string"||!t)throw new ei(`${e} missing or invalid`)},"check");o(bl,"calculateJwkThumbprint");o(dm,"calculateJwkThumbprintUri")});async function hm(t,e){let r={...t,...e?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await er({...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 fm=S(()=>{ci();qe();V();o(hm,"EmbeddedJWK")});function JT(t){switch(typeof t=="string"&&t.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new U('Unsupported "alg" value for a JSON Web Key Set')}}function El(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(zT)}function zT(t){return Q(t)}function WT(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function mm(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await er({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new Wt("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function ym(t){let e=new fi(t);return async function(r,n){return e.getKey(r,n)}}var fi,wl=S(()=>{ci();V();qe();o(JT,"getKtyFromAlg");o(El,"isJWKSLike");o(zT,"isJWKLike");o(WT,"clone");fi=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!El(e))throw new Wt("JSON Web Key Set malformed");this._jwks=WT(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=JT(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 Rr;if(u!==1){let l=new ti,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await mm(d,p,n)}catch{continue}},l}return mm(this._cached,c,n)}};o(mm,"importWithAlgCache");o(ym,"createLocalJWKSet")});var QT,gm,_m=S(()=>{V();QT=o(async(t,e,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},e));let a=await fetch(t.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ri:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new pe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new pe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),gm=QT});function YT(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function bm(t,e){let r=new vl(t,e);return async function(n,i){return r.getKey(n,i)}}var vl,Em=S(()=>{_m();V();wl();o(YT,"isCloudflareWorkers");vl=class extends fi{static{o(this,"RemoteJWKSet")}constructor(e,r){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.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(e,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(e,r)}catch(n){if(n instanceof Rr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&YT()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=gm(this._url,this._timeoutDuration,this._options).then(e=>{if(!El(e))throw new Wt("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e})),await this._pendingFetch}};o(bm,"createRemoteJWKSet")});var hs,wm=S(()=>{Ie();ye();V();as();ls();hs=class extends nr{static{o(this,"UnsecuredJWT")}encode(){let e=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:on(c,re(i),r),header:c}}}});var Tl={};Ki(Tl,{decode:()=>mi,encode:()=>ZT});var ZT,mi,fs=S(()=>{Ie();ZT=Z,mi=re});function vm(t){let e;if(typeof t=="string"){let r=t.split(".");(r.length===3||r.length===5)&&([e]=r)}else if(typeof t=="object"&&t)if("protected"in t)e=t.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof e!="string"||!e)throw new Error;let r=JSON.parse(ce.decode(mi(e)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Tm=S(()=>{fs();ye();qe();o(vm,"decodeProtectedHeader")});function Sm(t){if(typeof t!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.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(!e)throw new ue("JWTs must contain a payload");let n;try{n=mi(e)}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 Im=S(()=>{fs();ye();qe();V();o(Sm,"decodeJwt")});async function Am(t,e){var r;let n,i,s;switch(t){case"HS256":case"HS384":case"HS512":n=parseInt(t.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(t.slice(-3),10),Qt(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(t.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(t.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function Sl(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new U("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Pm(t,e){var r,n,i;let s,a;switch(t){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Sl(e)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Sl(e)},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(t.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Sl(e)},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=e?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new U("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=e?.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 U("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var Il=S(()=>{Te();V();ni();o(Am,"generateSecret");o(Sl,"getModulusLengthOption");o(Pm,"generateKeyPair")});async function Rm(t,e){return Pm(t,e)}var Om=S(()=>{Il();o(Rm,"generateKeyPair")});async function xm(t,e){return Am(t,e)}var Nm=S(()=>{Il();o(xm,"generateSecret")});var ms={};Ki(ms,{CompactEncrypt:()=>sn,CompactSign:()=>an,EmbeddedJWK:()=>hm,EncryptJWT:()=>ps,FlattenedEncrypt:()=>Dt,FlattenedSign:()=>rr,GeneralEncrypt:()=>is,GeneralSign:()=>us,SignJWT:()=>ds,UnsecuredJWT:()=>hs,base64url:()=>Tl,calculateJwkThumbprint:()=>bl,calculateJwkThumbprintUri:()=>dm,compactDecrypt:()=>es,compactVerify:()=>ss,createLocalJWKSet:()=>ym,createRemoteJWKSet:()=>bm,decodeJwt:()=>Sm,decodeProtectedHeader:()=>vm,errors:()=>$u,exportJWK:()=>ts,exportPKCS8:()=>Wf,exportSPKI:()=>zf,flattenedDecrypt:()=>en,flattenedVerify:()=>tn,generalDecrypt:()=>Gf,generalVerify:()=>Xf,generateKeyPair:()=>Rm,generateSecret:()=>xm,importJWK:()=>er,importPKCS8:()=>Hf,importSPKI:()=>kf,importX509:()=>Ff,jwtDecrypt:()=>im,jwtVerify:()=>rm});var ys=S(()=>{sl();Xo();Bf();Qf();hl();os();em();nm();om();yl();ns();gl();cs();cm();um();lm();pm();fm();wl();Em();wm();al();ci();Tm();Im();V();Om();Nm();fs()});var _s=g(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.fetchRetry=void 0;var XT=D();async function eS(t,e,r){for(let n=0;n<=t.retries;n++){let i=fetch(e,r);if(n===t.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;t?.logger?.error("Request failed, retrying",{method:typeof e=="string"?"GET":e.method,url:typeof e=="string"?e:e.url,status:s.status}),await new Promise(a=>setTimeout(a,t.retryDelayMs*Math.pow(2,n)))}throw new XT.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(eS,"fetchRetry");gs.fetchRetry=eS});var cn=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.GcpServiceAccount=Xe.fetchToken=Xe.exchangeGgpJwtForIdToken=Xe.exchangeFirebaseJwtForIdToken=Xe.getTokenFromGcpServiceAccount=void 0;var Cm=(ys(),Ji(ms)),tS=D(),rS=_s();async function nS({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new Cm.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(nS,"getTokenFromGcpServiceAccount");Xe.getTokenFromGcpServiceAccount=nS;async function iS(t,e,r){return Pl(t,{token:e,returnSecureToken:!0},r)}o(iS,"exchangeFirebaseJwtForIdToken");Xe.exchangeFirebaseJwtForIdToken=iS;async function oS(t,e,r){return Pl(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(oS,"exchangeGgpJwtForIdToken");Xe.exchangeGgpJwtForIdToken=oS;async function Pl(t,e,r){let n=await(0,rS.fetchRetry)(r,t,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(e)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new tS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Pl,"fetchToken");Xe.fetchToken=Pl;var Al=class t{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:e,privateKey:r}){this.#t=e,this.#e=r}static async init(e){let r=JSON.parse(e),n=await(0,Cm.importPKCS8)(r.private_key.trim(),"RS256");return new t({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}};Xe.GcpServiceAccount=Al});var Es=g(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.GoogleLogTransport=Ut.ZuploToGCPMap=Ut.GoogleCloudLoggingPlugin=void 0;var sS=we(),Rl=te(),Ol=cn(),aS=Ct(),Lm=yt(),xl=class extends aS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new bs(this.options)}};Ut.GoogleCloudLoggingPlugin=xl;var cS="https://logging.googleapis.com/v2/entries:write?alt=json";Ut.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var bs=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Rl.Environment.instance.loggingEnvironmentType,this.#o=Rl.Environment.instance.loggingEnvironmentStage,this.#n=Rl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){if(e.messages.length===0)return;let n={allMessages:(0,Lm.makeErrorsSerializable)(e.messages)};this.#t||(this.#t=await Ol.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Ut.ZuploToGCPMap[e.level],timestamp:e.timestamp,trace:`projects/${i}/traces/${e.requestId}`,labels:{requestId:e.requestId,buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};e.rayId&&(s.labels.rayId=e.rayId);let a=(0,Lm.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;this.#t||(this.#t=await Ol.GcpServiceAccount.init(this.#e));let r=await(0,Ol.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(cS,{method:"POST",body:JSON.stringify({entries:e}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new sS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ut.GoogleLogTransport=bs});var Nl=g(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.gcpLogFormat=un.GCP_LOG_FORMAT=void 0;var Dm=yt(),uS=Es();un.GCP_LOG_FORMAT="gcp";function lS(t){let e={allMessages:(0,Dm.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,Dm.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:uS.ZuploToGCPMap[t.level],timestamp:t.timestamp,"logging.googleapis.com/labels":{buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${t.requestId}`,allMessages:e.allMessages};return t.rayId&&(i["logging.googleapis.com/labels"].rayId=t.rayId),i}o(lS,"gcpLogFormat");un.gcpLogFormat=lS});var Mm=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.ConsoleTransport=void 0;var Um=Nl(),Cl=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;async log(e){if(this.#t===Um.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Um.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,level:e.level,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId}])}};ws.ConsoleTransport=Cl});var Fl=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.DataDogTransport=ln.DataDogLoggingPlugin=void 0;var dS=we(),Ll=te(),pS=Ct(),km=yt(),kl=class extends pS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new vs(this.options)}};ln.DataDogLoggingPlugin=kl;var Dl="__ddtags",Ul="__ddattr",Ml=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),hS=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(Ml(n)):r.push(`${Ml(n)}:${Ml(i.toString())}`)}),r.join(",")},"formatTags"),vs=class{static{o(this,"DataDogTransport")}constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Ll.Environment.instance.loggingEnvironmentType,this.#i=Ll.Environment.instance.loggingEnvironmentStage,this.#r=Ll.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n={},i=r.custom[Dl];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(f=>f[Dl]!==void 0);a>-1&&(Object.assign(n,s[a][Dl]),s.splice(a,1));let c={},u=r.custom[Ul];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(f=>f[Ul]!==void 0);l>-1&&(Object.assign(c,s[l][Ul]),s.splice(l,1));let d=(0,km.makeErrorsSerializable)(s),m={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,km.extractBestMessage)(d),service:e.loggingId,ddtags:hS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{e.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...e]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new dS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};ln.DataDogTransport=vs});var Hm=g(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.ProcessTransport=void 0;var Fm=Nl(),Hl=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;async log(e){if(this.#t===Fm.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Fm.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId,vectorClock:e.vectorClock}])}};Ts.ProcessTransport=Hl});var $m=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.RemoteLogTransport=void 0;var fS=we(),qm=te(),mS=yt(),yS=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,mS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":qm.Environment.instance.systemUserAgent,"zp-dn":qm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ss,ql=class{static{o(this,"RemoteLogTransport")}constructor(e){Ss||(Ss=new fS.BatchDispatch("remote-log-transport",1,yS(e)))}async log(e,r){Ss.enqueue(e),r.waitUntil(Ss.waitUntilFlushed())}};Is.RemoteLogTransport=ql});var jm=g(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.unifiedFormatter=Nr.SeverityNumberOpenTelemetryMap=void 0;Nr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var gS=o((t,e)=>r=>{let n={};return n.deploymentName=t,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:e.BUILD_ID,buildTimestamp:e.TIMESTAMP,gitSHA:e.GIT_SHA,version:e.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Nr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Nr.unifiedFormatter=gS});var Gm=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.UnifiedLogTransport=void 0;var _S=we(),Vm=te(),bS=jm(),ES=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,bS.unifiedFormatter)(r,n);fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Vm.Environment.instance.systemUserAgent,"zp-dn":Vm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),As,$l=class{static{o(this,"UnifiedLogTransport")}constructor(e){As||(As=new _S.BatchDispatch("unified-log-transport",1,ES(e)))}async log(e,r){As.enqueue(e),r.waitUntil(As.waitUntilFlushed())}};Ps.UnifiedLogTransport=$l});var Ym=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.LogInitializer=void 0;var wS=wr(),vS=Ot(),Bm=Au(),Km=te(),Jm=Gh(),TS=Ct(),SS=Bh(),zm=Kh(),Wm=Mm(),IS=Fl(),AS=Es(),Qm=Hm(),PS=$m(),RS=Gm(),jl=(0,wS.debug)("zuplo:logging"),Vl=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(e){this.serviceProvider=e,this.systemCoreLogger=this.setupSystemCoreLogger(Km.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Km.Environment.instance)}setupSystemCoreLogger(e){let{runtime:r,build:n}=e;jl("Gateway.setupSystemCoreLogger");let i=[],s=this.serviceProvider.getService(Bm.SYSTEM_LOGGER);return s?i.push(new Qm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new Wm.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new RS.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),new Jm.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}setupUserCoreLogger(e){jl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=e,s=this.serviceProvider.getService(Bm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new Qm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&r.push(new Wm.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&r.push(new PS.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new AS.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 IS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return vS.plugins.forEach(a=>{a instanceof TS.LogPlugin&&r.push(a.getTransport())}),new Jm.CoreLogger(e.userLogLevel,"user",e.loggingId,i.BUILD_ID,r)}createRequestLoggers(e,r,n,i,s){jl("Gateway.createRequestLoggers");let a=new SS.LoggingContext(n,i,s),c=new zm.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new zm.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};Rs.LogInitializer=Vl});var Bl=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.UserRouteConfiguration=void 0;var Gl=class{static{o(this,"UserRouteConfiguration")}constructor(e){this.path=e.path,this.methods=e.methods,this.label=e.label,this.key=e.key,this.handler=e.handler,this.corsPolicy=e.corsPolicy,this.custom=e.custom,this.version=e.version,this.policies=e.policies,this.excludeFromOpenApi=e.excludeFromOpenApi,this.pathPattern=e.pathPattern,e.raw?(this.#e=e.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=e.operationId,this.summary=e.summary,this.tags=e.tags,this.parameters=e.parameters,this.responses=e.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Os.UserRouteConfiguration=Gl});var Jl=g(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Router=Et.RouterError=Et.LookupResult=Et.RouterEntry=void 0;var Zm=D(),OS=mt(),xS=Bl(),xs=class{static{o(this,"RouterEntry")}constructor(e,r,n,i){this.fullPath=e,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Et.RouterEntry=xs;var yi=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Et.LookupResult=yi;var Ns=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};Et.RouterError=Ns;var Kl=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof xS.UserRouteConfiguration||e instanceof OS.SystemRouteConfiguration))throw new Zm.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===e.version)?.pathPrefix,i;"pathPattern"in e&&e.pathPattern?i=`${n??""}${e.pathPattern}`:i=`${n??""}${e.path}`;try{let s=new URLPattern({pathname:i}),a=new xs(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Ns(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Zm.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(e));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 yi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(e){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:e});if(a!==null){let c=new yi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Et.Router=Kl});var dn=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.Gateway=void 0;var NS=wr(),Xm=vh(),ey=Ih(),CS=Ah(),ty=Ph(),ry=Nh(),or=Wn(),Cs=vr(),ny=Tu(),iy=Vh(),vt=D(),zl=Ot(),LS=Ym(),DS=Gt(),US=ve(),MS=vu(),kS=Sr(),FS=Zn(),HS=Yn(),qS=Jl(),Wl=mt(),oy=Bl(),$S=Ge(),sy=te(),ay=Pr(),jS=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],wt=(0,NS.debug)("zuplo:runtime"),VS=o(t=>{let e=t.findIndex(r=>r.name===Wl.systemNoVersion.name);return e>-1?[...t.splice(e),Wl.systemNoVersion]:[...t,Wl.systemNoVersion]},"setupSystemNoVersion"),Ql=class t{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(e,r,n,i){this.routeData=e,this.runtimeSettings=r,this.schemaValidator=i,wt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new LS.LogInitializer(n)}static async initialize(e,r,n,i,s){if(wt("Gateway.initialize"),!t.#e){await(0,zl.initializeRuntime)(s);let a=new t(e,r,n,i);t.#e=a}return t.#e}static purgeGatewayCache(){wt("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new vt.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[FS.policyProcessor,MS.corsProcessor,kS.metricsProcessor];#i;setupRoutes=()=>{wt("Gateway.setupRoutes");let e=this.routeData,r=VS(e.versions),n=new qS.Router(r);if(e.routes.length===0)return(0,Xm.registerBuildRoute)(n,this),(0,ry.registerPingRoute)(n,this),(0,ey.registerCorsRoute)(n,this),(0,CS.registerNoRoutes)(n,this),n;let{enabled:i}=(0,ny.getDevPortalRuntimeConfig)(this);return i&&((0,iy.registerDevPortalLegacyRedirectRoute)(n,this),(0,iy.registerDevPortalV3Route)(n,this)),(0,Xm.registerBuildRoute)(n,this),(0,ry.registerPingRoute)(n,this),(0,ey.registerCorsRoute)(n,this),e.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=a,u=new DS.Pipeline(this.#n,c,this),l=new oy.UserRouteConfiguration(s);n.addRoute(l,u.execute)}),(0,ty.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let e;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(e=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof e!="function")throw new vt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else e=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return e};errorHandler(e,r,n){try{return this.#i(e,r,n)}catch(i){return wt("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){wt("Gateway.internalErrorResponse");let i={};if(sy.Environment.instance.isDeno){if(n instanceof vt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,ay.serializeError)(n.cause);"stack"in s&&(s.stack=(0,ay.cleanStack)(s.stack)),i={cause:s}}}return US.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){if(sy.Environment.instance.isCloudflare)return e;{let r=new Headers;for(let[n,i]of e.headers)or.INTERNAL_HEADERS_TO_REMOVE.includes(n.toLowerCase())||r.set(n,i);return new Request(e,{headers:r})}}async handleRequest(e,r){let n=e.headers.get(or.REQUEST_ID_HEADER)??e.headers.get(or.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(or.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(e.headers);T.set(or.REQUEST_ID_HEADER,n),e=new Request(e,{headers:T})}if(["GET","HEAD"].includes(e.method)&&e.body){let T=new Headers(e.headers);T.set(or.BODY_REMOVED_HEADER,"true"),e=new Request(e,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,e),u=new URL(e.url),l=u.pathname,d=this.#r.lookup(e.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(e.headers),m=this.#s(e),f=new HS.ZuploRequest(m,{params:d.params}),y=new Cs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=Cs.ZuploContextExtensions.initialize(y,f);if(d.routeConfiguration===ty.notFoundRouteConfiguration&&zl.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(I=>I.routeConfiguration).filter(I=>I instanceof oy.UserRouteConfiguration)}try{if($S.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,zl.invokeOnRequestExtensions)(f,y);if(j instanceof Response)return j;{let x=Cs.ZuploContextExtensions.getContextExtensions(y);f=j,x.latestRequest=f}}[...jS,(0,ny.getDevPortalRuntimeConfig)(this).sitePathname].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let I=d.executableHandler;GS(I,d,e),wt("Gateway.handleRequest - call user handler");let k=await I(f,y);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(or.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(or.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(f,y,T)}}};Ls.Gateway=Ql;function GS(t,e,r){if(wt("Gateway.checkHandler"),!t)throw typeof e.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}':'${e.routeConfiguration.path}'`)}o(GS,"checkHandler")});var cy=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.invokeInboundPolicy=void 0;var BS=D(),KS=dn(),JS=Zn(),zS=o(async(t,e,r)=>{let n=KS.Gateway.instance.routeData.policies,i=(0,JS.getInboundPolicyHandlerAndOptions)([t],n);if(i.length===0)throw new BS.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);let s=i[0];return s.handler(e,r,s.options,t)},"invokeInboundPolicy");Ds.invokeInboundPolicy=zS});var vr=g(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.SystemZuploContext=et.ZuploContextExtensions=et.ResponseSentEvent=et.ResponseSendingEvent=et.HeaderIncomingRequestProperties=void 0;var _e=Wn(),WS=D(),QS=cy(),Yl=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(_e.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}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}}};et.HeaderIncomingRequestProperties=Yl;var Zl=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};et.ResponseSendingEvent=Zl;var Xl=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};et.ResponseSentEvent=Xl;var Us=class t{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(e,r){if(!t.#e.has(e)){let n=new t(r);return t.#e.set(e,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${e.requestId}'`)}static getContextExtensions(e){let r=t.#e.get(e);if(!r)throw new WS.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${e.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(e){this.latestRequest=e,this.#t=[],this.#r=[]}addResponseSendingHook(e){this.#r.push(e)}addResponseSendingFinalHook(e){this.#t.push(e)}onResponseSendingFinal=async(e,r,n)=>{for(let i of this.#t)await i(e,r,n)};onResponseSending=async(e,r,n)=>{let i=e;for(let s of this.#r)i=await s(e,r,n);return i}};et.ZuploContextExtensions=Us;var ed=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(e),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,QS.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingFinalHook=c=>{Us.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingFinalHook;addEventListener(e,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),a}},"wrapped");super.addEventListener(e,i,n)}};et.SystemZuploContext=ed});var uy=g(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.ContextData=void 0;var td=class t{static{o(this,"ContextData")}static#e;#t;constructor(e){this.#t=e}set(e,r){t.set(e,this.#t,r)}get(e){return t.get(e,this.#t)}static set(e,r,n){t.#e||(t.#e=new WeakMap);let i=t.#e.get(e);i||(i=new Map),i.set(r,n)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};Ms.ContextData=td});var rd=g(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.environment=sr.isZuploReadableEnvVariableName=sr.isRestrictedEnvVariableName=void 0;var YS=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function ly(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!YS.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(ly,"isRestrictedEnvVariableName");sr.isRestrictedEnvVariableName=ly;function dy(t){return!!t.startsWith("ZUPLO_")}o(dy,"isZuploReadableEnvVariableName");sr.isZuploReadableEnvVariableName=dy;var ZS=new Proxy({},{get(t,e,r){if(ly(String(e))&&!dy(String(e)))return;let n=globalThis,i;return n.process?i=n.process.env[e]:i=n[e],i}});sr.environment=ZS});var nd=g(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.externalServiceHandler=pn.externalServiceTunnelConfig=void 0;var XS=wr(),Cr=D(),eI=id(),gi=te(),ct=(0,XS.debug)("zuplo:runtime:external-service");function hy(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=gi.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(hy,"getServiceAuth");async function tI(t){let e=hy();if(!e)throw ct("There is no external service auth configured for this zup."),new Cr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw ct("Cannot call external service with Request object"),new Cr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(t).hostname,i={};i["CF-Access-Client-Id"]=e.clientId,i["CF-Access-Client-Secret"]=e.clientSecret;let s;if(e.customServiceMapping&&e.customServiceMapping[n])s=`https://${e.customServiceMapping[n]}`;else if(gi.Environment.instance.useSha256ServiceRouting){ct("Using sha256 service routing");let a=gi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await fy(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ct("Cannot use sha256 service routing, missing build variables"),new Cr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(tI,"externalServiceTunnelConfig");pn.externalServiceTunnelConfig=tI;async function rI(t,e){let r=hy();if(r)if(ct(`Using external service auth. ClientId: ${r.clientId})`),typeof t=="string"){let n=new URL(t),i=n.hostname,s=e??{},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){ct("Using sha256 service routing");let d=gi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await fy(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ct("Cannot use sha256 service routing, missing build variables"),new Cr.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,eI.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 Cr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ct("Cannot call external service with Request object"),new Cr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ct("There is no external service auth configured for this zup."),new Cr.RuntimeError("There are no external services configured for this zup.")}o(rI,"externalServiceHandler");pn.externalServiceHandler=rI;async function fy(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=nI(n);ct(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await py(`${s}-${i}`),l=await py(`${s}-${a}-${c}`);return`${u}.${l}`}o(fy,"hashServiceName");async function py(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(py,"hashSegment");function nI(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(nI,"sanitizeEnvironmentType")});var id=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.originalFetch=void 0;var iI=nd(),my=new Map;my.set("service:",iI.externalServiceHandler);hn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=oI(e);if(typeof t=="string"){let n=new URL(t),i=my.get(n.protocol);return i?i(t,r):(0,hn.originalFetch)(t,r)}else return(0,hn.originalFetch)(t,r)};var oI=o(t=>{if(!t||t instanceof Request)return t;let e=t;if(!e.zuplo)return t;let r=t;return r.cf={cacheEverything:e.zuplo?.cacheEverything,cacheTtl:e.zuplo?.cacheTtlSeconds},delete t.zuplo,t},"transformInit")});var _y=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.Handler=fn.purgeGatewayCache=void 0;var gy=dn(),yy=te(),sI=o(()=>{gy.Gateway.purgeGatewayCache()},"purgeGatewayCache");fn.purgeGatewayCache=sI;var od=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeData=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{yy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await gy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:"Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.",instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:yy.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(s,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};fn.Handler=od});var vy=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 aI(t){for(var e=[],r=0;r<t.length;){var n=t[r];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:r,value:t[r++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:r++,value:t[r++]});continue}if(n==="{"){e.push({type:"OPEN",index:r,value:t[r++]});continue}if(n==="}"){e.push({type:"CLOSE",index:r,value:t[r++]});continue}if(n===":"){for(var i="",s=r+1;s<t.length;){var a=t.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=t[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));e.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(t[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<t.length;){if(t[s]==="\\"){u+=t[s++]+t[s++];continue}if(t[s]===")"){if(c--,c===0){s++;break}}else if(t[s]==="("&&(c++,t[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=t[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));e.push({type:"PATTERN",index:r,value:u}),r=s;continue}e.push({type:"CHAR",index:r,value:t[r++]})}return e.push({type:"END",index:r,value:""}),e}o(aI,"lexer");function sd(t,e){e===void 0&&(e={});for(var r=aI(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(mn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ee){if(u<r.length&&r[u].type===ee)return r[u++].value},"tryConsume"),p=o(function(ee){var fe=d(ee);if(fe!==void 0)return fe;var Me=r[u],E=Me.type,F=Me.index;throw new TypeError("Unexpected ".concat(E," at ").concat(F,", expected ").concat(ee))},"mustConsume"),m=o(function(){for(var ee="",fe;fe=d("CHAR")||d("ESCAPED_CHAR");)ee+=fe;return ee},"consumeText");u<r.length;){var f=d("CHAR"),y=d("NAME"),v=d("PATTERN");if(y||v){var T=f||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var I=f||d("ESCAPED_CHAR");if(I){l+=I;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=m(),j=d("NAME")||"",x=d("PATTERN")||"",oe=m();p("CLOSE"),a.push({name:j||(x?c++:""),pattern:j&&!x?s:x,prefix:T,suffix:oe,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(sd,"parse");Re.parse=sd;function cI(t,e){return by(sd(t,e),e)}o(cI,"compile");Re.compile=cI;function by(t,e){e===void 0&&(e={});var r=ad(e),n=e.encode,i=n===void 0?function(u){return u}:n,s=e.validate,a=s===void 0?!0:s,c=t.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<t.length;d++){var p=t[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,f=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(f)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<m.length;v++){var T=i(m[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 m=="string"||typeof m=="number"){var T=i(String(m),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!f){var I=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(I))}}return l}}o(by,"tokensToFunction");Re.tokensToFunction=by;function uI(t,e){var r=[],n=cd(t,r,e);return Ey(n,r,e)}o(uI,"match");Re.match=uI;function Ey(t,e,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=t.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(m){if(a[m]===void 0)return"continue";var f=e[m-1];f.modifier==="*"||f.modifier==="+"?l[f.name]=a[m].split(f.prefix+f.suffix).map(function(y){return i(y,f)}):l[f.name]=i(a[m],f)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Ey,"regexpToFunction");Re.regexpToFunction=Ey;function mn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(mn,"escapeString");function ad(t){return t&&t.sensitive?"":"i"}o(ad,"flags");function lI(t,e){if(!e)return t;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(t.source);i;)e.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(t.source);return t}o(lI,"regexpToRegexp");function dI(t,e,r){var n=t.map(function(i){return cd(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),ad(r))}o(dI,"arrayToRegexp");function pI(t,e,r){return wy(sd(t,r),e,r)}o(pI,"stringToRegexp");function wy(t,e,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(F){return F}:l,p=r.delimiter,m=p===void 0?"/#?":p,f=r.endsWith,y=f===void 0?"":f,v="[".concat(mn(y),"]|$"),T="[".concat(mn(m),"]"),I=a?"^":"",k=0,j=t;k<j.length;k++){var x=j[k];if(typeof x=="string")I+=mn(d(x));else{var oe=mn(d(x.prefix)),ee=mn(d(x.suffix));if(x.pattern)if(e&&e.push(x),oe||ee)if(x.modifier==="+"||x.modifier==="*"){var fe=x.modifier==="*"?"?":"";I+="(?:".concat(oe,"((?:").concat(x.pattern,")(?:").concat(ee).concat(oe,"(?:").concat(x.pattern,"))*)").concat(ee,")").concat(fe)}else I+="(?:".concat(oe,"(").concat(x.pattern,")").concat(ee,")").concat(x.modifier);else x.modifier==="+"||x.modifier==="*"?I+="((?:".concat(x.pattern,")").concat(x.modifier,")"):I+="(".concat(x.pattern,")").concat(x.modifier);else I+="(?:".concat(oe).concat(ee,")").concat(x.modifier)}}if(u)i||(I+="".concat(T,"?")),I+=r.endsWith?"(?=".concat(v,")"):"$";else{var Me=t[t.length-1],E=typeof Me=="string"?T.indexOf(Me[Me.length-1])>-1:Me===void 0;i||(I+="(?:".concat(T,"(?=").concat(v,"))?")),E||(I+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(I,ad(r))}o(wy,"tokensToRegexp");Re.tokensToRegexp=wy;function cd(t,e,r){return t instanceof RegExp?lI(t,e):Array.isArray(t)?dI(t,e,r):pI(t,e,r)}o(cd,"pathToRegexp");Re.pathToRegexp=cd});var pd=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.AwsV4Signer=yn.AwsClient=void 0;var hI=wr(),Ay=D(),fI=(0,hI.debug)("zuplo:runtime"),ld=new TextEncoder,Ty={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"},mI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],dd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:e,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(e==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=e,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(e,r){let n=new ks(Object.assign({url:e},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(e,r){fI("AWS fetch",e);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(e,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 Ay.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};yn.AwsClient=dd;var ks=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:e,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:f,allHeaders:y,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=e||(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,I;(!u||!l)&&([T,I]=yI(this.url,this.headers)),this.service=u||T||"",this.region=l||I||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=f||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(x=>y||!mI.includes(x)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(x=>x+":"+(x==="host"?this.url.host:(this.headers.get(x)||"").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=Iy(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([x])=>{if(!x)return!1;if(this.service==="s3"){if(j.has(x))return!1;j.add(x)}return!0}).map(x=>x.map(oe=>Iy(encodeURIComponent(oe)))).sort(([x,oe],[ee,fe])=>x<ee?-1:x>ee?1:oe<fe?-1:oe>fe?1:0).map(x=>x.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 e=this.datetime.slice(0,8),r=[this.secretAccessKey,e,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await _i("AWS4"+this.secretAccessKey,e),s=await _i(i,this.region),a=await _i(s,this.service);n=await _i(a,"aws4_request"),this.cache.set(r,n)}return ud(await _i(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,ud(await Sy(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 e=this.headers.get("X-Amz-Content-Sha256");if(e==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Iy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=ud(await Ty(this.body||""))}return e}};yn.AwsV4Signer=Fs;async function _i(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?ld.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,ld.encode(e))}o(_i,"hmac");async function Ty(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?ld.encode(t):t)}o(Ty,"hash");function ud(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(ud,"buf2hex");function Sy(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(Sy,"encodeRfc3986");function yI(t,e){let{hostname:r,pathname:n}=t,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=(e.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 vy?[vy[s],a]:[s,a]}o(yI,"guessServiceRegion")});var Ay=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.convertStringToUtf8Array=Tt.convertUtf8ArrayToString=Tt.base64Encode=Tt.base64Decode=void 0;function gI(t){return t>64&&t<91?t-65:t>96&&t<123?t-71:t>47&&t<58?t+4:t===43?62:t===47?63:0}o(gI,"b64ToUint6");function _I(t,e){let r=t.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=e?Math.ceil((n*3+1>>2)/e)*e: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|=gI(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(_I,"base64Decode");Tt.base64Decode=_I;function Hs(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(Hs,"uint6ToB64");function bI(t){let e=2,r="",n=t.length,i=0;for(let s=0;s<n;s++)e=s%3,i|=t[s]<<(16>>>e&24),(e===2||t.length-s===1)&&(r+=String.fromCodePoint(Hs(i>>>18&63),Hs(i>>>12&63),Hs(i>>>6&63),Hs(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(bI,"base64Encode");Tt.base64Encode=bI;function EI(t){let e="",r,n=t.length;for(let i=0;i<n;i++)r=t[i],e+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(t[++i]-128<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(t[++i]-128<<6)+t[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+t[++i]-128:r);return e}o(EI,"convertUtf8ArrayToString");Tt.convertUtf8ArrayToString=EI;function wI(t){let e,r=t.length,n=0;for(let c=0;c<r;c++)e=t.codePointAt(c),e>=65536&&c++,n+=e<128?1:e<2048?2:e<65536?3:e<2097152?4:e<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)e=t.codePointAt(a),e<128?i[s++]=e:e<2048?(i[s++]=192+(e>>>6),i[s++]=128+(e&63)):e<65536?(i[s++]=224+(e>>>12),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63)):e<2097152?(i[s++]=240+(e>>>18),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):e<67108864?(i[s++]=248+(e>>>24),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):(i[s++]=252+(e>>>30),i[s++]=128+(e>>>24&63),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++),a++;return i}o(wI,"convertStringToUtf8Array");Tt.convertStringToUtf8Array=wI});var Py=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.toCLFDate=void 0;function gn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(gn,"numberToString");function vI(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=gn(Math.floor(r/60)),s=gn(r%60);return`${n}${i}${s}`}o(vI,"getCLFOffset");function TI(t=new Date){if(!(t instanceof Date))throw new Error("clf-date: invalid parameter");let e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=gn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=gn(t.getHours()),a=gn(t.getMinutes()),c=gn(t.getSeconds()),u=vI(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(TI,"toCLFDate");qs.toCLFDate=TI});var Dy=g(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.getResponse=ar.awsLambdaHandler=ar.AwsLambdaHandlerExtensions=void 0;var SI=wr(),Ry=wy(),bi=D(),II=xt(),AI=pd(),xy=Ay(),Ny=Py(),Oy=(0,SI.debug)("zuplo:runtime"),PI="X-Amzn-Trace-Id",RI="x-amzn-errortype",Cy=[],OI=o(async(t,e,r)=>{let n=r;for await(let i of Cy)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),Be=class extends bi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(PI)??void 0,this.errorType=r.get(RI)??void 0}};ar.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{Cy.push(t)}};async function xI(t,e){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=e.route.handler.options;if(!r)throw new bi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new bi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new bi.ConfigurationError("region is not set in the handler options");if(!s)throw new bi.ConfigurationError("functionName is not set in the handler options");let l=new AI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Oy(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,m]=await LI(t,{binaryMediaTypes:u}),{options:f}=e.route.handler,y;f&&typeof f=="object"&&"payloadFormatVersion"in f&&f.payloadFormatVersion==="2.0"?y=CI(t,e):y=await NI(t,e,{useAwsResourcePathStyle:c}),Oy("Calling onSendingAwsLambdaEvent hook");let v=await OI(t,e,y);v.body=p,v.isBase64Encoded=m;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return Ly(T)}catch(S){if(S instanceof Be){let M=f&&typeof f=="object"&&"returnAmazonTraceIdHeader"in f&&f.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return II.HttpProblems.internalServerError(t,e,void 0,M)}throw S}}o(xI,"awsLambdaHandler");ar.awsLambdaHandler=xI;async function Ly(t){let e;try{e=await t.json()}catch{throw new Be("Lambda response did not contain valid JSON",t.headers)}if(t.status!==200)throw e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?new Be(e.message,t.headers):new Be(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new Be(e.errorMessage,t.headers);if(!e||typeof e!="object"||!("statusCode"in e)||typeof e.statusCode!="number")return new Response(JSON.stringify(e),{status:t.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in e&&e.headers){if(typeof e.headers!="object")throw new Be(`Response headers must be an object. Received ${typeof e.headers}`,t.headers);for(let[i,s]of Object.entries(e.headers))r.set(i,s)}if("cookies"in e&&e.cookies){if(!Array.isArray(e.cookies))throw new Be(`Response cookies must be an array. Received ${typeof e.cookies}`,t.headers);r.set("cookie",e.cookies.join(";"))}let n;if("isBase64Encoded"in e&&typeof e.isBase64Encoded!="boolean")throw new Be(`Response property isBase64Encoded must be a boolean. Received ${typeof e.isBase64Encoded}`,t.headers);if("isBase64Encoded"in e&&e.isBase64Encoded===!0){if(!("body"in e))throw new Be("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new Be("Response was set to base64 encoded but body was not a string",t.headers);n=(0,xy.base64Decode)(e.body)}else"body"in e&&typeof e.body=="string"?n=e.statusCode===204&&e.body===""?null:e.body:"body"in e&&e.body!==null&&e.body!==void 0?n=JSON.stringify(e.body):n=null;if(n!==null&&"bodyEncoding"in e){if(typeof e.bodyEncoding!="string"||!(e.bodyEncoding==="gzip"||e.bodyEncoding==="deflate"))throw new Be(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${e.bodyEncoding}`,t.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(e.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:e.statusCode})}o(Ly,"getResponse");ar.getResponse=Ly;async function NI(t,e,{useAwsResourcePathStyle:r}){let n={},i={};t.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=t.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(t.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:t.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:e.requestId,httpMethod:t.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:t.headers.get("CF-Connecting-IP"),user:null,userAgent:t.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:e.requestId,requestTime:(0,Ny.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:UI(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(NI,"buildEventVersion1");function CI(t,e){let r={};t.headers.forEach((s,a)=>{r[a]=s});let n=new URL(t.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:t.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:t.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:t.headers.get("CF-Connecting-IP"),userAgent:t.headers.get("user-agent")},requestId:e.requestId,routeKey:null,stage:null,time:(0,Ny.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(CI,"buildEventVersion2");async function LI(t,{binaryMediaTypes:e}){let r,n=!1,i=t.headers.get("content-type");if(t.method==="GET"||t.method==="HEAD")r=null;else if(e&&i&&DI(e,i)){let s=await t.arrayBuffer();r=(0,xy.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(LI,"getBodyResult");function DI(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(DI,"matchesContentType");function UI(t,e=!1){if(!e)return t;let r=(0,Ry.parse)(t),n=(0,Ry.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(UI,"getResourcePath")});var bn=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.getHandlerUserLogFunction=_n.logBadGatewayResponses=void 0;var MI=Ge(),kI=te(),FI=[502,503,504];async function HI(t,e){if(FI.includes(t.status)){let r=MI.SystemLogMap.getLogger(e),i=await t.clone().text(),s={};for(let[a,c]of t.headers)s[a]=c;r.warn(`BadGatewayResponse ${t.status}`,{status:t.status,statusText:t.statusText,body:i,headers:s})}}o(HI,"logBadGatewayResponses");_n.logBadGatewayResponses=HI;var hd;function qI(t){if(hd===void 0){let r=kI.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),hd=r}return t.log[hd]}o(qI,"getHandlerUserLogFunction");_n.getHandlerUserLogFunction=qI});var My=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.openApiSpecHandler=void 0;var Uy=D(),$I=ve(),fd=te(),jI=bn();async function VI(t,e){let r=fd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=fd.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Uy.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=GI(s);if(!a.isValid)throw new Uy.ConfigurationError(a.error);let c;fd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:t.method,body:t.body,headers:t.headers});if(u.status!==200)return $I.HttpProblems.notFound(t,e,{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,jI.logBadGatewayResponses)(l,e),l}o(VI,"openApiSpecHandler");$s.openApiSpecHandler=VI;var GI=o(t=>t.startsWith("./")?t.startsWith("./config")?t.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 ky=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.redirectHandler=void 0;var BI=D();async function KI(t,e){let r=e.route.handler.options;if(!r.location)throw new BI.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(KI,"redirectHandler");js.redirectHandler=KI});var Hy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.urlForwardHandler=void 0;var JI=D(),Fy=bn();function zI(t,e){let r=t.endsWith("/"),n=e.startsWith("/");return r&&n?`${t.substring(0,t.length-1)}${e}`:!r&&!n?`${t}/${e}`:`${t}${e}`}o(zI,"join");async function WI(t,e){let r=(0,Fy.getHandlerUserLogFunction)(e),n=e.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 JI.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},a=new URL(t.url),c=n.__rewriteFunction(t,s),u=zI(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:t.method,body:t.body,headers:t.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,Fy.logBadGatewayResponses)(p,e),p}o(WI,"urlForwardHandler");Vs.urlForwardHandler=WI});var $y=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.urlRewriteHandler=void 0;var QI=D(),qy=bn(),YI=o((t,e)=>{let r=new URL(t),n=new URL(e);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function ZI(t,e){let r=(0,qy.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new QI.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=i?YI(c,t.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:t.method,body:t.body,headers:t.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,qy.logBadGatewayResponses)(d,e),d}o(ZI,"urlRewriteHandler");Gs.urlRewriteHandler=ZI});var Vy=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.webSocketHandler=void 0;var jy=D(),XI=ks(),eA=xt(),tA=te(),rA=bn();async function nA(t,e){let r=tA.Environment.instance,n=e.route.handler.options,i=(0,rA.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new jy.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return eA.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new jy.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(t.headers);if(c.startsWith("service:")){let f=await(0,XI.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${f.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let T in f.tunnelHeaders)p.set(T,f.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let f=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${f}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(nA,"webSocketHandler");Bs.webSocketHandler=nA});var Gy=g(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.webSocketPolicyProcessor=En.getWebSocketPolicyFunctions=void 0;var iA=D(),oA=o((t,e)=>t.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=e==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new iA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");En.getWebSocketPolicyFunctions=oA;var sA=o(async(t,e,r,n,i,s)=>{let a=t.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,e,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");En.webSocketPolicyProcessor=sA});var Jy=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.webSocketPipelineHandler=void 0;var By=D(),aA=ks(),cA=xt(),uA=te(),lA=bn(),md=Gy();function Ky(t,e,r,n,i){t.addEventListener("close",()=>{e.close()}),t.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),e.send(JSON.stringify(s))}),t.addEventListener("message",s=>{try{o(async c=>{let u=await(0,md.webSocketPolicyProcessor)(c,t,e,r,n,i);u!==void 0&&e.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(Ky,"wireUpListeners");async function dA(t,e){let r=uA.Environment.instance,n=e.route.handler.options,i=(0,lA.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new By.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return cA.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new By.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let S=new Headers(t.headers);if(c.startsWith("service:")){let H=await(0,aA.externalServiceTunnelConfig)(c),R=new URL(c);c=new URL(`${H.serviceBaseUrl}${R.pathname}${R.search}`).toString();for(let Y in H.tunnelHeaders)S.set(Y,H.tunnelHeaders[Y])}c=c.replace(/^(http)/,"ws");try{if(S.get("Authorization")){let H=S.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${H}`}}catch{}let M=JSON.stringify({url:c});return new Response(M,{headers:S})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let S=await l.text(),M=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(M)}let d=new WebSocketPair,[p,m]=Object.values(d),f=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${f}ms`);let y=l.webSocket;y.accept(),m.accept();let v=n.policies&&n.policies.inbound?(0,md.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,md.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Ky(m,y,t,e,v),Ky(y,m,t,e,T),new Response(null,{status:101,webSocket:p})}o(dA,"webSocketPipelineHandler");Ks.webSocketPipelineHandler=dA});var zy=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.DynaTraceLoggingPlugin=void 0;var pA=we(),yd=te(),hA=Pr(),fA=Ct(),mA=yt(),gd=class extends fA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new _d(this.options)}};Js.DynaTraceLoggingPlugin=gd;var _d=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.apiToken,this.#n=yd.Environment.instance.loggingEnvironmentType,this.#i=yd.Environment.instance.loggingEnvironmentStage,this.#r=yd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,mA.stringifyNonString)((0,hA.serializeError)(n)),severity:e.level,"log.source":e.logSource,requestId:e.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":e.loggingId,"custom.rayId":e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async e=>{e.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(e),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new pA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Wy=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.LokiLoggingPlugin=void 0;var yA=we(),bd=te(),gA=Pr(),_A=Ct(),bA=yt(),Ed=class extends _A.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new vd(this.options)}};zs.LokiLoggingPlugin=Ed;var wd=class{static{o(this,"LokiStream")}constructor(e,r,n,i,s){this.level=e,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=e=>this.level===e.level&&this.requestId===e.requestId};function EA(t,e){return btoa(`${t}:${e}`)}o(EA,"createBasicDigest");var vd=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=EA(e.username,e.password),this.#n=bd.Environment.instance.loggingEnvironmentType,this.#i=bd.Environment.instance.loggingEnvironmentStage,this.#r=bd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n=new wd(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,bA.stringifyNonString)((0,gA.serializeError)(i)),nanoSecondEpoch:`${e.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=e=>{let r={streams:[]};return e.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 e=>{if(e.length===0)return;let r=this.#o(e);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new yA.BatchDispatch("loki-log-transport",10,this.#s)}});var Qy=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.SumoLogicLoggingPlugin=void 0;var wA=we(),Td=te(),vA=Pr(),TA=Ct(),SA=yt(),Sd=class extends TA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Id(this.options)}};Ws.SumoLogicLoggingPlugin=Sd;var Id=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=Td.Environment.instance.loggingEnvironmentType,this.#n=Td.Environment.instance.loggingEnvironmentStage,this.#t=Td.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,SA.stringifyNonString)((0,vA.serializeError)(n)),severity:e.level,source:e.logSource,requestId:e.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async e=>{if(e.length===0)return;let r=e.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 wA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Zy=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.VMWareLogInsightTransport=wn.VMWareLogInsightLoggingPlugin=void 0;var IA=D(),AA=we(),Ad=te(),PA=Ct(),Yy=yt(),RA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Pd=class extends PA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Qs(this.options)}};wn.VMWareLogInsightLoggingPlugin=Pd;var Qs=class{static{o(this,"VMWareLogInsightTransport")}constructor(e){let r;try{r=new URL(e.url)}catch{throw new IA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${e.url}'`)}this.#e=r.origin,this.#r=Ad.Environment.instance.loggingEnvironmentType,this.#n=Ad.Environment.instance.loggingEnvironmentStage,this.#t=Ad.Environment.instance.deploymentName,this.#i=e.onMessageSending,e.fields&&(this.#o=Object.entries(e.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(e,r){let n=this.buildEntry(e,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(e,r){let n=(0,Yy.messagesToMultilineText)(e.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:e.level.toUpperCase()},{name:"request_id",content:e.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:e.logSource},{name:"atomic_counter",content:e.vectorClock}]};return e.rayId&&i.fields.push({name:"request_ray_id",content:e.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,Yy.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async e=>{if(e.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${RA}`,{method:"POST",body:JSON.stringify(e),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 AA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};wn.VMWareLogInsightTransport=Qs});var eg=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.AWSLogTransport=vn.AWSLoggingPlugin=void 0;var OA=we(),Xy=te(),xA=Pr(),NA=Ct(),CA=yt(),LA=pd(),Rd=class extends NA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ys(this.options)}};vn.AWSLoggingPlugin=Rd;var Ys=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new OA.BatchDispatch("aws-log-transport",10,async e=>{if(e.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:e});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:e,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new LA.AwsClient({accessKeyId:e,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=Xy.Environment.instance.loggingEnvironmentType,this.environment=Xy.Environment.instance.deploymentName}async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,CA.stringifyNonString)((0,xA.serializeError)(n)),severity:e.level,source:e.logSource,environment:this.environment,requestId:e.requestId,environmentType:this.environmentType,rayId:e.rayId===null?void 0:e.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};vn.AWSLogTransport=Ys});var tg=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 DA=Hl();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return DA.DataDogLoggingPlugin}});var UA=zy();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return UA.DynaTraceLoggingPlugin}});var MA=Es();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return MA.GoogleCloudLoggingPlugin}});var kA=Wy();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return kA.LokiLoggingPlugin}});var FA=Qy();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return FA.SumoLogicLoggingPlugin}});var HA=Zy();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return HA.VMWareLogInsightLoggingPlugin}});var qA=eg();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return qA.AWSLoggingPlugin}})});var rg=g(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DataDogMetricsError=cr.DataDogMetricsTransport=cr.DataDogMetricsPlugin=void 0;var $A=Ge(),jA=we(),VA=fo(),Od=new WeakMap,GA={tags:[]},xd=class extends VA.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Zs(this.options)}static setContext(e,r){let n=Od.get(e);n||(n=GA);let i=Object.assign({...n},r);Od.set(e,i)}};cr.DataDogMetricsPlugin=xd;var Zs=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},e.metrics),this.#i=e.include??{},this.#n=e.tags??[]}pushMetrics(e,r){this.#o===void 0&&(this.#o=new jA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,$A.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()/1e3),i=this.#n.concat(Od.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${e.country}`),this.#i.httpMethod&&i.push(`httpMethod:${e.method}`),this.#i.statusCode&&i.push(`statusCode:${e.statusCode}`),this.#i.path){let s=e.systemRouteName||e.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:e.durationMs}],tags:i}),this.#r.requestContentLength&&e.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:e.requestContentLength}],tags:i}),this.#r.responseContentLength&&e.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:e.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;let r=JSON.stringify({series:e}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new Xs(await n.text())}};cr.DataDogMetricsTransport=Zs;var Xs=class t extends Error{static{o(this,"DataDogMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};cr.DataDogMetricsError=Xs});var ng=g(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.DynaTraceMetricsError=ur.DynaTraceMetricsTransport=ur.DynatraceMetricsPlugin=void 0;var BA=Ge(),KA=we(),JA=fo(),Nd=new WeakMap,zA={dimensions:[]},Cd=class extends JA.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new ea(this.options)}static setContext(e,r){let n=Nd.get(e);n||(n=zA);let i=Object.assign({...n},r);Nd.set(e,i)}};ur.DynatraceMetricsPlugin=Cd;var ea=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(e){this.apiToken=e.apiToken,this.#e=e.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},e.metrics),this.#r=e.include??{},this.dimensions=e.dimensions??[]}pushMetrics(e,r){this.#n===void 0&&(this.#n=new KA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,BA.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()),i=this.dimensions.concat(Nd.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${e.country}"`),this.#r.httpMethod&&i.push(`http_method="${e.method}"`),this.#r.statusCode&&i.push(`status_code="${e.statusCode}"`),this.#r.path){let a=e.systemRouteName||e.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${e.durationMs} ${n}`),this.#t.requestContentLength&&e.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${e.requestContentLength} ${n}`),this.#t.responseContentLength&&e.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${e.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;let r=e.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 ta(await n.text())}};ur.DynaTraceMetricsTransport=ea;var ta=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};ur.DynaTraceMetricsError=ta});var ig=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.DynatraceMetricsPlugin=Tn.DataDogMetricsPlugin=void 0;var WA=rg();Object.defineProperty(Tn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return WA.DataDogMetricsPlugin}});var QA=ng();Object.defineProperty(Tn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return QA.DynatraceMetricsPlugin}})});var og=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.AuditLogDataStaxProvider=void 0;var Ld=class{static{o(this,"AuditLogDataStaxProvider")}constructor(e){this.#e=e}#e;writeLogBatch=async e=>{await Promise.allSettled(e.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)})}))}};ra.AuditLogDataStaxProvider=Ld});var ag=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.AuditLogPlugin=void 0;var YA=Ot(),ZA=we(),Dd=class extends YA.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new Ud(e,this.#e,this.#t)}};na.AuditLogPlugin=Dd;var sg=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),XA={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Ud=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...XA};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,e.addRequestHook(this.#o),this.#r=new ZA.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async e=>{await this.#t.writeLogBatch(e)};#i=async(e,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?sg(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:e.status,statusText:e.statusText,headers:this.#e.include?.response?.headers?sg(e.headers):void 0,body:this.#e.include?.response?.body?await e.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(e,r)=>{try{if(!await this.#e.requestFilter(e,r))return e;let i=new Date,s=Date.now(),a=e.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var ia=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.getValueFromRequestUser=Sn.statusCodesStringToNumberArray=void 0;var cg=D(),ug=new Map;function eP(t){if(typeof t!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=ug.get(t);if(e)return e;let r=t.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 ug.set(t,n),n}o(eP,"statusCodesStringToNumberArray");Sn.statusCodesStringToNumberArray=eP;function tP(t,e,r){if(!e.startsWith("."))throw new cg.ConfigurationError(`Invalid ${r} - must start with '.' - '${e}' does not`);let n=e.split(".").splice(1),i=t;return n.forEach(s=>{if(i===void 0)throw new cg.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(tP,"getValueFromRequestUser");Sn.getValueFromRequestUser=tP});var fg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.AmberfloMeteringInboundPolicy=In.AmberfloMeteringPolicy=void 0;var lg=D(),rP=we(),dg=ia(),hg=new WeakMap,pg={},Md=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){hg.set(e,r)}};In.AmberfloMeteringPolicy=Md;async function nP(t,e,r,n){if(!r.statusCodes)throw new lg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,dg.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=hg.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new lg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,dg.getValueFromRequestUser)(t.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=pg[r.apiKey];if(!m){let f=r.apiKey,y=t.headers.get("zm-test-id")??"";m=new rP.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":f,"zm-test-id":y}});S.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),pg[f]=m}m.enqueue(p),e.waitUntil(m.waitUntilFlushed())}}),t}o(nP,"AmberfloMeteringInboundPolicy");In.AmberfloMeteringInboundPolicy=nP});var lr=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.getPolicyCacheName=void 0;function iP(t){return`zuplo-policy-${t}`}o(iP,"getPolicyCacheName");oa.getPolicyCacheName=iP});var _g=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.ApiAuthKeyInboundPolicy=An.ApiKeyInboundPolicy=void 0;var oP=lr(),sP=br(),mg=nd(),kd=D(),aP=xt(),Fd=Ge(),Hd=te(),cP=_s(),yg="key-metadata-cache-type";function uP(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(uP,"getKeyValue");async function gg(t,e,r,n){if(!r.bucketName)if(mg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=mg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new kd.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 kd.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(v=>i.allowUnauthenticatedRequests?t:aP.HttpProblems.unauthorized(t,e,{detail:v}),"unauthorizedResponse"),a=t.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=uP(a,i);if(!c||c==="")return s("No key present");let u=await lP(c),l=new sP.MemoryZoneReadThroughCache((0,oP.getPolicyCacheName)(n),{logger:Fd.SystemLogMap.getLogger(e)}),d=await l.get(u);if(d&&d.isValid===!0)return t.user=d.user,t;if(d&&!d.isValid)return d.typeId!==yg&&Fd.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${d.typeId}'`,d),s("Authorization Failed");let p={key:c},m=await(0,cP.fetchRetry)({retryDelayMs:5,retries:2,logger:Fd.SystemLogMap.getLogger(e)},`${Hd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":Hd.Environment.instance.deploymentName??"unknown","User-Agent":Hd.Environment.instance.systemUserAgent},body:JSON.stringify(p)});if(m.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(m.status!==200){try{let v=await m.text(),T=JSON.parse(v);e.log.error("Unexpected response from key service",T)}catch{e.log.error("Invalid response from key service")}throw new kd.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${m.status}`)}let f=await m.json(),y={isValid:!0,typeId:yg,user:{sub:f.name,data:f.metadata}};return t.user=y.user,l.put(u,y,i.cacheTtlSeconds),t}o(gg,"ApiKeyInboundPolicy");An.ApiKeyInboundPolicy=gg;async function lP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(lP,"hashValue");An.ApiAuthKeyInboundPolicy=gg});var Mt=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.OpenIdJwtInboundPolicy=void 0;var $d=(ys(),Ji(ms)),jd=D(),dP=ve(),qd={},pP=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new jd.ConfigurationError("Invalid State - jwkUrl not set");qd[e.jwkUrl]||(qd[e.jwkUrl]=(0,$d.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,$d.jwtVerify)(t,qd[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),hP=o(async(t,e)=>{let r;if(e.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof e.secret=="string"){let s=new TextEncoder().encode(e.secret);r=new Uint8Array(s)}else r=e.secret;let{payload:n}=await(0,$d.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),fP=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(m=>dP.HttpProblems.unauthorized(t,e,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new jd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new jd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?pP:hP,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(f){let y=new URL(t.url);return"code"in f&&f.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${y.pathname} `,f):e.log.warn(`Invalid token on: ${t.method} ${y.pathname}`,f),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?t:l;let d=r.subPropertyName??"sub",p=l[d];return p?(t.user={sub:p,data:l},t):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");sa.OpenIdJwtInboundPolicy=fP});var bg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.Auth0JwtInboundPolicy=void 0;var mP=Mt(),yP=o(async(t,e,r,n)=>(0,mP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");aa.Auth0JwtInboundPolicy=yP});var Eg=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.BasicAuthInboundPolicy=void 0;var gP=ve(),_P=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>gP.HttpProblems.unauthorized(t,e,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),f=d.substring(p+1),y=r.accounts.find(v=>v.username===m&&v.password===f);return y||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?t:c;let u=c.username;return t.user={sub:u,data:c.data},t},"BasicAuthInboundPolicy");ca.BasicAuthInboundPolicy=_P});var wg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.CachingInboundPolicy=void 0;var bP=lr(),EP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function wP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(wP,"digestMessage");var vP=o(async(t,e)=>{let r=[...e.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...e.headers??[]],n=[];for(let[d,p]of t.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await wP(JSON.stringify(n)),s=new URL(t.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=e.cacheHttpMethods?.includes(t.method.toUpperCase())&&t.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",t.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":t.method})},"createCacheKeyRequest");async function TP(t,e,r,n){let i=await caches.open(`${(0,bP.getPolicyCacheName)(n)}-${r.cacheId??""}`),s=r?.cacheHttpMethods?.map(u=>u.toUpperCase())??["GET"],a=await vP(t,r),c=await i.match(a);return c||(e.addEventListener("responseSent",u=>{try{let l=r.statusCodes??[200,206,301,302,303,404,410],d=u.response.clone();if(!l.includes(d.status)||!s.includes(t.method.toUpperCase()))return;let p=r?.expirationSecondsTtl??60,m=new Response(d.body,d);EP.forEach(f=>m.headers.delete(f)),m.headers.set("cache-control",`s-maxage=${p}`),e.waitUntil(i.put(a,m))}catch(l){e.log.error(`Error in caching-inbound-policy '${n}': "${l.message}"`,l)}}),t)}o(TP,"CachingInboundPolicy");ua.CachingInboundPolicy=TP});var vg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.ChangeMethodInboundPolicy=void 0;var SP=D(),IP=Yn(),AP=o(async(t,e,r,n)=>{if(!r.method)throw new SP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new IP.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");la.ChangeMethodInboundPolicy=AP});var Tg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.ClearHeadersInboundPolicy=void 0;var PP=ke(),RP=o(async(t,e,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=t.headers.get(a);c&&i.set(a,c)}),new PP.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");da.ClearHeadersInboundPolicy=RP});var Sg=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.ClearHeadersOutboundPolicy=void 0;var OP=o(async(t,e,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=t.headers.get(c);u&&s.set(c,u)}),new Response(t.body,{headers:s,status:t.status,statusText:t.statusText})},"ClearHeadersOutboundPolicy");pa.ClearHeadersOutboundPolicy=OP});var Ig=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.ClerkJwtInboundPolicy=void 0;var xP=Mt(),NP=o(async(t,e,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,xP.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");ha.ClerkJwtInboundPolicy=NP});var Pg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.CognitoJwtInboundPolicy=void 0;var Ag=D(),CP=Mt(),LP=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new Ag.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Ag.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,CP.OpenIdJwtInboundPolicy)(t,e,{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");fa.CognitoJwtInboundPolicy=LP});var Og=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.CompositeInboundPolicy=void 0;var DP=D(),UP=dn(),Rg=Zn(),MP=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new DP.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=UP.Gateway.instance,s=(0,Rg.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Rg.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");ma.CompositeInboundPolicy=MP});var dr=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.optionValidator=void 0;var Ei=D();function kP(t,e){let r=o((s,a,c)=>{let u=t[s];if(!(c&&u===void 0)){if(u===void 0)throw new Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' 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 Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' 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 Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' 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(kP,"optionValidator");ya.optionValidator=kP});var xg=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.FirebaseJwtInboundPolicy=void 0;var FP=dr(),HP=Mt(),qP=o(async(t,e,r,n)=>((0,FP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,HP.OpenIdJwtInboundPolicy)(t,e,{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");ga.FirebaseJwtInboundPolicy=qP});var Ng=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.FormDataToJsonInboundPolicy=void 0;var $P=ke(),jP=o(async(t,e,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=t.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"}):t;let a=await t.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(t.headers);return u.set("content-type","application/json"),u.delete("content-length"),new $P.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");_a.FormDataToJsonInboundPolicy=jP});var Cg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.GeoFilterInboundPolicy=void 0;var VP=D(),GP=ve(),Pn="__unknown__",BP=o(async(t,e,r,n)=>{let i={allow:{countries:On(r.allow?.countries,"allow.countries",n),regionCodes:On(r.allow?.regionCodes,"allow.regionCode",n),asns:On(r.allow?.asns,"allow.asOrganization",n)},block:{countries:On(r.block?.countries,"block.countries",n),regionCodes:On(r.block?.regionCodes,"block.regionCode",n),asns:On(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??Pn,a=e.incomingRequestProperties.regionCode?.toLowerCase()??Pn,c=e.incomingRequestProperties.asn?.toString()??Pn,u=i.ignoreUnknown&&s===Pn,l=i.ignoreUnknown&&a===Pn,d=i.ignoreUnknown&&c===Pn,p=i.allow.countries,m=i.allow.regionCodes,f=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||f.length>0&&!f.includes(c)&&!d)return Rn(t,e,n,s,a,c);let y=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Rn(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");ba.GeoFilterInboundPolicy=BP;function Rn(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),GP.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Rn,"blockedResponse");function On(t,e,r){if(typeof t=="string")return t.split(",").map(n=>n.trim().toLowerCase());if(typeof t>"u")return[];if(Array.isArray(t))return t.map(n=>n.trim().toLowerCase());throw new VP.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(On,"toLowerStringArray")});var Lg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.JWTScopeValidationInboundPolicy=void 0;var KP=o(async(t,e,r)=>{let n=t.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 t},"JWTScopeValidationInboundPolicy");Ea.JWTScopeValidationInboundPolicy=KP});var Ug=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.MockApiInboundPolicy=void 0;var JP=ve(),zP=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return Vd(n,t,e,"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 Vd(n,t,e,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return Dg(a[c])}else return a.length>0?Dg(a[0]):Vd(n,t,e,"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");wa.MockApiInboundPolicy=zP;function Dg(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.append("Content-Type",t.contentName),t.responseName){case"1XX":return new Response(e,{status:100,headers:r});case"2XX":return new Response(e,{status:200,headers:r});case"3XX":return new Response(e,{status:300,headers:r});case"4XX":return new Response(e,{status:400,headers:r});case"5XX":case"default":return new Response(e,{status:500,headers:r});default:return new Response(e,{status:Number(t.responseName),headers:r})}}o(Dg,"generateResponse");var Vd=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return JP.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var qg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.MoesifInboundPolicy=xn.setMoesifContext=void 0;var WP=D(),QP=we(),YP="Incoming",ZP={logRequestBody:!0,logResponseBody:!0};function Mg(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(Mg,"headersToObject");function kg(){return new Date().toISOString()}o(kg,"timestamp");var Gd=new WeakMap,XP={};function eR(t,e){let r=Gd.get(t);r||(r=XP);let n=Object.assign({...r},e);Gd.set(t,n)}o(eR,"setMoesifContext");xn.setMoesifContext=eR;async function Fg(t,e){let r=t.headers.get("content-type"),n=t.clone();if(r&&r.indexOf("json")!==0)try{return await n.json()}catch(s){e.log.error(s)}let i=await n.text();return e.log.debug({textBody:i}),i}o(Fg,"readBody");var tR={},Bd;function Hg(){if(!Bd)throw new WP.RuntimeError("Invalid State - no _lastLogger");return Bd}o(Hg,"getLastLogger");function rR(t){let e=tR[t];return e||(e=new QP.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Hg().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":t},body:n});i.ok||Hg().error({status:i.status,body:await i.text()})})),e}o(rR,"getDispatcher");async function nR(t,e,r,n){Bd=e.log;let i=kg(),s=Object.assign(ZP,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await Fg(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=rR(s.applicationId),d=t.headers.get("true-client-ip"),p=Gd.get(e)??{},m={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Mg(t.headers)},f=s.logResponseBody?await Fg(c,e):void 0,y={time:kg(),status:c.status,headers:Mg(c.headers),body:f},v={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:YP};l.enqueue(v),e.waitUntil(l.waitUntilFlushed())}),t}o(nR,"MoesifInboundPolicy");xn.MoesifInboundPolicy=nR});var $g=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.OktaJwtInboundPolicy=void 0;var iR=Mt(),oR=o(async(t,e,r,n)=>(0,iR.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");va.OktaJwtInboundPolicy=oR});var jg=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.PropelAuthJwtInboundPolicy=void 0;var sR=(ys(),Ji(ms)),aR=Mt(),Kd,cR=o(async(t,e,r,n)=>{if(!Kd)try{Kd=await(0,sR.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,aR.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:Kd,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ta.PropelAuthJwtInboundPolicy=cR});var Vg=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 $e=Jr(),tt=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};G.ValidationError=tt;var wi=class extends tt{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};G.ArgumentUndefinedError=wi;var vi=class extends tt{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};G.ArgumentTypeError=vi;function uR(t,e){if((0,$e.isUndefined)(t))throw new wi(e)}o(uR,"throwIfUndefined");G.throwIfUndefined=uR;function Jd(t,e){if((0,$e.isUndefinedOrNull)(t))throw new wi(e)}o(Jd,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Jd;function lR(t,e){if(Jd(t,e),!(0,$e.isString)(t))throw new vi(e,"string")}o(lR,"throwIfNotString");G.throwIfNotString=lR;function dR(t,e){if(Jd(t,e),!(0,$e.isNumber)(t))throw new vi(e,"number")}o(dR,"throwIfNotNumber");G.throwIfNotNumber=dR;var Ti=class extends tt{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};G.OptionUndefinedError=Ti;var Nn=class extends tt{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=Nn;function pR(t,e,r,n){if((0,$e.isUndefined)(n))throw new Ti(t,e,r)}o(pR,"throwIfOptionUndefined");G.throwIfOptionUndefined=pR;function Sa(t,e,r,n){if((0,$e.isUndefinedOrNull)(n))throw new Ti(t,e,r)}o(Sa,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Sa;function hR(t,e,r,n){if(Sa(t,e,r,n),!(0,$e.isString)(n))throw new Nn(t,e,r,"string")}o(hR,"throwIfOptionNotString");G.throwIfOptionNotString=hR;function fR(t,e,r,n){if(Sa(t,e,r,n),!(0,$e.isNumber)(n))throw new Nn(t,e,r,"number")}o(fR,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=fR;function mR(t,e,r,n){if(Sa(t,e,r,n),!(0,$e.isObject)(n))throw new Nn(t,e,r,"object")}o(mR,"throwIfOptionNotObject");G.throwIfOptionNotObject=mR;function yR(t,e){if((0,$e.isUndefined)(t))throw new tt(e)}o(yR,"throwIfStateUndefined");G.throwIfStateUndefined=yR;function Ia(t,e){if((0,$e.isUndefinedOrNull)(t))throw new tt(e)}o(Ia,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Ia;function gR(t,e){if(Ia(t,e),!(0,$e.isString)(t))throw new tt(e);return!0}o(gR,"throwIfStateNotString");G.throwIfStateNotString=gR;function _R(t,e){if(Ia(t,e),!(0,$e.isNumber)(t))throw new tt(e);return!0}o(_R,"throwIfStateNotNumber");G.throwIfStateNotNumber=_R;function bR(t,e){if(Ia(t,e),!(0,$e.isObject)(t))throw new tt(e);return!0}o(bR,"throwIfStateNotObject");G.throwIfStateNotObject=bR});var Gg=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.InMemoryRedisClient=Cn.StandardRedisClient=void 0;var zd=D(),Aa=Vg(),Wd=class t{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(e,r,n,i){this.redisClientUrl=e,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(e,r,n,i){return(0,Aa.throwIfNotString)(e,"redisClientUrl"),(0,Aa.throwIfNotString)(r,"clientAuthToken"),t.instance||(t.instance=new t(e,r,n,i)),t.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:e,body:r,method:n,requestId:i}){(0,Aa.throwIfNotString)(e,"url");let s=await fetch(`${this.redisClientUrl}${e}`,{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 zd.SystemError("Redis client failed with 401: Unauthorized"):new zd.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Cn.StandardRedisClient=Wd;var Qd=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,Aa.throwIfNotString)(e,"url"),n==="POST"&&e==="/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 zd.SystemError("The in-memory redis client only supports /rate-limit calls")}};Cn.InMemoryRedisClient=Qd});var Wg=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.RateLimitInboundPolicy=void 0;var ER=wr(),wR=ke(),vR=lr(),kt=D(),TR=ve(),Bg=Ge(),Si=te(),Kg=Gg(),Jg=Jr(),Pa=(0,ER.debug)("zuplo:policies:RateLimitInboundPolicy"),SR="strict",IR=o(t=>{let e=t.headers.get("cf-connecting-ip")??t.headers.get("true-client-ip");if(e)return e;let r=t.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),AR=o(async t=>({key:`ip-${IR(t)}`}),"getIP"),PR=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),RR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ra;function OR(t,e){let r;if(Ra)return Ra;if(Si.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new Kg.InMemoryRedisClient,Ra=r,r;let{authApiJWT:n,redisURL:i}=Si.Environment.instance;if(!(0,Jg.isString)(i))throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,Jg.isString)(n))throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=Kg.StandardRedisClient.initialize(i,n,Si.Environment.instance.deploymentName??"unknown",Si.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ra=r,r}o(OR,"getRedisClient");async function zg(t,e,r,n,i){let s=Math.floor(e*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:t}),requestId:i})}o(zg,"getCountAndUpdateExpiry");function xR(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=t.identifier.module[t.identifier.export],!r||typeof r!="function")throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - 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 kt.RuntimeError(u)}return c},"outerFunction")}o(xR,"wrapUserFunction");var NR="Retry-After",CR=o(async(t,e,r,n)=>{let i=Date.now(),s=Bg.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new kt.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[NR]=l.toString()),TR.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:xR(r,n),user:PR,ip:AR,all:RR}[r.rateLimitBy],d=await l(t,e,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,f=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",v=OR(n,s),S=`bucket/${Si.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??SR)==="async"){let R=new wR.ZoneCache((0,vR.getPolicyCacheName)(n),{logger:Bg.SystemLogMap.getLogger(e)}),ne=zg(S,f,v,s,e.requestId),Y=await R.get(S);if(Y!==void 0&&Y<=Date.now()){Pa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let fe=Math.round((Y-Date.now())/1e3);return c(y,fe)}return e.addEventListener("responseSending",fe=>{try{let Me=fe,E=Me.mutableResponse;Me.mutableResponse=(async()=>{let F=await ne;if(F.count>m){let Ye=Date.now()+F.ttlSeconds*1e3;return R.put(S,Ye,F.ttlSeconds).catch(Bi=>{throw s.error(Bi),Bi}),Pa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(y,F.ttlSeconds)}return E})()}catch(Me){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,Me)}}),t}let H=await zg(S,f,v,s,e.requestId);return H.count>m?(Pa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(y,H.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Pa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Oa.RateLimitInboundPolicy=CR});var Xg=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.ReadmeMetricsInboundPolicy=void 0;var LR=we(),Yd=te(),Qg=ia(),Zd;function Yg(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(Yg,"headersToNameValuePairs");function DR(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(DR,"queryToNameValueParis");function UR(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(UR,"parseIntOrUndefined");var Zg={};async function MR(t,e,r,n){let i=new Date,s=Date.now();return Zd||(Zd={name:"zuplo",version:Yd.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Yd.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,Qg.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,Qg.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Yd.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:Zd,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:t.method,url:r.useFullRequestPath?new URL(t.url).pathname:e.route.path,httpVersion:"2",headers:Yg(t.headers),queryString:DR(t.query)},response:{status:a.status,statusText:a.statusText,headers:Yg(a.headers),content:{size:UR(t.headers.get("content-length"))}}}]}}},d=Zg[r.apiKey];if(!d){let p=r.apiKey;d=new LR.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let f=r.url??"https://metrics.readme.io/request",y=await fetch(f,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(f){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${f.message}'`),f}}),Zg[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(MR,"ReadmeMetricsInboundPolicy");xa.ReadmeMetricsInboundPolicy=MR});var e_=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.RemoveHeadersInboundPolicy=void 0;var kR=ke(),FR=D(),HR=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new FR.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(t.headers);return i.forEach(c=>{s.delete(c)}),new kR.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Na.RemoveHeadersInboundPolicy=HR});var t_=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RemoveHeadersOutboundPolicy=void 0;var qR=D(),$R=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new qR.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(t.headers);return s.forEach(u=>{a.delete(u)}),new Response(t.body,{headers:a,status:t.status,statusText:t.statusText})},"RemoveHeadersOutboundPolicy");Ca.RemoveHeadersOutboundPolicy=$R});var r_=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.RemoveQueryParamsInboundPolicy=void 0;var jR=ke(),VR=D(),GR=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new VR.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(t.url);return i.forEach(c=>{s.searchParams.delete(c)}),new jR.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");La.RemoveQueryParamsInboundPolicy=GR});var n_=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ReplaceStringOutboundPolicy=void 0;var BR=o(async(t,e,r,n)=>{let i=await t.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:t.headers,status:t.status,statusText:t.statusText})},"ReplaceStringOutboundPolicy");Da.ReplaceStringOutboundPolicy=BR});var o_=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.RequestSizeLimitInboundPolicy=void 0;var i_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),KR=o(async(t,e,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(t.method))return t;let i=t.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?i_():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?i_():t},"RequestSizeLimitInboundPolicy");Ua.RequestSizeLimitInboundPolicy=KR});var Ma=g(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.sanitizedIdentifierName=rt.getIdForRefSchema=rt.getIdForRequestBodySchema=rt.getIdForParameterSchema=rt.getRawOperationDataIdentifierName=void 0;function JR(t,e,r){return`_${Lr(t+"_"+e+"_"+r)}`}o(JR,"getRawOperationDataIdentifierName");rt.getRawOperationDataIdentifierName=JR;function zR(t,e,r,n){return`_${Lr(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(zR,"getIdForParameterSchema");rt.getIdForParameterSchema=zR;function WR(t,e,r){return`_${Lr(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${Lr(r.toLowerCase())}`}o(WR,"getIdForRequestBodySchema");rt.getIdForRequestBodySchema=WR;function QR(t,e){return`_${Lr(t)}__${Lr(e)}`}o(QR,"getIdForRefSchema");rt.getIdForRefSchema=QR;function Lr(t){let e=[];for(let r=0;r<t.length;r++){let n=t.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)?e.push(t.charAt(r)):e.push("_")}return e.join("")}o(Lr,"sanitizedIdentifierName");rt.sanitizedIdentifierName=Lr});var Ii=g(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.getErrorsFromValidator=Ce.shouldReject=Ce.shouldLog=Ce.logErrors=Ce.validateParameters=Ce.getParametersForOperation=void 0;var YR=dn(),ka=Dr(),ZR=Ma(),XR=o(t=>{let e=t.route.raw();return e.parameters?e.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Ce.getParametersForOperation=XR;var eO=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{if(u.required&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,ZR.getIdForParameterSchema)(r,n,i,u.name),d=YR.Gateway.instance.schemaValidator[l],p=d(e[u.name]),m=(0,Ce.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${m.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Ce.validateParameters=eO;var tO=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");Ce.logErrors=tO;var rO=o(t=>t===ka.ValidationOptions.logOnly||t===ka.ValidationOptions.rejectAndLog,"shouldLog");Ce.shouldLog=rO;var nO=o(t=>t===ka.ValidationOptions.rejectOnly||t===ka.ValidationOptions.rejectAndLog,"shouldReject");Ce.shouldReject=nO;var iO=o(t=>t?.map(e=>e.instancePath===void 0||e.instancePath===""?e.message??"Unknown validation error":e.instancePath.replace("/","")+" "+e.message)??["Unknown validation error"],"getErrorsFromValidator");Ce.getErrorsFromValidator=iO});var s_=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.handleBodyValidation=void 0;var oO=dn(),sO=Dr(),Fa=ve(),aO=Ma(),Ke=Ii();async function cO(t,e,r){if(!r.validateBody||r.validateBody===sO.ValidationOptions.none)return;let n;try{n=await e.clone().json()}catch(f){let y=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,v=Fa.HttpProblems.badRequest(e,t,{detail:`${y}, see errors property for more details`,errors:`${f}`});if((0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",y,[n],f),(0,Ke.shouldReject)(r.validateBody))return v}if(!e.headers.get("Content-Type")){let f=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,y=Fa.HttpProblems.badRequest(e,t,{detail:f});return(0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",f,[n],[f]),(0,Ke.shouldReject)(r.validateBody)?y:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,aO.getIdForRequestBodySchema)(t.route.path,e.method,i),c=oO.Gateway.instance.schemaValidator[a];if(!c){let f=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,y=Fa.HttpProblems.badRequest(e,t,{detail:f});return(0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",f,[n],[f]),(0,Ke.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Ke.getErrorsFromValidator)(l),m=Fa.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",d,[n],p),(0,Ke.shouldReject)(r.validateBody))return m}o(cO,"handleBodyValidation");Ha.handleBodyValidation=cO});var a_=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.handleHeadersValidation=void 0;var uO=Dr(),lO=ve(),Ai=Ii();function dO(t,e,r){if(!r.validateHeaders||r.validateHeaders===uO.ValidationOptions.none)return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ai.getParametersForOperation)(t),s=(0,Ai.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=lO.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ai.shouldLog)(r.validateHeaders)&&(0,Ai.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ai.shouldReject)(r.validateHeaders))return c}}o(dO,"handleHeadersValidation");qa.handleHeadersValidation=dO});var c_=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.handlePathParameterValidation=void 0;var pO=Dr(),hO=ve(),Pi=Ii();function fO(t,e,r){if(!r.validatePathParameters||r.validatePathParameters===pO.ValidationOptions.none)return;let n=(0,Pi.getParametersForOperation)(t),i=(0,Pi.validateParameters)(n.filter(s=>s.location==="path"),e.params,t.route.path,e.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=hO.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Pi.shouldLog)(r.validatePathParameters)&&(0,Pi.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Pi.shouldReject)(r.validatePathParameters))return a}}o(fO,"handlePathParameterValidation");$a.handlePathParameterValidation=fO});var u_=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.handleQueryParameterValidation=void 0;var mO=Dr(),yO=ve(),Ri=Ii();function gO(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters===mO.ValidationOptions.none)return;let n=(0,Ri.getParametersForOperation)(t),i=(0,Ri.validateParameters)(n.filter(s=>s.location==="query"),e.query,t.route.path,e.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=yO.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ri.shouldLog)(r.validateQueryParameters)&&(0,Ri.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ri.shouldReject)(r.validateQueryParameters))return a}}o(gO,"handleQueryParameterValidation");ja.handleQueryParameterValidation=gO});var Dr=g(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.SchemaBasedRequestValidation=Ft.RequestValidationInboundPolicy=Ft.ValidationOptions=void 0;var _O=s_(),bO=a_(),EO=c_(),wO=u_(),l_;(function(t){t.none="none",t.logOnly="log-only",t.rejectAndLog="reject-and-log",t.rejectOnly="reject-only"})(l_||(Ft.ValidationOptions=l_={}));var vO=o(async(t,e,r)=>{let n=(0,wO.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,EO.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,bO.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,_O.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");Ft.RequestValidationInboundPolicy=vO;Ft.SchemaBasedRequestValidation=Ft.RequestValidationInboundPolicy});var d_=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.RequireOriginInboundPolicy=void 0;var TO=ke(),SO=D(),IO=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new SO.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=t.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return TO.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");Va.RequireOriginInboundPolicy=IO});var p_=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.SetBodyInboundPolicy=void 0;var AO=ke(),PO=o(async(t,e,r)=>new AO.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");Ga.SetBodyInboundPolicy=PO});var f_=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.SetHeadersInboundPolicy=void 0;var RO=ke(),h_=D(),OO=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new h_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(t.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new h_.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 RO.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");Ba.SetHeadersInboundPolicy=OO});var y_=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SetHeadersOutboundPolicy=void 0;var m_=D(),xO=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new m_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(t.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new m_.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(t.body,{headers:a,status:t.status,statusText:t.statusText})},"SetHeadersOutboundPolicy");Ka.SetHeadersOutboundPolicy=xO});var __=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SetQueryParamsInboundPolicy=void 0;var NO=ke(),g_=D(),CO=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new g_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(t.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new g_.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 NO.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Ja.SetQueryParamsInboundPolicy=CO});var b_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.SetStatusOutboundPolicy=void 0;var LO=o(async(t,e,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(t.body,{headers:t.headers,status:n.status,statusText:n.statusText??t.statusText})},"SetStatusOutboundPolicy");za.SetStatusOutboundPolicy=LO});var E_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.SleepInboundPolicy=void 0;var DO=D(),UO=o(async t=>new Promise((r,n)=>{setTimeout(r,t)}),"sleep"),MO=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new DO.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await UO(r.sleepInMs),t},"SleepInboundPolicy");Wa.SleepInboundPolicy=MO});var v_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.SupabaseJwtInboundPolicy=void 0;var kO=ke(),w_=D(),FO=ve(),HO=dr(),qO=Mt(),$O=o(async(t,e,r,n)=>{(0,HO.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,qO.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof kO.ZuploRequest))throw new w_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=t.user?.data.app_metadata;if(!c)throw new w_.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?FO.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Qa.SupabaseJwtInboundPolicy=$O});var S_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var jO=lr(),VO=br(),T_=D(),GO=Ge(),BO=_s(),KO=dr(),JO=o(async(t,e,r,n)=>{(0,KO.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=new VO.MemoryZoneReadThroughCache((0,jO.getPolicyCacheName)(n),{logger:GO.SystemLogMap.getLogger(e)}),s=await i.get(n);if(!s){let a=await zO(r,e);i.put(n,a.access_token,a.expires_in-(r.expirationOffsetSeconds??300)),s=a.access_token}return t.headers.set("Authorization",`Bearer ${s}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");Ya.UpstreamAzureAdServiceAuthInboundPolicy=JO;async function zO(t,e){let r=new URLSearchParams({client_id:t.activeDirectoryClientId,scope:`${t.activeDirectoryClientId}/.default`,client_secret:t.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,BO.fetchRetry)({retries:t.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${t.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();e.log.error("Could not get token from Azure AD",s)}catch{}throw new T_.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 T_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(zO,"getAccessToken")});var A_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var WO=lr(),QO=br(),YO=D(),ZO=Ge(),Xd=cn(),XO=dr(),I_="https://accounts.google.com/o/oauth2/token",ep,e0=o(async(t,e,r,n)=>{(0,XO.optionValidator)(r,n).required("serviceAccountJson","string"),ep||(ep=await Xd.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=new QO.MemoryZoneReadThroughCache((0,WO.getPolicyCacheName)(n),{logger:ZO.SystemLogMap.getLogger(e)}),a=await s.get(n);if(!a){let c=await(0,Xd.getTokenFromGcpServiceAccount)({serviceAccount:ep,audience:I_,payload:i}),u=await(0,Xd.exchangeGgpJwtForIdToken)(I_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u.access_token)throw new YO.RuntimeError("Invalid OAuth response from Firebase");a=u.access_token,s.put(n,a,(u.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");Za.UpstreamFirebaseAdminAuthInboundPolicy=e0});var P_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.sha256=void 0;async function t0(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest({name:"SHA-256"},e);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(t0,"sha256");Xa.sha256=t0});var R_=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.UpstreamFirebaseUserAuthInboundPolicy=void 0;var r0=lr(),n0=br(),Ln=D(),i0=Ge(),o0=P_(),tp=cn(),s0=ia(),a0=dr(),c0="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",u0=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],rp,l0=o(async(t,e,r,n)=>{if((0,a0.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Ln.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let d in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,d)){if(u0.indexOf(d)!==-1)throw new Ln.ConfigurationError(`Developer claim "${d}" is reserved and cannot be specified.`);i[d]=r.developerClaims[d]}}rp||(rp=await tp.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new Ln.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=t.user?.sub}else if(r.userIdPropertyPath){if(!t.user)throw new Ln.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,s0.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Ln.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=new n0.MemoryZoneReadThroughCache((0,r0.getPolicyCacheName)(n),{logger:i0.SystemLogMap.getLogger(e)}),c={uid:s,claims:i},u=await(0,o0.sha256)(JSON.stringify(c)),l=await a.get(u);if(!l){let d=await(0,tp.getTokenFromGcpServiceAccount)({serviceAccount:rp,audience:c0,payload:c}),p=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,m=await(0,tp.exchangeFirebaseJwtForIdToken)(p,d,{retries:r.tokenRetries??3,retryDelayMs:10});if(!m.idToken)throw new Ln.RuntimeError("Invalid token response from Firebase");l=m.idToken,a.put(u,l,(m.expiresIn?parseInt(m.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${l}`),t},"UpstreamFirebaseUserAuthInboundPolicy");ec.UpstreamFirebaseUserAuthInboundPolicy=l0});var x_=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.UpstreamGcpJwtInboundPolicy=void 0;var O_=cn(),d0=dr(),np,p0=o(async(t,e,r,n)=>{(0,d0.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),np||(np=await O_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,O_.getTokenFromGcpServiceAccount)({serviceAccount:np,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");tc.UpstreamGcpJwtInboundPolicy=p0});var L_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.UpstreamGcpServiceAuthInboundPolicy=void 0;var N_=lr(),h0=Wc(),f0=br(),m0=D(),ip=cn(),y0=dr(),C_="https://www.googleapis.com/oauth2/v4/token",op,g0=o(async(t,e,r,n)=>{(0,y0.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),op||(op=await ip.GcpServiceAccount.init(r.serviceAccountJson));let i;r.useMemoryCacheOnly?i=new h0.MemoryCache((0,N_.getPolicyCacheName)(n)):i=new f0.MemoryZoneReadThroughCache((0,N_.getPolicyCacheName)(n),e);let s=await i.get(n);if(!s){let a=await(0,ip.getTokenFromGcpServiceAccount)({serviceAccount:op,audience:C_,payload:{target_audience:`${r.audience}`}}),{id_token:c}=await(0,ip.exchangeGgpJwtForIdToken)(C_,a,{retries:r.tokenRetries??3,retryDelayMs:10});if(!c)throw new m0.RuntimeError("Invalid token response from GCP");s=c,i.put(n,s,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${s}`),t},"UpstreamGcpServiceAuthInboundPolicy");rc.UpstreamGcpServiceAuthInboundPolicy=g0});var U_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.ValidateJsonSchemaInbound=void 0;var _0=D(),D_=ve(),b0=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return D_.HttpProblems.badRequest(t,e,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return t;let{errors:a}=r.validator;if(!a)throw new _0.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 D_.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");nc.ValidateJsonSchemaInbound=b0});var M_=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.serialize=pr.ContentTypes=void 0;pr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function E0(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(pr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(pr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(E0,"serialize");pr.serialize=E0});var k_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.ServiceProviderImpl=void 0;var w0=D(),sp=class t{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return t.#e||(t.#e=new t),t.#e}setInstance(e){t.#e=e}addService(e,r){if(this.services.get(e))throw new w0.SystemError(`A service with the name ${e} already exists -- you cannot have duplicate services`);this.services.set(e,r)}getService(e){return this.services.get(e)}};ic.ServiceProviderImpl=sp});var F_=g(ap=>{"use strict";Object.defineProperty(ap,"__esModule",{value:!0});var v0={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"};ap.default=v0});var ke=g(h=>{"use strict";var T0=h&&h.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),H_=h&&h.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&T0(e,t,r)},S0=h&&h.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(h,"__esModule",{value:!0});h.ReadmeMetricsInboundPolicy=h.RateLimitInboundPolicy=h.BasicRateLimitInboundPolicy=h.PropelAuthJwtInboundPolicy=h.OpenIdJwtInboundPolicy=h.OktaJwtInboundPolicy=h.setMoesifContext=h.MoesifInboundPolicy=h.MockApiInboundPolicy=h.JWTScopeValidationInboundPolicy=h.GeoFilterInboundPolicy=h.FormDataToJsonInboundPolicy=h.FirebaseJwtInboundPolicy=h.CompositeInboundPolicy=h.CognitoJwtInboundPolicy=h.ClerkJwtInboundPolicy=h.ClearHeadersOutboundPolicy=h.ClearHeadersInboundPolicy=h.ChangeMethodInboundPolicy=h.CachingInboundPolicy=h.BasicAuthInboundPolicy=h.Auth0JwtInboundPolicy=h.ApiKeyInboundPolicy=h.ApiAuthKeyInboundPolicy=h.AmberfloMeteringPolicy=h.AmberfloMeteringInboundPolicy=h.AuditLogPlugin=h.AuditLogDataStaxProvider=h.HttpStatusCode=h.webSocketPipelineHandler=h.webSocketHandler=h.urlRewriteHandler=h.urlForwardHandler=h.redirectHandler=h.openApiSpecHandler=h.awsLambdaHandler=h.AwsLambdaHandlerExtensions=h.purgeGatewayCache=h.Handler=h.originalFetch=h.ConfigurationError=h.isZuploReadableEnvVariableName=h.isRestrictedEnvVariableName=h.environment=h.ContextData=h.ResponseSentEvent=h.ResponseSendingEvent=h.VALID_COMPATIBILITY_DATES=h.ZoneCache=h.MemoryZoneReadThroughCache=void 0;h.sanitizedIdentifierName=h.getRawOperationDataIdentifierName=h.getIdForRequestBodySchema=h.getIdForRefSchema=h.getIdForParameterSchema=h.SystemLogMap=h.httpStatuses=h.SYSTEM_LOGGER=h.API_KEY=h.ServiceProviderImpl=h.serialize=h.ContentTypes=h.Router=h.LookupResult=h.SystemRouteName=h.ZuploRequest=h.ProblemResponseFormatter=h.HttpProblems=h.ValidateJsonSchemaInbound=h.UpstreamGcpServiceAuthInboundPolicy=h.UpstreamGcpJwtInboundPolicy=h.UpstreamFirebaseUserAuthInboundPolicy=h.UpstreamFirebaseAdminAuthInboundPolicy=h.UpstreamAzureAdServiceAuthInboundPolicy=h.SupabaseJwtInboundPolicy=h.SleepInboundPolicy=h.SetStatusOutboundPolicy=h.SetQueryParamsInboundPolicy=h.SetHeadersOutboundPolicy=h.SetHeadersInboundPolicy=h.SetBodyInboundPolicy=h.RequireOriginInboundPolicy=h.SchemaBasedRequestValidation=h.RequestValidationInboundPolicy=h.RequestSizeLimitInboundPolicy=h.ReplaceStringOutboundPolicy=h.RemoveQueryParamsInboundPolicy=h.RemoveHeadersOutboundPolicy=h.RemoveHeadersInboundPolicy=void 0;jp();var I0=br();Object.defineProperty(h,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return I0.MemoryZoneReadThroughCache}});var A0=Zc();Object.defineProperty(h,"ZoneCache",{enumerable:!0,get:function(){return A0.ZoneCache}});var P0=Gp();Object.defineProperty(h,"VALID_COMPATIBILITY_DATES",{enumerable:!0,get:function(){return P0.VALID_COMPATIBILITY_DATES}});var q_=vr();Object.defineProperty(h,"ResponseSendingEvent",{enumerable:!0,get:function(){return q_.ResponseSendingEvent}});Object.defineProperty(h,"ResponseSentEvent",{enumerable:!0,get:function(){return q_.ResponseSentEvent}});var R0=cy();Object.defineProperty(h,"ContextData",{enumerable:!0,get:function(){return R0.ContextData}});var cp=nd();Object.defineProperty(h,"environment",{enumerable:!0,get:function(){return cp.environment}});Object.defineProperty(h,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return cp.isRestrictedEnvVariableName}});Object.defineProperty(h,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return cp.isZuploReadableEnvVariableName}});var O0=D();Object.defineProperty(h,"ConfigurationError",{enumerable:!0,get:function(){return O0.ConfigurationError}});var x0=id();Object.defineProperty(h,"originalFetch",{enumerable:!0,get:function(){return x0.originalFetch}});var $_=gy();Object.defineProperty(h,"Handler",{enumerable:!0,get:function(){return $_.Handler}});Object.defineProperty(h,"purgeGatewayCache",{enumerable:!0,get:function(){return $_.purgeGatewayCache}});var j_=Dy();Object.defineProperty(h,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return j_.AwsLambdaHandlerExtensions}});Object.defineProperty(h,"awsLambdaHandler",{enumerable:!0,get:function(){return j_.awsLambdaHandler}});var N0=My();Object.defineProperty(h,"openApiSpecHandler",{enumerable:!0,get:function(){return N0.openApiSpecHandler}});var C0=ky();Object.defineProperty(h,"redirectHandler",{enumerable:!0,get:function(){return C0.redirectHandler}});var L0=Hy();Object.defineProperty(h,"urlForwardHandler",{enumerable:!0,get:function(){return L0.urlForwardHandler}});var D0=$y();Object.defineProperty(h,"urlRewriteHandler",{enumerable:!0,get:function(){return D0.urlRewriteHandler}});var U0=Vy();Object.defineProperty(h,"webSocketHandler",{enumerable:!0,get:function(){return U0.webSocketHandler}});var M0=Jy();Object.defineProperty(h,"webSocketPipelineHandler",{enumerable:!0,get:function(){return M0.webSocketPipelineHandler}});var k0=gu();Object.defineProperty(h,"HttpStatusCode",{enumerable:!0,get:function(){return k0.HttpStatusCode}});H_(tg(),h);H_(ig(),h);var F0=og();Object.defineProperty(h,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return F0.AuditLogDataStaxProvider}});var H0=ag();Object.defineProperty(h,"AuditLogPlugin",{enumerable:!0,get:function(){return H0.AuditLogPlugin}});var V_=fg();Object.defineProperty(h,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return V_.AmberfloMeteringInboundPolicy}});Object.defineProperty(h,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return V_.AmberfloMeteringPolicy}});var G_=_g();Object.defineProperty(h,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return G_.ApiAuthKeyInboundPolicy}});Object.defineProperty(h,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return G_.ApiKeyInboundPolicy}});var q0=bg();Object.defineProperty(h,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return q0.Auth0JwtInboundPolicy}});var $0=Eg();Object.defineProperty(h,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return $0.BasicAuthInboundPolicy}});var j0=wg();Object.defineProperty(h,"CachingInboundPolicy",{enumerable:!0,get:function(){return j0.CachingInboundPolicy}});var V0=vg();Object.defineProperty(h,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return V0.ChangeMethodInboundPolicy}});var G0=Tg();Object.defineProperty(h,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return G0.ClearHeadersInboundPolicy}});var B0=Sg();Object.defineProperty(h,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return B0.ClearHeadersOutboundPolicy}});var K0=Ig();Object.defineProperty(h,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return K0.ClerkJwtInboundPolicy}});var J0=Pg();Object.defineProperty(h,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return J0.CognitoJwtInboundPolicy}});var z0=Og();Object.defineProperty(h,"CompositeInboundPolicy",{enumerable:!0,get:function(){return z0.CompositeInboundPolicy}});var W0=xg();Object.defineProperty(h,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return W0.FirebaseJwtInboundPolicy}});var Q0=Ng();Object.defineProperty(h,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Q0.FormDataToJsonInboundPolicy}});var Y0=Cg();Object.defineProperty(h,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Y0.GeoFilterInboundPolicy}});var Z0=Lg();Object.defineProperty(h,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Z0.JWTScopeValidationInboundPolicy}});var X0=Ug();Object.defineProperty(h,"MockApiInboundPolicy",{enumerable:!0,get:function(){return X0.MockApiInboundPolicy}});var B_=qg();Object.defineProperty(h,"MoesifInboundPolicy",{enumerable:!0,get:function(){return B_.MoesifInboundPolicy}});Object.defineProperty(h,"setMoesifContext",{enumerable:!0,get:function(){return B_.setMoesifContext}});var ex=$g();Object.defineProperty(h,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return ex.OktaJwtInboundPolicy}});var tx=Mt();Object.defineProperty(h,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return tx.OpenIdJwtInboundPolicy}});var rx=jg();Object.defineProperty(h,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return rx.PropelAuthJwtInboundPolicy}});var K_=Wg();Object.defineProperty(h,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return K_.RateLimitInboundPolicy}});Object.defineProperty(h,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return K_.RateLimitInboundPolicy}});var nx=Xg();Object.defineProperty(h,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return nx.ReadmeMetricsInboundPolicy}});var ix=e_();Object.defineProperty(h,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return ix.RemoveHeadersInboundPolicy}});var ox=t_();Object.defineProperty(h,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return ox.RemoveHeadersOutboundPolicy}});var sx=r_();Object.defineProperty(h,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return sx.RemoveQueryParamsInboundPolicy}});var ax=n_();Object.defineProperty(h,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return ax.ReplaceStringOutboundPolicy}});var cx=o_();Object.defineProperty(h,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return cx.RequestSizeLimitInboundPolicy}});var J_=Dr();Object.defineProperty(h,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return J_.RequestValidationInboundPolicy}});Object.defineProperty(h,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return J_.SchemaBasedRequestValidation}});var ux=d_();Object.defineProperty(h,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return ux.RequireOriginInboundPolicy}});var lx=p_();Object.defineProperty(h,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return lx.SetBodyInboundPolicy}});var dx=f_();Object.defineProperty(h,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return dx.SetHeadersInboundPolicy}});var px=y_();Object.defineProperty(h,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return px.SetHeadersOutboundPolicy}});var hx=__();Object.defineProperty(h,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return hx.SetQueryParamsInboundPolicy}});var fx=b_();Object.defineProperty(h,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return fx.SetStatusOutboundPolicy}});var mx=E_();Object.defineProperty(h,"SleepInboundPolicy",{enumerable:!0,get:function(){return mx.SleepInboundPolicy}});var yx=v_();Object.defineProperty(h,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return yx.SupabaseJwtInboundPolicy}});var gx=S_();Object.defineProperty(h,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return gx.UpstreamAzureAdServiceAuthInboundPolicy}});var _x=A_();Object.defineProperty(h,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return _x.UpstreamFirebaseAdminAuthInboundPolicy}});var bx=R_();Object.defineProperty(h,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return bx.UpstreamFirebaseUserAuthInboundPolicy}});var Ex=x_();Object.defineProperty(h,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return Ex.UpstreamGcpJwtInboundPolicy}});var wx=L_();Object.defineProperty(h,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return wx.UpstreamGcpServiceAuthInboundPolicy}});var vx=U_();Object.defineProperty(h,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return vx.ValidateJsonSchemaInbound}});var Tx=ve();Object.defineProperty(h,"HttpProblems",{enumerable:!0,get:function(){return Tx.HttpProblems}});var Sx=ao();Object.defineProperty(h,"ProblemResponseFormatter",{enumerable:!0,get:function(){return Sx.ProblemResponseFormatter}});var Ix=Yn();Object.defineProperty(h,"ZuploRequest",{enumerable:!0,get:function(){return Ix.ZuploRequest}});var Ax=Ir();Object.defineProperty(h,"SystemRouteName",{enumerable:!0,get:function(){return Ax.SystemRouteName}});var z_=zl();Object.defineProperty(h,"LookupResult",{enumerable:!0,get:function(){return z_.LookupResult}});Object.defineProperty(h,"Router",{enumerable:!0,get:function(){return z_.Router}});var W_=M_();Object.defineProperty(h,"ContentTypes",{enumerable:!0,get:function(){return W_.ContentTypes}});Object.defineProperty(h,"serialize",{enumerable:!0,get:function(){return W_.serialize}});var Px=k_();Object.defineProperty(h,"ServiceProviderImpl",{enumerable:!0,get:function(){return Px.ServiceProviderImpl}});var Q_=Pu();Object.defineProperty(h,"API_KEY",{enumerable:!0,get:function(){return Q_.API_KEY}});Object.defineProperty(h,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return Q_.SYSTEM_LOGGER}});var Rx=F_();Object.defineProperty(h,"httpStatuses",{enumerable:!0,get:function(){return S0(Rx).default}});var Ox=Ge();Object.defineProperty(h,"SystemLogMap",{enumerable:!0,get:function(){return Ox.SystemLogMap}});var Oi=Ma();Object.defineProperty(h,"getIdForParameterSchema",{enumerable:!0,get:function(){return Oi.getIdForParameterSchema}});Object.defineProperty(h,"getIdForRefSchema",{enumerable:!0,get:function(){return Oi.getIdForRefSchema}});Object.defineProperty(h,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Oi.getIdForRequestBodySchema}});Object.defineProperty(h,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Oi.getRawOperationDataIdentifierName}});Object.defineProperty(h,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Oi.sanitizedIdentifierName}})});var Y_=g(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.BaseCryptoBeta=Dn.supportedDigests=void 0;Dn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var up=class{static{o(this,"BaseCryptoBeta")}};Dn.BaseCryptoBeta=up});var Z_=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.WorkerCryptoBeta=void 0;var lp=Y_(),xx=D(),dp=class extends lp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!lp.supportedDigests.includes(e.toLowerCase()))throw new xx.RuntimeError(`Algorithm ${e} is not supported. Try using ${lp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(e,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};oc.WorkerCryptoBeta=dp});var X_=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.BaseKeyValueStore=void 0;var pp=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};sc.BaseKeyValueStore=pp});var tb=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.WorkerKeyValueStore=void 0;var eb=D(),Nx=X_(),hp=class extends Nx.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new eb.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(e,r,n){if(typeof e!="string")throw new eb.ConfigurationError("value must be of type string");return this.#e.put(e,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(e,r){return this.#e.get(e,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(e){return this.#e.delete(e)}};ac.WorkerKeyValueStore=hp});var xt=g(ut=>{"use strict";var Cx=ut&&ut.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Lx=ut&&ut.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Cx(e,t,r)};Object.defineProperty(ut,"__esModule",{value:!0});ut.KeyValueStore=ut.CryptoBeta=void 0;Lx(ke(),ut);var Dx=Z_();Object.defineProperty(ut,"CryptoBeta",{enumerable:!0,get:function(){return Dx.WorkerCryptoBeta}});var Ux=tb();Object.defineProperty(ut,"KeyValueStore",{enumerable:!0,get:function(){return Ux.WorkerKeyValueStore}})});var jN={};Ki(jN,{GraphQLComplexityLimitInboundPolicy:()=>Lb,GraphQLDisableIntrospectionInboundPolicy:()=>Ub});module.exports=Ji(jN);var Kn=Fp(xt());function B(t,e){if(!!!t)throw new Error(e)}o(B,"devAssert");function be(t){return typeof t=="object"&&t!==null}o(be,"isObjectLike");function St(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(St,"invariant");var Mx=/\r\n|[\n\r]/g;function Un(t,e){let r=0,n=1;for(let i of t.body.matchAll(Mx)){if(typeof i.index=="number"||St(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(Un,"getLocation");function fp(t){return cc(t.source,Un(t.source,t.start))}o(fp,"printLocation");function cc(t,e){let r=t.locationOffset.column-1,n="".padStart(r)+t.body,i=e.line-1,s=t.locationOffset.line-1,a=e.line+s,c=e.line===1?r:0,u=e.column+c,l=`${t.name}:${a}:${u}
66
- `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),f=u%80,y=[];for(let v=0;v<p.length;v+=80)y.push(p.slice(v,v+80));return l+rb([[`${a} |`,y[0]],...y.slice(1,m+1).map(v=>["|",v]),["|","^".padStart(f)],["|",y[m+1]]])}return l+rb([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(cc,"printSourceLocation");function rb(t){let e=t.filter(([n,i])=>i!==void 0),r=Math.max(...e.map(([n])=>n.length));return e.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
67
- `)}o(rb,"printPrefixedLines");function kx(t){let e=t[0];return e==null||"kind"in e||"length"in e?{nodes:e,source:t[1],positions:t[2],path:t[3],originalError:t[4],extensions:t[5]}:e}o(kx,"toNormalizedOptions");var C=class t extends Error{static{o(this,"GraphQLError")}constructor(e,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=kx(r);super(e),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=nb(Array.isArray(a)?a:a?[a]:void 0);let m=nb((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(y=>y.start),this.locations=u&&c?u.map(y=>Un(c,y)):m?.map(y=>Un(y.source,y.start));let f=be(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??f)!==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,t):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(e+=`
63
+ `)}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256");if(e==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Ay.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=ud(await Sy(this.body||""))}return e}};yn.AwsV4Signer=ks;async function _i(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?ld.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,ld.encode(e))}o(_i,"hmac");async function Sy(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?ld.encode(t):t)}o(Sy,"hash");function ud(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(ud,"buf2hex");function Iy(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(Iy,"encodeRfc3986");function yI(t,e){let{hostname:r,pathname:n}=t,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=(e.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 Ty?[Ty[s],a]:[s,a]}o(yI,"guessServiceRegion")});var Py=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.convertStringToUtf8Array=Tt.convertUtf8ArrayToString=Tt.base64Encode=Tt.base64Decode=void 0;function gI(t){return t>64&&t<91?t-65:t>96&&t<123?t-71:t>47&&t<58?t+4:t===43?62:t===47?63:0}o(gI,"b64ToUint6");function _I(t,e){let r=t.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=e?Math.ceil((n*3+1>>2)/e)*e: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|=gI(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(_I,"base64Decode");Tt.base64Decode=_I;function Fs(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(Fs,"uint6ToB64");function bI(t){let e=2,r="",n=t.length,i=0;for(let s=0;s<n;s++)e=s%3,i|=t[s]<<(16>>>e&24),(e===2||t.length-s===1)&&(r+=String.fromCodePoint(Fs(i>>>18&63),Fs(i>>>12&63),Fs(i>>>6&63),Fs(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(bI,"base64Encode");Tt.base64Encode=bI;function EI(t){let e="",r,n=t.length;for(let i=0;i<n;i++)r=t[i],e+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(t[++i]-128<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(t[++i]-128<<6)+t[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+t[++i]-128:r);return e}o(EI,"convertUtf8ArrayToString");Tt.convertUtf8ArrayToString=EI;function wI(t){let e,r=t.length,n=0;for(let c=0;c<r;c++)e=t.codePointAt(c),e>=65536&&c++,n+=e<128?1:e<2048?2:e<65536?3:e<2097152?4:e<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)e=t.codePointAt(a),e<128?i[s++]=e:e<2048?(i[s++]=192+(e>>>6),i[s++]=128+(e&63)):e<65536?(i[s++]=224+(e>>>12),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63)):e<2097152?(i[s++]=240+(e>>>18),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):e<67108864?(i[s++]=248+(e>>>24),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):(i[s++]=252+(e>>>30),i[s++]=128+(e>>>24&63),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++),a++;return i}o(wI,"convertStringToUtf8Array");Tt.convertStringToUtf8Array=wI});var Ry=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.toCLFDate=void 0;function gn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(gn,"numberToString");function vI(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=gn(Math.floor(r/60)),s=gn(r%60);return`${n}${i}${s}`}o(vI,"getCLFOffset");function TI(t=new Date){if(!(t instanceof Date))throw new Error("clf-date: invalid parameter");let e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=gn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=gn(t.getHours()),a=gn(t.getMinutes()),c=gn(t.getSeconds()),u=vI(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(TI,"toCLFDate");Hs.toCLFDate=TI});var Uy=g(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.getResponse=ar.awsLambdaHandler=ar.AwsLambdaHandlerExtensions=void 0;var SI=wr(),Oy=vy(),bi=D(),II=xt(),AI=pd(),Ny=Py(),Cy=Ry(),xy=(0,SI.debug)("zuplo:runtime"),PI="X-Amzn-Trace-Id",RI="x-amzn-errortype",Ly=[],OI=o(async(t,e,r)=>{let n=r;for await(let i of Ly)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),Be=class extends bi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(PI)??void 0,this.errorType=r.get(RI)??void 0}};ar.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{Ly.push(t)}};async function xI(t,e){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=e.route.handler.options;if(!r)throw new bi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new bi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new bi.ConfigurationError("region is not set in the handler options");if(!s)throw new bi.ConfigurationError("functionName is not set in the handler options");let l=new AI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(xy(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,m]=await LI(t,{binaryMediaTypes:u}),{options:f}=e.route.handler,y;f&&typeof f=="object"&&"payloadFormatVersion"in f&&f.payloadFormatVersion==="2.0"?y=CI(t,e):y=await NI(t,e,{useAwsResourcePathStyle:c}),xy("Calling onSendingAwsLambdaEvent hook");let v=await OI(t,e,y);v.body=p,v.isBase64Encoded=m;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return Dy(T)}catch(I){if(I instanceof Be){let k=f&&typeof f=="object"&&"returnAmazonTraceIdHeader"in f&&f.returnAmazonTraceIdHeader&&I.traceId?{AMZN_TRACE_ID_HEADER:I.traceId}:void 0;return II.HttpProblems.internalServerError(t,e,void 0,k)}throw I}}o(xI,"awsLambdaHandler");ar.awsLambdaHandler=xI;async function Dy(t){let e;try{e=await t.json()}catch{throw new Be("Lambda response did not contain valid JSON",t.headers)}if(t.status!==200)throw e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?new Be(e.message,t.headers):new Be(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new Be(e.errorMessage,t.headers);if(!e||typeof e!="object"||!("statusCode"in e)||typeof e.statusCode!="number")return new Response(JSON.stringify(e),{status:t.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in e&&e.headers){if(typeof e.headers!="object")throw new Be(`Response headers must be an object. Received ${typeof e.headers}`,t.headers);for(let[i,s]of Object.entries(e.headers))r.set(i,s)}if("cookies"in e&&e.cookies){if(!Array.isArray(e.cookies))throw new Be(`Response cookies must be an array. Received ${typeof e.cookies}`,t.headers);r.set("cookie",e.cookies.join(";"))}let n;if("isBase64Encoded"in e&&typeof e.isBase64Encoded!="boolean")throw new Be(`Response property isBase64Encoded must be a boolean. Received ${typeof e.isBase64Encoded}`,t.headers);if("isBase64Encoded"in e&&e.isBase64Encoded===!0){if(!("body"in e))throw new Be("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new Be("Response was set to base64 encoded but body was not a string",t.headers);n=(0,Ny.base64Decode)(e.body)}else"body"in e&&typeof e.body=="string"?n=e.statusCode===204&&e.body===""?null:e.body:"body"in e&&e.body!==null&&e.body!==void 0?n=JSON.stringify(e.body):n=null;if(n!==null&&"bodyEncoding"in e){if(typeof e.bodyEncoding!="string"||!(e.bodyEncoding==="gzip"||e.bodyEncoding==="deflate"))throw new Be(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${e.bodyEncoding}`,t.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(e.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:e.statusCode})}o(Dy,"getResponse");ar.getResponse=Dy;async function NI(t,e,{useAwsResourcePathStyle:r}){let n={},i={};t.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=t.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(t.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:t.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:e.requestId,httpMethod:t.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:t.headers.get("CF-Connecting-IP"),user:null,userAgent:t.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:e.requestId,requestTime:(0,Cy.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:UI(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(NI,"buildEventVersion1");function CI(t,e){let r={};t.headers.forEach((s,a)=>{r[a]=s});let n=new URL(t.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:t.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:t.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:t.headers.get("CF-Connecting-IP"),userAgent:t.headers.get("user-agent")},requestId:e.requestId,routeKey:null,stage:null,time:(0,Cy.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(CI,"buildEventVersion2");async function LI(t,{binaryMediaTypes:e}){let r,n=!1,i=t.headers.get("content-type");if(t.method==="GET"||t.method==="HEAD")r=null;else if(e&&i&&DI(e,i)){let s=await t.arrayBuffer();r=(0,Ny.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(LI,"getBodyResult");function DI(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(DI,"matchesContentType");function UI(t,e=!1){if(!e)return t;let r=(0,Oy.parse)(t),n=(0,Oy.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(UI,"getResourcePath")});var bn=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.getHandlerUserLogFunction=_n.logBadGatewayResponses=void 0;var MI=Ge(),kI=te(),FI=[502,503,504];async function HI(t,e){if(FI.includes(t.status)){let r=MI.SystemLogMap.getLogger(e),i=await t.clone().text(),s={};for(let[a,c]of t.headers)s[a]=c;r.warn(`BadGatewayResponse ${t.status}`,{status:t.status,statusText:t.statusText,body:i,headers:s})}}o(HI,"logBadGatewayResponses");_n.logBadGatewayResponses=HI;var hd;function qI(t){if(hd===void 0){let r=kI.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),hd=r}return t.log[hd]}o(qI,"getHandlerUserLogFunction");_n.getHandlerUserLogFunction=qI});var ky=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.openApiSpecHandler=void 0;var My=D(),$I=ve(),fd=te(),jI=bn();async function VI(t,e){let r=fd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=fd.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new My.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=GI(s);if(!a.isValid)throw new My.ConfigurationError(a.error);let c;fd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:t.method,body:t.body,headers:t.headers});if(u.status!==200)return $I.HttpProblems.notFound(t,e,{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,jI.logBadGatewayResponses)(l,e),l}o(VI,"openApiSpecHandler");qs.openApiSpecHandler=VI;var GI=o(t=>t.startsWith("./")?t.startsWith("./config")?t.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 Fy=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.redirectHandler=void 0;var BI=D();async function KI(t,e){let r=e.route.handler.options;if(!r.location)throw new BI.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(KI,"redirectHandler");$s.redirectHandler=KI});var qy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.urlForwardHandler=void 0;var JI=D(),Hy=bn();function zI(t,e){let r=t.endsWith("/"),n=e.startsWith("/");return r&&n?`${t.substring(0,t.length-1)}${e}`:!r&&!n?`${t}/${e}`:`${t}${e}`}o(zI,"join");async function WI(t,e){let r=(0,Hy.getHandlerUserLogFunction)(e),n=e.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 JI.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},a=new URL(t.url),c=n.__rewriteFunction(t,s),u=zI(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:t.method,body:t.body,headers:t.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,Hy.logBadGatewayResponses)(p,e),p}o(WI,"urlForwardHandler");js.urlForwardHandler=WI});var jy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.urlRewriteHandler=void 0;var QI=D(),$y=bn(),YI=o((t,e)=>{let r=new URL(t),n=new URL(e);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function ZI(t,e){let r=(0,$y.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new QI.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=i?YI(c,t.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:t.method,body:t.body,headers:t.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,$y.logBadGatewayResponses)(d,e),d}o(ZI,"urlRewriteHandler");Vs.urlRewriteHandler=ZI});var Gy=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.webSocketHandler=void 0;var Vy=D(),XI=nd(),eA=xt(),tA=te(),rA=bn();async function nA(t,e){let r=tA.Environment.instance,n=e.route.handler.options,i=(0,rA.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new Vy.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return eA.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Vy.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(t.headers);if(c.startsWith("service:")){let f=await(0,XI.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${f.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let T in f.tunnelHeaders)p.set(T,f.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let f=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${f}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(nA,"webSocketHandler");Gs.webSocketHandler=nA});var By=g(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.webSocketPolicyProcessor=En.getWebSocketPolicyFunctions=void 0;var iA=D(),oA=o((t,e)=>t.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=e==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new iA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");En.getWebSocketPolicyFunctions=oA;var sA=o(async(t,e,r,n,i,s)=>{let a=t.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,e,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");En.webSocketPolicyProcessor=sA});var Jy=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.webSocketPipelineHandler=void 0;var md=D(),aA=xt(),cA=te(),uA=bn(),yd=By();function Ky(t,e,r,n,i){t.addEventListener("close",()=>{e.close()}),t.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),e.send(JSON.stringify(s))}),t.addEventListener("message",s=>{try{o(async c=>{let u=await(0,yd.webSocketPolicyProcessor)(c,t,e,r,n,i);u!==void 0&&e.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(Ky,"wireUpListeners");async function lA(t,e){let r=cA.Environment.instance,n=e.route.handler.options,i=(0,uA.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new md.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return aA.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new md.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new md.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let I=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${I}'`;throw new Error(k)}let d=new WebSocketPair,[p,m]=Object.values(d),f=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${f}ms`);let y=l.webSocket;y.accept(),m.accept();let v=n.policies&&n.policies.inbound?(0,yd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,yd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Ky(m,y,t,e,v),Ky(y,m,t,e,T),new Response(null,{status:101,webSocket:p})}o(lA,"webSocketPipelineHandler");Bs.webSocketPipelineHandler=lA});var zy=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.DynaTraceLoggingPlugin=void 0;var dA=we(),gd=te(),pA=Pr(),hA=Ct(),fA=yt(),_d=class extends hA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new bd(this.options)}};Ks.DynaTraceLoggingPlugin=_d;var bd=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.apiToken,this.#n=gd.Environment.instance.loggingEnvironmentType,this.#i=gd.Environment.instance.loggingEnvironmentStage,this.#r=gd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,fA.stringifyNonString)((0,pA.serializeError)(n)),severity:e.level,"log.source":e.logSource,requestId:e.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":e.loggingId,"custom.rayId":e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async e=>{e.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(e),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new dA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Wy=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.LokiLoggingPlugin=void 0;var mA=we(),Ed=te(),yA=Pr(),gA=Ct(),_A=yt(),wd=class extends gA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Td(this.options)}};Js.LokiLoggingPlugin=wd;var vd=class{static{o(this,"LokiStream")}constructor(e,r,n,i,s){this.level=e,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=e=>this.level===e.level&&this.requestId===e.requestId};function bA(t,e){return btoa(`${t}:${e}`)}o(bA,"createBasicDigest");var Td=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=bA(e.username,e.password),this.#n=Ed.Environment.instance.loggingEnvironmentType,this.#i=Ed.Environment.instance.loggingEnvironmentStage,this.#r=Ed.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n=new vd(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,_A.stringifyNonString)((0,yA.serializeError)(i)),nanoSecondEpoch:`${e.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=e=>{let r={streams:[]};return e.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 e=>{if(e.length===0)return;let r=this.#o(e);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new mA.BatchDispatch("loki-log-transport",10,this.#s)}});var Qy=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.SumoLogicLoggingPlugin=void 0;var EA=we(),Sd=te(),wA=Pr(),vA=Ct(),TA=yt(),Id=class extends vA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ad(this.options)}};zs.SumoLogicLoggingPlugin=Id;var Ad=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=Sd.Environment.instance.loggingEnvironmentType,this.#n=Sd.Environment.instance.loggingEnvironmentStage,this.#t=Sd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,TA.stringifyNonString)((0,wA.serializeError)(n)),severity:e.level,source:e.logSource,requestId:e.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async e=>{if(e.length===0)return;let r=e.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 EA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Zy=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.VMWareLogInsightTransport=wn.VMWareLogInsightLoggingPlugin=void 0;var SA=D(),IA=we(),Pd=te(),AA=Ct(),Yy=yt(),PA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Rd=class extends AA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ws(this.options)}};wn.VMWareLogInsightLoggingPlugin=Rd;var Ws=class{static{o(this,"VMWareLogInsightTransport")}constructor(e){let r;try{r=new URL(e.url)}catch{throw new SA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${e.url}'`)}this.#e=r.origin,this.#r=Pd.Environment.instance.loggingEnvironmentType,this.#n=Pd.Environment.instance.loggingEnvironmentStage,this.#t=Pd.Environment.instance.deploymentName,this.#i=e.onMessageSending,e.fields&&(this.#o=Object.entries(e.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(e,r){let n=this.buildEntry(e,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(e,r){let n=(0,Yy.messagesToMultilineText)(e.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:e.level.toUpperCase()},{name:"request_id",content:e.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:e.logSource},{name:"atomic_counter",content:e.vectorClock}]};return e.rayId&&i.fields.push({name:"request_ray_id",content:e.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,Yy.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async e=>{if(e.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${PA}`,{method:"POST",body:JSON.stringify(e),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 IA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};wn.VMWareLogInsightTransport=Ws});var eg=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.AWSLogTransport=vn.AWSLoggingPlugin=void 0;var RA=we(),Xy=te(),OA=Pr(),xA=Ct(),NA=yt(),CA=pd(),Od=class extends xA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Qs(this.options)}};vn.AWSLoggingPlugin=Od;var Qs=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new RA.BatchDispatch("aws-log-transport",10,async e=>{if(e.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:e});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:e,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new CA.AwsClient({accessKeyId:e,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=Xy.Environment.instance.loggingEnvironmentType,this.environment=Xy.Environment.instance.deploymentName}async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,NA.stringifyNonString)((0,OA.serializeError)(n)),severity:e.level,source:e.logSource,environment:this.environment,requestId:e.requestId,environmentType:this.environmentType,rayId:e.rayId===null?void 0:e.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};vn.AWSLogTransport=Qs});var tg=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 LA=Fl();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return LA.DataDogLoggingPlugin}});var DA=zy();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return DA.DynaTraceLoggingPlugin}});var UA=Es();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return UA.GoogleCloudLoggingPlugin}});var MA=Wy();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return MA.LokiLoggingPlugin}});var kA=Qy();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return kA.SumoLogicLoggingPlugin}});var FA=Zy();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return FA.VMWareLogInsightLoggingPlugin}});var HA=eg();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return HA.AWSLoggingPlugin}})});var rg=g(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DataDogMetricsError=cr.DataDogMetricsTransport=cr.DataDogMetricsPlugin=void 0;var qA=Ge(),$A=we(),jA=fo(),xd=new WeakMap,VA={tags:[]},Nd=class extends jA.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ys(this.options)}static setContext(e,r){let n=xd.get(e);n||(n=VA);let i=Object.assign({...n},r);xd.set(e,i)}};cr.DataDogMetricsPlugin=Nd;var Ys=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},e.metrics),this.#i=e.include??{},this.#n=e.tags??[]}pushMetrics(e,r){this.#o===void 0&&(this.#o=new $A.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,qA.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()/1e3),i=this.#n.concat(xd.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${e.country}`),this.#i.httpMethod&&i.push(`httpMethod:${e.method}`),this.#i.statusCode&&i.push(`statusCode:${e.statusCode}`),this.#i.path){let s=e.systemRouteName||e.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:e.durationMs}],tags:i}),this.#r.requestContentLength&&e.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:e.requestContentLength}],tags:i}),this.#r.responseContentLength&&e.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:e.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;let r=JSON.stringify({series:e}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new Zs(await n.text())}};cr.DataDogMetricsTransport=Ys;var Zs=class t extends Error{static{o(this,"DataDogMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};cr.DataDogMetricsError=Zs});var ng=g(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.DynaTraceMetricsError=ur.DynaTraceMetricsTransport=ur.DynatraceMetricsPlugin=void 0;var GA=Ge(),BA=we(),KA=fo(),Cd=new WeakMap,JA={dimensions:[]},Ld=class extends KA.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Xs(this.options)}static setContext(e,r){let n=Cd.get(e);n||(n=JA);let i=Object.assign({...n},r);Cd.set(e,i)}};ur.DynatraceMetricsPlugin=Ld;var Xs=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(e){this.apiToken=e.apiToken,this.#e=e.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},e.metrics),this.#r=e.include??{},this.dimensions=e.dimensions??[]}pushMetrics(e,r){this.#n===void 0&&(this.#n=new BA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,GA.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()),i=this.dimensions.concat(Cd.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${e.country}"`),this.#r.httpMethod&&i.push(`http_method="${e.method}"`),this.#r.statusCode&&i.push(`status_code="${e.statusCode}"`),this.#r.path){let a=e.systemRouteName||e.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${e.durationMs} ${n}`),this.#t.requestContentLength&&e.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${e.requestContentLength} ${n}`),this.#t.responseContentLength&&e.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${e.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;let r=e.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 ea(await n.text())}};ur.DynaTraceMetricsTransport=Xs;var ea=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};ur.DynaTraceMetricsError=ea});var ig=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.DynatraceMetricsPlugin=Tn.DataDogMetricsPlugin=void 0;var zA=rg();Object.defineProperty(Tn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return zA.DataDogMetricsPlugin}});var WA=ng();Object.defineProperty(Tn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return WA.DynatraceMetricsPlugin}})});var og=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.AuditLogDataStaxProvider=void 0;var Dd=class{static{o(this,"AuditLogDataStaxProvider")}constructor(e){this.#e=e}#e;writeLogBatch=async e=>{await Promise.allSettled(e.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)})}))}};ta.AuditLogDataStaxProvider=Dd});var ag=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.AuditLogPlugin=void 0;var QA=Ot(),YA=we(),Ud=class extends QA.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new Md(e,this.#e,this.#t)}};ra.AuditLogPlugin=Ud;var sg=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),ZA={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Md=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...ZA};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,e.addRequestHook(this.#o),this.#r=new YA.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async e=>{await this.#t.writeLogBatch(e)};#i=async(e,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?sg(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:e.status,statusText:e.statusText,headers:this.#e.include?.response?.headers?sg(e.headers):void 0,body:this.#e.include?.response?.body?await e.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(e,r)=>{try{if(!await this.#e.requestFilter(e,r))return e;let i=new Date,s=Date.now(),a=e.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var na=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.getValueFromRequestUser=Sn.statusCodesStringToNumberArray=void 0;var cg=D(),ug=new Map;function XA(t){if(typeof t!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=ug.get(t);if(e)return e;let r=t.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 ug.set(t,n),n}o(XA,"statusCodesStringToNumberArray");Sn.statusCodesStringToNumberArray=XA;function eP(t,e,r){if(!e.startsWith("."))throw new cg.ConfigurationError(`Invalid ${r} - must start with '.' - '${e}' does not`);let n=e.split(".").splice(1),i=t;return n.forEach(s=>{if(i===void 0)throw new cg.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(eP,"getValueFromRequestUser");Sn.getValueFromRequestUser=eP});var fg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.AmberfloMeteringInboundPolicy=In.AmberfloMeteringPolicy=void 0;var lg=D(),tP=we(),dg=na(),hg=new WeakMap,pg={},kd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){hg.set(e,r)}};In.AmberfloMeteringPolicy=kd;async function rP(t,e,r,n){if(!r.statusCodes)throw new lg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,dg.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=hg.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new lg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,dg.getValueFromRequestUser)(t.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=pg[r.apiKey];if(!m){let f=r.apiKey,y=t.headers.get("zm-test-id")??"";m=new tP.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",I=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":f,"zm-test-id":y}});I.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${I.status}: ${await I.text()}`)}catch(T){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),pg[f]=m}m.enqueue(p),e.waitUntil(m.waitUntilFlushed())}}),t}o(rP,"AmberfloMeteringInboundPolicy");In.AmberfloMeteringInboundPolicy=rP});var lr=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.getPolicyCacheName=void 0;function nP(t){return`zuplo-policy-${t}`}o(nP,"getPolicyCacheName");ia.getPolicyCacheName=nP});var _g=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.ApiAuthKeyInboundPolicy=An.ApiKeyInboundPolicy=void 0;var iP=lr(),oP=br(),mg=rd(),Fd=D(),sP=xt(),Hd=Ge(),qd=te(),aP=_s(),yg="key-metadata-cache-type";function cP(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(cP,"getKeyValue");async function gg(t,e,r,n){if(!r.bucketName)if(mg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=mg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Fd.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 Fd.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(v=>i.allowUnauthenticatedRequests?t:sP.HttpProblems.unauthorized(t,e,{detail:v}),"unauthorizedResponse"),a=t.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=cP(a,i);if(!c||c==="")return s("No key present");let u=await uP(c),l=new oP.MemoryZoneReadThroughCache((0,iP.getPolicyCacheName)(n),{logger:Hd.SystemLogMap.getLogger(e)}),d=await l.get(u);if(d&&d.isValid===!0)return t.user=d.user,t;if(d&&!d.isValid)return d.typeId!==yg&&Hd.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${d.typeId}'`,d),s("Authorization Failed");let p={key:c},m=await(0,aP.fetchRetry)({retryDelayMs:5,retries:2,logger:Hd.SystemLogMap.getLogger(e)},`${qd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":qd.Environment.instance.deploymentName??"unknown","User-Agent":qd.Environment.instance.systemUserAgent},body:JSON.stringify(p)});if(m.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(m.status!==200){try{let v=await m.text(),T=JSON.parse(v);e.log.error("Unexpected response from key service",T)}catch{e.log.error("Invalid response from key service")}throw new Fd.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${m.status}`)}let f=await m.json(),y={isValid:!0,typeId:yg,user:{sub:f.name,data:f.metadata}};return t.user=y.user,l.put(u,y,i.cacheTtlSeconds),t}o(gg,"ApiKeyInboundPolicy");An.ApiKeyInboundPolicy=gg;async function uP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(uP,"hashValue");An.ApiAuthKeyInboundPolicy=gg});var Mt=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.OpenIdJwtInboundPolicy=void 0;var jd=(ys(),Ji(ms)),Vd=D(),lP=ve(),$d={},dP=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new Vd.ConfigurationError("Invalid State - jwkUrl not set");$d[e.jwkUrl]||($d[e.jwkUrl]=(0,jd.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,jd.jwtVerify)(t,$d[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),pP=o(async(t,e)=>{let r;if(e.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof e.secret=="string"){let s=new TextEncoder().encode(e.secret);r=new Uint8Array(s)}else r=e.secret;let{payload:n}=await(0,jd.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),hP=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(m=>lP.HttpProblems.unauthorized(t,e,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Vd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Vd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?dP:pP,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(f){let y=new URL(t.url);return"code"in f&&f.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${y.pathname} `,f):e.log.warn(`Invalid token on: ${t.method} ${y.pathname}`,f),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?t:l;let d=r.subPropertyName??"sub",p=l[d];return p?(t.user={sub:p,data:l},t):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");oa.OpenIdJwtInboundPolicy=hP});var bg=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.Auth0JwtInboundPolicy=void 0;var fP=Mt(),mP=o(async(t,e,r,n)=>(0,fP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");sa.Auth0JwtInboundPolicy=mP});var Eg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.BasicAuthInboundPolicy=void 0;var yP=ve(),gP=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>yP.HttpProblems.unauthorized(t,e,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),f=d.substring(p+1),y=r.accounts.find(v=>v.username===m&&v.password===f);return y||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?t:c;let u=c.username;return t.user={sub:u,data:c.data},t},"BasicAuthInboundPolicy");aa.BasicAuthInboundPolicy=gP});var wg=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.CachingInboundPolicy=void 0;var _P=lr(),bP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function EP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(EP,"digestMessage");var wP=o(async(t,e)=>{let r=[...e.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...e.headers??[]],n=[];for(let[d,p]of t.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(t.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=e.cacheHttpMethods?.includes(t.method.toUpperCase())&&t.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",t.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":t.method})},"createCacheKeyRequest");async function vP(t,e,r,n){let i=await caches.open(`${(0,_P.getPolicyCacheName)(n)}-${r.cacheId??""}`),s=r?.cacheHttpMethods?.map(u=>u.toUpperCase())??["GET"],a=await wP(t,r),c=await i.match(a);return c||(e.addEventListener("responseSent",u=>{try{let l=r.statusCodes??[200,206,301,302,303,404,410],d=u.response.clone();if(!l.includes(d.status)||!s.includes(t.method.toUpperCase()))return;let p=r?.expirationSecondsTtl??60,m=new Response(d.body,d);bP.forEach(f=>m.headers.delete(f)),m.headers.set("cache-control",`s-maxage=${p}`),e.waitUntil(i.put(a,m))}catch(l){e.log.error(`Error in caching-inbound-policy '${n}': "${l.message}"`,l)}}),t)}o(vP,"CachingInboundPolicy");ca.CachingInboundPolicy=vP});var vg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.ChangeMethodInboundPolicy=void 0;var TP=D(),SP=Yn(),IP=o(async(t,e,r,n)=>{if(!r.method)throw new TP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new SP.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");ua.ChangeMethodInboundPolicy=IP});var Tg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.ClearHeadersInboundPolicy=void 0;var AP=ke(),PP=o(async(t,e,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=t.headers.get(a);c&&i.set(a,c)}),new AP.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");la.ClearHeadersInboundPolicy=PP});var Sg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.ClearHeadersOutboundPolicy=void 0;var RP=o(async(t,e,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=t.headers.get(c);u&&s.set(c,u)}),new Response(t.body,{headers:s,status:t.status,statusText:t.statusText})},"ClearHeadersOutboundPolicy");da.ClearHeadersOutboundPolicy=RP});var Ig=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.ClerkJwtInboundPolicy=void 0;var OP=Mt(),xP=o(async(t,e,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,OP.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");pa.ClerkJwtInboundPolicy=xP});var Pg=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.CognitoJwtInboundPolicy=void 0;var Ag=D(),NP=Mt(),CP=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new Ag.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Ag.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,NP.OpenIdJwtInboundPolicy)(t,e,{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");ha.CognitoJwtInboundPolicy=CP});var Og=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.CompositeInboundPolicy=void 0;var LP=D(),DP=dn(),Rg=Zn(),UP=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new LP.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=DP.Gateway.instance,s=(0,Rg.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Rg.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");fa.CompositeInboundPolicy=UP});var dr=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.optionValidator=void 0;var Ei=D();function MP(t,e){let r=o((s,a,c)=>{let u=t[s];if(!(c&&u===void 0)){if(u===void 0)throw new Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' 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 Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' 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 Ei.ConfigurationError(`Value of '${String(s)}' on policy '${e}' 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(MP,"optionValidator");ma.optionValidator=MP});var xg=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.FirebaseJwtInboundPolicy=void 0;var kP=dr(),FP=Mt(),HP=o(async(t,e,r,n)=>((0,kP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,FP.OpenIdJwtInboundPolicy)(t,e,{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");ya.FirebaseJwtInboundPolicy=HP});var Ng=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.FormDataToJsonInboundPolicy=void 0;var qP=ke(),$P=o(async(t,e,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=t.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"}):t;let a=await t.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(t.headers);return u.set("content-type","application/json"),u.delete("content-length"),new qP.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");ga.FormDataToJsonInboundPolicy=$P});var Cg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.GeoFilterInboundPolicy=void 0;var jP=D(),VP=ve(),Pn="__unknown__",GP=o(async(t,e,r,n)=>{let i={allow:{countries:On(r.allow?.countries,"allow.countries",n),regionCodes:On(r.allow?.regionCodes,"allow.regionCode",n),asns:On(r.allow?.asns,"allow.asOrganization",n)},block:{countries:On(r.block?.countries,"block.countries",n),regionCodes:On(r.block?.regionCodes,"block.regionCode",n),asns:On(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??Pn,a=e.incomingRequestProperties.regionCode?.toLowerCase()??Pn,c=e.incomingRequestProperties.asn?.toString()??Pn,u=i.ignoreUnknown&&s===Pn,l=i.ignoreUnknown&&a===Pn,d=i.ignoreUnknown&&c===Pn,p=i.allow.countries,m=i.allow.regionCodes,f=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||f.length>0&&!f.includes(c)&&!d)return Rn(t,e,n,s,a,c);let y=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Rn(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");_a.GeoFilterInboundPolicy=GP;function Rn(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),VP.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Rn,"blockedResponse");function On(t,e,r){if(typeof t=="string")return t.split(",").map(n=>n.trim().toLowerCase());if(typeof t>"u")return[];if(Array.isArray(t))return t.map(n=>n.trim().toLowerCase());throw new jP.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(On,"toLowerStringArray")});var Lg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.JWTScopeValidationInboundPolicy=void 0;var BP=o(async(t,e,r)=>{let n=t.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 t},"JWTScopeValidationInboundPolicy");ba.JWTScopeValidationInboundPolicy=BP});var Ug=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.MockApiInboundPolicy=void 0;var KP=ve(),JP=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return Gd(n,t,e,"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 Gd(n,t,e,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return Dg(a[c])}else return a.length>0?Dg(a[0]):Gd(n,t,e,"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");Ea.MockApiInboundPolicy=JP;function Dg(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.append("Content-Type",t.contentName),t.responseName){case"1XX":return new Response(e,{status:100,headers:r});case"2XX":return new Response(e,{status:200,headers:r});case"3XX":return new Response(e,{status:300,headers:r});case"4XX":return new Response(e,{status:400,headers:r});case"5XX":case"default":return new Response(e,{status:500,headers:r});default:return new Response(e,{status:Number(t.responseName),headers:r})}}o(Dg,"generateResponse");var Gd=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return KP.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var qg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.MoesifInboundPolicy=xn.setMoesifContext=void 0;var zP=D(),WP=we(),QP="Incoming",YP={logRequestBody:!0,logResponseBody:!0};function Mg(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(Mg,"headersToObject");function kg(){return new Date().toISOString()}o(kg,"timestamp");var Bd=new WeakMap,ZP={};function XP(t,e){let r=Bd.get(t);r||(r=ZP);let n=Object.assign({...r},e);Bd.set(t,n)}o(XP,"setMoesifContext");xn.setMoesifContext=XP;async function Fg(t,e){let r=t.headers.get("content-type"),n=t.clone();if(r&&r.indexOf("json")!==0)try{return await n.json()}catch(s){e.log.error(s)}let i=await n.text();return e.log.debug({textBody:i}),i}o(Fg,"readBody");var eR={},Kd;function Hg(){if(!Kd)throw new zP.RuntimeError("Invalid State - no _lastLogger");return Kd}o(Hg,"getLastLogger");function tR(t){let e=eR[t];return e||(e=new WP.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Hg().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":t},body:n});i.ok||Hg().error({status:i.status,body:await i.text()})})),e}o(tR,"getDispatcher");async function rR(t,e,r,n){Kd=e.log;let i=kg(),s=Object.assign(YP,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await Fg(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=tR(s.applicationId),d=t.headers.get("true-client-ip"),p=Bd.get(e)??{},m={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Mg(t.headers)},f=s.logResponseBody?await Fg(c,e):void 0,y={time:kg(),status:c.status,headers:Mg(c.headers),body:f},v={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:QP};l.enqueue(v),e.waitUntil(l.waitUntilFlushed())}),t}o(rR,"MoesifInboundPolicy");xn.MoesifInboundPolicy=rR});var $g=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.OktaJwtInboundPolicy=void 0;var nR=Mt(),iR=o(async(t,e,r,n)=>(0,nR.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");wa.OktaJwtInboundPolicy=iR});var jg=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.PropelAuthJwtInboundPolicy=void 0;var oR=(ys(),Ji(ms)),sR=Mt(),Jd,aR=o(async(t,e,r,n)=>{if(!Jd)try{Jd=await(0,oR.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,sR.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:Jd,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");va.PropelAuthJwtInboundPolicy=aR});var Vg=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 $e=Jr(),tt=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};G.ValidationError=tt;var wi=class extends tt{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};G.ArgumentUndefinedError=wi;var vi=class extends tt{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};G.ArgumentTypeError=vi;function cR(t,e){if((0,$e.isUndefined)(t))throw new wi(e)}o(cR,"throwIfUndefined");G.throwIfUndefined=cR;function zd(t,e){if((0,$e.isUndefinedOrNull)(t))throw new wi(e)}o(zd,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=zd;function uR(t,e){if(zd(t,e),!(0,$e.isString)(t))throw new vi(e,"string")}o(uR,"throwIfNotString");G.throwIfNotString=uR;function lR(t,e){if(zd(t,e),!(0,$e.isNumber)(t))throw new vi(e,"number")}o(lR,"throwIfNotNumber");G.throwIfNotNumber=lR;var Ti=class extends tt{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};G.OptionUndefinedError=Ti;var Nn=class extends tt{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=Nn;function dR(t,e,r,n){if((0,$e.isUndefined)(n))throw new Ti(t,e,r)}o(dR,"throwIfOptionUndefined");G.throwIfOptionUndefined=dR;function Ta(t,e,r,n){if((0,$e.isUndefinedOrNull)(n))throw new Ti(t,e,r)}o(Ta,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Ta;function pR(t,e,r,n){if(Ta(t,e,r,n),!(0,$e.isString)(n))throw new Nn(t,e,r,"string")}o(pR,"throwIfOptionNotString");G.throwIfOptionNotString=pR;function hR(t,e,r,n){if(Ta(t,e,r,n),!(0,$e.isNumber)(n))throw new Nn(t,e,r,"number")}o(hR,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=hR;function fR(t,e,r,n){if(Ta(t,e,r,n),!(0,$e.isObject)(n))throw new Nn(t,e,r,"object")}o(fR,"throwIfOptionNotObject");G.throwIfOptionNotObject=fR;function mR(t,e){if((0,$e.isUndefined)(t))throw new tt(e)}o(mR,"throwIfStateUndefined");G.throwIfStateUndefined=mR;function Sa(t,e){if((0,$e.isUndefinedOrNull)(t))throw new tt(e)}o(Sa,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Sa;function yR(t,e){if(Sa(t,e),!(0,$e.isString)(t))throw new tt(e);return!0}o(yR,"throwIfStateNotString");G.throwIfStateNotString=yR;function gR(t,e){if(Sa(t,e),!(0,$e.isNumber)(t))throw new tt(e);return!0}o(gR,"throwIfStateNotNumber");G.throwIfStateNotNumber=gR;function _R(t,e){if(Sa(t,e),!(0,$e.isObject)(t))throw new tt(e);return!0}o(_R,"throwIfStateNotObject");G.throwIfStateNotObject=_R});var Gg=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.InMemoryRedisClient=Cn.StandardRedisClient=void 0;var Wd=D(),Ia=Vg(),Qd=class t{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(e,r,n,i){this.redisClientUrl=e,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(e,r,n,i){return(0,Ia.throwIfNotString)(e,"redisClientUrl"),(0,Ia.throwIfNotString)(r,"clientAuthToken"),t.instance||(t.instance=new t(e,r,n,i)),t.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:e,body:r,method:n,requestId:i}){(0,Ia.throwIfNotString)(e,"url");let s=await fetch(`${this.redisClientUrl}${e}`,{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 Wd.SystemError("Redis client failed with 401: Unauthorized"):new Wd.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Cn.StandardRedisClient=Qd;var Yd=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,Ia.throwIfNotString)(e,"url"),n==="POST"&&e==="/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 Wd.SystemError("The in-memory redis client only supports /rate-limit calls")}};Cn.InMemoryRedisClient=Yd});var Wg=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.RateLimitInboundPolicy=void 0;var bR=wr(),ER=ke(),wR=lr(),kt=D(),vR=ve(),Bg=Ge(),Si=te(),Kg=Gg(),Jg=Jr(),Aa=(0,bR.debug)("zuplo:policies:RateLimitInboundPolicy"),TR="strict",SR=o(t=>{let e=t.headers.get("cf-connecting-ip")??t.headers.get("true-client-ip");if(e)return e;let r=t.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),IR=o(async t=>({key:`ip-${SR(t)}`}),"getIP"),AR=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),PR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Pa;function RR(t,e){let r;if(Pa)return Pa;if(Si.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new Kg.InMemoryRedisClient,Pa=r,r;let{authApiJWT:n,redisURL:i}=Si.Environment.instance;if(!(0,Jg.isString)(i))throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,Jg.isString)(n))throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=Kg.StandardRedisClient.initialize(i,n,Si.Environment.instance.deploymentName??"unknown",Si.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Pa=r,r}o(RR,"getRedisClient");async function zg(t,e,r,n,i){let s=Math.floor(e*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:t}),requestId:i})}o(zg,"getCountAndUpdateExpiry");function OR(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=t.identifier.module[t.identifier.export],!r||typeof r!="function")throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - 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 kt.RuntimeError(u)}return c},"outerFunction")}o(OR,"wrapUserFunction");var xR="Retry-After",NR=o(async(t,e,r,n)=>{let i=Date.now(),s=Bg.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new kt.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[xR]=l.toString()),vR.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:OR(r,n),user:AR,ip:IR,all:PR}[r.rateLimitBy],d=await l(t,e,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,f=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",v=RR(n,s),I=`bucket/${Si.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??TR)==="async"){let x=new ER.ZoneCache((0,wR.getPolicyCacheName)(n),{logger:Bg.SystemLogMap.getLogger(e)}),oe=zg(I,f,v,s,e.requestId),ee=await x.get(I);if(ee!==void 0&&ee<=Date.now()){Aa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${I}' (async mode)`);let fe=Math.round((ee-Date.now())/1e3);return c(y,fe)}return e.addEventListener("responseSending",fe=>{try{let Me=fe,E=Me.mutableResponse;Me.mutableResponse=(async()=>{let F=await oe;if(F.count>m){let Ye=Date.now()+F.ttlSeconds*1e3;return x.put(I,Ye,F.ttlSeconds).catch(Bi=>{throw s.error(Bi),Bi}),Aa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${I}' (async mode)`),c(y,F.ttlSeconds)}return E})()}catch(Me){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,Me)}}),t}let j=await zg(I,f,v,s,e.requestId);return j.count>m?(Aa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${I}' (strict mode)`),c(y,j.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Aa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ra.RateLimitInboundPolicy=NR});var Xg=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ReadmeMetricsInboundPolicy=void 0;var CR=we(),Zd=te(),Qg=na(),Xd;function Yg(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(Yg,"headersToNameValuePairs");function LR(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(LR,"queryToNameValueParis");function DR(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(DR,"parseIntOrUndefined");var Zg={};async function UR(t,e,r,n){let i=new Date,s=Date.now();return Xd||(Xd={name:"zuplo",version:Zd.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Zd.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,Qg.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,Qg.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Zd.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:Xd,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:t.method,url:r.useFullRequestPath?new URL(t.url).pathname:e.route.path,httpVersion:"2",headers:Yg(t.headers),queryString:LR(t.query)},response:{status:a.status,statusText:a.statusText,headers:Yg(a.headers),content:{size:DR(t.headers.get("content-length"))}}}]}}},d=Zg[r.apiKey];if(!d){let p=r.apiKey;d=new CR.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let f=r.url??"https://metrics.readme.io/request",y=await fetch(f,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(f){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${f.message}'`),f}}),Zg[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(UR,"ReadmeMetricsInboundPolicy");Oa.ReadmeMetricsInboundPolicy=UR});var e_=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.RemoveHeadersInboundPolicy=void 0;var MR=ke(),kR=D(),FR=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new kR.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(t.headers);return i.forEach(c=>{s.delete(c)}),new MR.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");xa.RemoveHeadersInboundPolicy=FR});var t_=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.RemoveHeadersOutboundPolicy=void 0;var HR=D(),qR=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new HR.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(t.headers);return s.forEach(u=>{a.delete(u)}),new Response(t.body,{headers:a,status:t.status,statusText:t.statusText})},"RemoveHeadersOutboundPolicy");Na.RemoveHeadersOutboundPolicy=qR});var r_=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RemoveQueryParamsInboundPolicy=void 0;var $R=ke(),jR=D(),VR=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new jR.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(t.url);return i.forEach(c=>{s.searchParams.delete(c)}),new $R.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");Ca.RemoveQueryParamsInboundPolicy=VR});var n_=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.ReplaceStringOutboundPolicy=void 0;var GR=o(async(t,e,r,n)=>{let i=await t.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:t.headers,status:t.status,statusText:t.statusText})},"ReplaceStringOutboundPolicy");La.ReplaceStringOutboundPolicy=GR});var o_=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.RequestSizeLimitInboundPolicy=void 0;var i_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),BR=o(async(t,e,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(t.method))return t;let i=t.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?i_():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?i_():t},"RequestSizeLimitInboundPolicy");Da.RequestSizeLimitInboundPolicy=BR});var Ua=g(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.sanitizedIdentifierName=rt.getIdForRefSchema=rt.getIdForRequestBodySchema=rt.getIdForParameterSchema=rt.getRawOperationDataIdentifierName=void 0;function KR(t,e,r){return`_${Lr(t+"_"+e+"_"+r)}`}o(KR,"getRawOperationDataIdentifierName");rt.getRawOperationDataIdentifierName=KR;function JR(t,e,r,n){return`_${Lr(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(JR,"getIdForParameterSchema");rt.getIdForParameterSchema=JR;function zR(t,e,r){return`_${Lr(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${Lr(r.toLowerCase())}`}o(zR,"getIdForRequestBodySchema");rt.getIdForRequestBodySchema=zR;function WR(t,e){return`_${Lr(t)}__${Lr(e)}`}o(WR,"getIdForRefSchema");rt.getIdForRefSchema=WR;function Lr(t){let e=[];for(let r=0;r<t.length;r++){let n=t.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)?e.push(t.charAt(r)):e.push("_")}return e.join("")}o(Lr,"sanitizedIdentifierName");rt.sanitizedIdentifierName=Lr});var Ii=g(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.getErrorsFromValidator=Ce.shouldReject=Ce.shouldLog=Ce.logErrors=Ce.validateParameters=Ce.getParametersForOperation=void 0;var QR=dn(),Ma=Dr(),YR=Ua(),ZR=o(t=>{let e=t.route.raw();return e.parameters?e.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Ce.getParametersForOperation=ZR;var XR=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{if(u.required&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,YR.getIdForParameterSchema)(r,n,i,u.name),d=QR.Gateway.instance.schemaValidator[l],p=d(e[u.name]),m=(0,Ce.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${m.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Ce.validateParameters=XR;var eO=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");Ce.logErrors=eO;var tO=o(t=>t===Ma.ValidationOptions.logOnly||t===Ma.ValidationOptions.rejectAndLog,"shouldLog");Ce.shouldLog=tO;var rO=o(t=>t===Ma.ValidationOptions.rejectOnly||t===Ma.ValidationOptions.rejectAndLog,"shouldReject");Ce.shouldReject=rO;var nO=o(t=>t?.map(e=>e.instancePath===void 0||e.instancePath===""?e.message??"Unknown validation error":e.instancePath.replace("/","")+" "+e.message)??["Unknown validation error"],"getErrorsFromValidator");Ce.getErrorsFromValidator=nO});var s_=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.handleBodyValidation=void 0;var iO=dn(),oO=Dr(),ka=ve(),sO=Ua(),Ke=Ii();async function aO(t,e,r){if(!r.validateBody||r.validateBody===oO.ValidationOptions.none)return;let n;try{n=await e.clone().json()}catch(f){let y=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,v=ka.HttpProblems.badRequest(e,t,{detail:`${y}, see errors property for more details`,errors:`${f}`});if((0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",y,[n],f),(0,Ke.shouldReject)(r.validateBody))return v}if(!e.headers.get("Content-Type")){let f=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,y=ka.HttpProblems.badRequest(e,t,{detail:f});return(0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",f,[n],[f]),(0,Ke.shouldReject)(r.validateBody)?y:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,sO.getIdForRequestBodySchema)(t.route.path,e.method,i),c=iO.Gateway.instance.schemaValidator[a];if(!c){let f=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,y=ka.HttpProblems.badRequest(e,t,{detail:f});return(0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",f,[n],[f]),(0,Ke.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Ke.getErrorsFromValidator)(l),m=ka.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",d,[n],p),(0,Ke.shouldReject)(r.validateBody))return m}o(aO,"handleBodyValidation");Fa.handleBodyValidation=aO});var a_=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.handleHeadersValidation=void 0;var cO=Dr(),uO=ve(),Ai=Ii();function lO(t,e,r){if(!r.validateHeaders||r.validateHeaders===cO.ValidationOptions.none)return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ai.getParametersForOperation)(t),s=(0,Ai.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=uO.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ai.shouldLog)(r.validateHeaders)&&(0,Ai.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ai.shouldReject)(r.validateHeaders))return c}}o(lO,"handleHeadersValidation");Ha.handleHeadersValidation=lO});var c_=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.handlePathParameterValidation=void 0;var dO=Dr(),pO=ve(),Pi=Ii();function hO(t,e,r){if(!r.validatePathParameters||r.validatePathParameters===dO.ValidationOptions.none)return;let n=(0,Pi.getParametersForOperation)(t),i=(0,Pi.validateParameters)(n.filter(s=>s.location==="path"),e.params,t.route.path,e.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=pO.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Pi.shouldLog)(r.validatePathParameters)&&(0,Pi.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Pi.shouldReject)(r.validatePathParameters))return a}}o(hO,"handlePathParameterValidation");qa.handlePathParameterValidation=hO});var u_=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.handleQueryParameterValidation=void 0;var fO=Dr(),mO=ve(),Ri=Ii();function yO(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters===fO.ValidationOptions.none)return;let n=(0,Ri.getParametersForOperation)(t),i=(0,Ri.validateParameters)(n.filter(s=>s.location==="query"),e.query,t.route.path,e.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=mO.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ri.shouldLog)(r.validateQueryParameters)&&(0,Ri.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ri.shouldReject)(r.validateQueryParameters))return a}}o(yO,"handleQueryParameterValidation");$a.handleQueryParameterValidation=yO});var Dr=g(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.SchemaBasedRequestValidation=Ft.RequestValidationInboundPolicy=Ft.ValidationOptions=void 0;var gO=s_(),_O=a_(),bO=c_(),EO=u_(),l_;(function(t){t.none="none",t.logOnly="log-only",t.rejectAndLog="reject-and-log",t.rejectOnly="reject-only"})(l_||(Ft.ValidationOptions=l_={}));var wO=o(async(t,e,r)=>{let n=(0,EO.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,bO.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,_O.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,gO.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");Ft.RequestValidationInboundPolicy=wO;Ft.SchemaBasedRequestValidation=Ft.RequestValidationInboundPolicy});var d_=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.RequireOriginInboundPolicy=void 0;var vO=ke(),TO=D(),SO=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new TO.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=t.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return vO.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");ja.RequireOriginInboundPolicy=SO});var p_=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.SetBodyInboundPolicy=void 0;var IO=ke(),AO=o(async(t,e,r)=>new IO.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");Va.SetBodyInboundPolicy=AO});var f_=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.SetHeadersInboundPolicy=void 0;var PO=ke(),h_=D(),RO=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new h_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(t.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new h_.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 PO.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");Ga.SetHeadersInboundPolicy=RO});var y_=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.SetHeadersOutboundPolicy=void 0;var m_=D(),OO=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new m_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(t.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new m_.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(t.body,{headers:a,status:t.status,statusText:t.statusText})},"SetHeadersOutboundPolicy");Ba.SetHeadersOutboundPolicy=OO});var __=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SetQueryParamsInboundPolicy=void 0;var xO=ke(),g_=D(),NO=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new g_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(t.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new g_.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 xO.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Ka.SetQueryParamsInboundPolicy=NO});var b_=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SetStatusOutboundPolicy=void 0;var CO=o(async(t,e,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(t.body,{headers:t.headers,status:n.status,statusText:n.statusText??t.statusText})},"SetStatusOutboundPolicy");Ja.SetStatusOutboundPolicy=CO});var E_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.SleepInboundPolicy=void 0;var LO=D(),DO=o(async t=>new Promise((r,n)=>{setTimeout(r,t)}),"sleep"),UO=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new LO.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await DO(r.sleepInMs),t},"SleepInboundPolicy");za.SleepInboundPolicy=UO});var v_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.SupabaseJwtInboundPolicy=void 0;var MO=ke(),w_=D(),kO=ve(),FO=dr(),HO=Mt(),qO=o(async(t,e,r,n)=>{(0,FO.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,HO.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof MO.ZuploRequest))throw new w_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=t.user?.data.app_metadata;if(!c)throw new w_.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?kO.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Wa.SupabaseJwtInboundPolicy=qO});var S_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var $O=lr(),jO=br(),T_=D(),VO=Ge(),GO=_s(),BO=dr(),KO=o(async(t,e,r,n)=>{(0,BO.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=new jO.MemoryZoneReadThroughCache((0,$O.getPolicyCacheName)(n),{logger:VO.SystemLogMap.getLogger(e)}),s=await i.get(n);if(!s){let a=await JO(r,e);i.put(n,a.access_token,a.expires_in-(r.expirationOffsetSeconds??300)),s=a.access_token}return t.headers.set("Authorization",`Bearer ${s}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");Qa.UpstreamAzureAdServiceAuthInboundPolicy=KO;async function JO(t,e){let r=new URLSearchParams({client_id:t.activeDirectoryClientId,scope:`${t.activeDirectoryClientId}/.default`,client_secret:t.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,GO.fetchRetry)({retries:t.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${t.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();e.log.error("Could not get token from Azure AD",s)}catch{}throw new T_.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 T_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(JO,"getAccessToken")});var A_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var zO=lr(),WO=br(),QO=D(),YO=Ge(),ep=cn(),ZO=dr(),I_="https://accounts.google.com/o/oauth2/token",tp,XO=o(async(t,e,r,n)=>{(0,ZO.optionValidator)(r,n).required("serviceAccountJson","string"),tp||(tp=await ep.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=new WO.MemoryZoneReadThroughCache((0,zO.getPolicyCacheName)(n),{logger:YO.SystemLogMap.getLogger(e)}),a=await s.get(n);if(!a){let c=await(0,ep.getTokenFromGcpServiceAccount)({serviceAccount:tp,audience:I_,payload:i}),u=await(0,ep.exchangeGgpJwtForIdToken)(I_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u.access_token)throw new QO.RuntimeError("Invalid OAuth response from Firebase");a=u.access_token,s.put(n,a,(u.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");Ya.UpstreamFirebaseAdminAuthInboundPolicy=XO});var P_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.sha256=void 0;async function e0(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest({name:"SHA-256"},e);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(e0,"sha256");Za.sha256=e0});var R_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.UpstreamFirebaseUserAuthInboundPolicy=void 0;var t0=lr(),r0=br(),Ln=D(),n0=Ge(),i0=P_(),rp=cn(),o0=na(),s0=dr(),a0="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",c0=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],np,u0=o(async(t,e,r,n)=>{if((0,s0.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Ln.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let d in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,d)){if(c0.indexOf(d)!==-1)throw new Ln.ConfigurationError(`Developer claim "${d}" is reserved and cannot be specified.`);i[d]=r.developerClaims[d]}}np||(np=await rp.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new Ln.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=t.user?.sub}else if(r.userIdPropertyPath){if(!t.user)throw new Ln.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,o0.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Ln.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=new r0.MemoryZoneReadThroughCache((0,t0.getPolicyCacheName)(n),{logger:n0.SystemLogMap.getLogger(e)}),c={uid:s,claims:i},u=await(0,i0.sha256)(JSON.stringify(c)),l=await a.get(u);if(!l){let d=await(0,rp.getTokenFromGcpServiceAccount)({serviceAccount:np,audience:a0,payload:c}),p=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,m=await(0,rp.exchangeFirebaseJwtForIdToken)(p,d,{retries:r.tokenRetries??3,retryDelayMs:10});if(!m.idToken)throw new Ln.RuntimeError("Invalid token response from Firebase");l=m.idToken,a.put(u,l,(m.expiresIn?parseInt(m.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${l}`),t},"UpstreamFirebaseUserAuthInboundPolicy");Xa.UpstreamFirebaseUserAuthInboundPolicy=u0});var x_=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.UpstreamGcpJwtInboundPolicy=void 0;var O_=cn(),l0=dr(),ip,d0=o(async(t,e,r,n)=>{(0,l0.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),ip||(ip=await O_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,O_.getTokenFromGcpServiceAccount)({serviceAccount:ip,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");ec.UpstreamGcpJwtInboundPolicy=d0});var L_=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.UpstreamGcpServiceAuthInboundPolicy=void 0;var N_=lr(),p0=zc(),h0=br(),f0=D(),op=cn(),m0=dr(),C_="https://www.googleapis.com/oauth2/v4/token",sp,y0=o(async(t,e,r,n)=>{(0,m0.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),sp||(sp=await op.GcpServiceAccount.init(r.serviceAccountJson));let i;r.useMemoryCacheOnly?i=new p0.MemoryCache((0,N_.getPolicyCacheName)(n)):i=new h0.MemoryZoneReadThroughCache((0,N_.getPolicyCacheName)(n),e);let s=await i.get(n);if(!s){let a=await(0,op.getTokenFromGcpServiceAccount)({serviceAccount:sp,audience:C_,payload:{target_audience:`${r.audience}`}}),{id_token:c}=await(0,op.exchangeGgpJwtForIdToken)(C_,a,{retries:r.tokenRetries??3,retryDelayMs:10});if(!c)throw new f0.RuntimeError("Invalid token response from GCP");s=c,i.put(n,s,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${s}`),t},"UpstreamGcpServiceAuthInboundPolicy");tc.UpstreamGcpServiceAuthInboundPolicy=y0});var U_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.ValidateJsonSchemaInbound=void 0;var g0=D(),D_=ve(),_0=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return D_.HttpProblems.badRequest(t,e,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return t;let{errors:a}=r.validator;if(!a)throw new g0.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 D_.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");rc.ValidateJsonSchemaInbound=_0});var M_=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.serialize=pr.ContentTypes=void 0;pr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function b0(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(pr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(pr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(b0,"serialize");pr.serialize=b0});var k_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.ServiceProviderImpl=void 0;var E0=D(),ap=class t{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return t.#e||(t.#e=new t),t.#e}setInstance(e){t.#e=e}addService(e,r){if(this.services.get(e))throw new E0.SystemError(`A service with the name ${e} already exists -- you cannot have duplicate services`);this.services.set(e,r)}getService(e){return this.services.get(e)}};nc.ServiceProviderImpl=ap});var F_=g(cp=>{"use strict";Object.defineProperty(cp,"__esModule",{value:!0});var w0={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"};cp.default=w0});var ke=g(h=>{"use strict";var v0=h&&h.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),H_=h&&h.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&v0(e,t,r)},T0=h&&h.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(h,"__esModule",{value:!0});h.ReadmeMetricsInboundPolicy=h.RateLimitInboundPolicy=h.BasicRateLimitInboundPolicy=h.PropelAuthJwtInboundPolicy=h.OpenIdJwtInboundPolicy=h.OktaJwtInboundPolicy=h.setMoesifContext=h.MoesifInboundPolicy=h.MockApiInboundPolicy=h.JWTScopeValidationInboundPolicy=h.GeoFilterInboundPolicy=h.FormDataToJsonInboundPolicy=h.FirebaseJwtInboundPolicy=h.CompositeInboundPolicy=h.CognitoJwtInboundPolicy=h.ClerkJwtInboundPolicy=h.ClearHeadersOutboundPolicy=h.ClearHeadersInboundPolicy=h.ChangeMethodInboundPolicy=h.CachingInboundPolicy=h.BasicAuthInboundPolicy=h.Auth0JwtInboundPolicy=h.ApiKeyInboundPolicy=h.ApiAuthKeyInboundPolicy=h.AmberfloMeteringPolicy=h.AmberfloMeteringInboundPolicy=h.AuditLogPlugin=h.AuditLogDataStaxProvider=h.HttpStatusCode=h.webSocketPipelineHandler=h.webSocketHandler=h.urlRewriteHandler=h.urlForwardHandler=h.redirectHandler=h.openApiSpecHandler=h.awsLambdaHandler=h.AwsLambdaHandlerExtensions=h.purgeGatewayCache=h.Handler=h.originalFetch=h.ConfigurationError=h.isZuploReadableEnvVariableName=h.isRestrictedEnvVariableName=h.environment=h.ContextData=h.ResponseSentEvent=h.ResponseSendingEvent=h.VALID_COMPATIBILITY_DATES=h.ZoneCache=h.MemoryZoneReadThroughCache=void 0;h.sanitizedIdentifierName=h.getRawOperationDataIdentifierName=h.getIdForRequestBodySchema=h.getIdForRefSchema=h.getIdForParameterSchema=h.SystemLogMap=h.httpStatuses=h.SYSTEM_LOGGER=h.API_KEY=h.ServiceProviderImpl=h.serialize=h.ContentTypes=h.Router=h.LookupResult=h.SystemRouteName=h.ZuploRequest=h.ProblemResponseFormatter=h.HttpProblems=h.ValidateJsonSchemaInbound=h.UpstreamGcpServiceAuthInboundPolicy=h.UpstreamGcpJwtInboundPolicy=h.UpstreamFirebaseUserAuthInboundPolicy=h.UpstreamFirebaseAdminAuthInboundPolicy=h.UpstreamAzureAdServiceAuthInboundPolicy=h.SupabaseJwtInboundPolicy=h.SleepInboundPolicy=h.SetStatusOutboundPolicy=h.SetQueryParamsInboundPolicy=h.SetHeadersOutboundPolicy=h.SetHeadersInboundPolicy=h.SetBodyInboundPolicy=h.RequireOriginInboundPolicy=h.SchemaBasedRequestValidation=h.RequestValidationInboundPolicy=h.RequestSizeLimitInboundPolicy=h.ReplaceStringOutboundPolicy=h.RemoveQueryParamsInboundPolicy=h.RemoveHeadersOutboundPolicy=h.RemoveHeadersInboundPolicy=void 0;Vp();var S0=br();Object.defineProperty(h,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return S0.MemoryZoneReadThroughCache}});var I0=Yc();Object.defineProperty(h,"ZoneCache",{enumerable:!0,get:function(){return I0.ZoneCache}});var A0=Bp();Object.defineProperty(h,"VALID_COMPATIBILITY_DATES",{enumerable:!0,get:function(){return A0.VALID_COMPATIBILITY_DATES}});var q_=vr();Object.defineProperty(h,"ResponseSendingEvent",{enumerable:!0,get:function(){return q_.ResponseSendingEvent}});Object.defineProperty(h,"ResponseSentEvent",{enumerable:!0,get:function(){return q_.ResponseSentEvent}});var P0=uy();Object.defineProperty(h,"ContextData",{enumerable:!0,get:function(){return P0.ContextData}});var up=rd();Object.defineProperty(h,"environment",{enumerable:!0,get:function(){return up.environment}});Object.defineProperty(h,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return up.isRestrictedEnvVariableName}});Object.defineProperty(h,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return up.isZuploReadableEnvVariableName}});var R0=D();Object.defineProperty(h,"ConfigurationError",{enumerable:!0,get:function(){return R0.ConfigurationError}});var O0=id();Object.defineProperty(h,"originalFetch",{enumerable:!0,get:function(){return O0.originalFetch}});var $_=_y();Object.defineProperty(h,"Handler",{enumerable:!0,get:function(){return $_.Handler}});Object.defineProperty(h,"purgeGatewayCache",{enumerable:!0,get:function(){return $_.purgeGatewayCache}});var j_=Uy();Object.defineProperty(h,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return j_.AwsLambdaHandlerExtensions}});Object.defineProperty(h,"awsLambdaHandler",{enumerable:!0,get:function(){return j_.awsLambdaHandler}});var x0=ky();Object.defineProperty(h,"openApiSpecHandler",{enumerable:!0,get:function(){return x0.openApiSpecHandler}});var N0=Fy();Object.defineProperty(h,"redirectHandler",{enumerable:!0,get:function(){return N0.redirectHandler}});var C0=qy();Object.defineProperty(h,"urlForwardHandler",{enumerable:!0,get:function(){return C0.urlForwardHandler}});var L0=jy();Object.defineProperty(h,"urlRewriteHandler",{enumerable:!0,get:function(){return L0.urlRewriteHandler}});var D0=Gy();Object.defineProperty(h,"webSocketHandler",{enumerable:!0,get:function(){return D0.webSocketHandler}});var U0=Jy();Object.defineProperty(h,"webSocketPipelineHandler",{enumerable:!0,get:function(){return U0.webSocketPipelineHandler}});var M0=yu();Object.defineProperty(h,"HttpStatusCode",{enumerable:!0,get:function(){return M0.HttpStatusCode}});H_(tg(),h);H_(ig(),h);var k0=og();Object.defineProperty(h,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return k0.AuditLogDataStaxProvider}});var F0=ag();Object.defineProperty(h,"AuditLogPlugin",{enumerable:!0,get:function(){return F0.AuditLogPlugin}});var V_=fg();Object.defineProperty(h,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return V_.AmberfloMeteringInboundPolicy}});Object.defineProperty(h,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return V_.AmberfloMeteringPolicy}});var G_=_g();Object.defineProperty(h,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return G_.ApiAuthKeyInboundPolicy}});Object.defineProperty(h,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return G_.ApiKeyInboundPolicy}});var H0=bg();Object.defineProperty(h,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return H0.Auth0JwtInboundPolicy}});var q0=Eg();Object.defineProperty(h,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return q0.BasicAuthInboundPolicy}});var $0=wg();Object.defineProperty(h,"CachingInboundPolicy",{enumerable:!0,get:function(){return $0.CachingInboundPolicy}});var j0=vg();Object.defineProperty(h,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return j0.ChangeMethodInboundPolicy}});var V0=Tg();Object.defineProperty(h,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return V0.ClearHeadersInboundPolicy}});var G0=Sg();Object.defineProperty(h,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return G0.ClearHeadersOutboundPolicy}});var B0=Ig();Object.defineProperty(h,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return B0.ClerkJwtInboundPolicy}});var K0=Pg();Object.defineProperty(h,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return K0.CognitoJwtInboundPolicy}});var J0=Og();Object.defineProperty(h,"CompositeInboundPolicy",{enumerable:!0,get:function(){return J0.CompositeInboundPolicy}});var z0=xg();Object.defineProperty(h,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return z0.FirebaseJwtInboundPolicy}});var W0=Ng();Object.defineProperty(h,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return W0.FormDataToJsonInboundPolicy}});var Q0=Cg();Object.defineProperty(h,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Q0.GeoFilterInboundPolicy}});var Y0=Lg();Object.defineProperty(h,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Y0.JWTScopeValidationInboundPolicy}});var Z0=Ug();Object.defineProperty(h,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Z0.MockApiInboundPolicy}});var B_=qg();Object.defineProperty(h,"MoesifInboundPolicy",{enumerable:!0,get:function(){return B_.MoesifInboundPolicy}});Object.defineProperty(h,"setMoesifContext",{enumerable:!0,get:function(){return B_.setMoesifContext}});var X0=$g();Object.defineProperty(h,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return X0.OktaJwtInboundPolicy}});var ex=Mt();Object.defineProperty(h,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return ex.OpenIdJwtInboundPolicy}});var tx=jg();Object.defineProperty(h,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return tx.PropelAuthJwtInboundPolicy}});var K_=Wg();Object.defineProperty(h,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return K_.RateLimitInboundPolicy}});Object.defineProperty(h,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return K_.RateLimitInboundPolicy}});var rx=Xg();Object.defineProperty(h,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return rx.ReadmeMetricsInboundPolicy}});var nx=e_();Object.defineProperty(h,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return nx.RemoveHeadersInboundPolicy}});var ix=t_();Object.defineProperty(h,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return ix.RemoveHeadersOutboundPolicy}});var ox=r_();Object.defineProperty(h,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return ox.RemoveQueryParamsInboundPolicy}});var sx=n_();Object.defineProperty(h,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return sx.ReplaceStringOutboundPolicy}});var ax=o_();Object.defineProperty(h,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return ax.RequestSizeLimitInboundPolicy}});var J_=Dr();Object.defineProperty(h,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return J_.RequestValidationInboundPolicy}});Object.defineProperty(h,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return J_.SchemaBasedRequestValidation}});var cx=d_();Object.defineProperty(h,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return cx.RequireOriginInboundPolicy}});var ux=p_();Object.defineProperty(h,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return ux.SetBodyInboundPolicy}});var lx=f_();Object.defineProperty(h,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return lx.SetHeadersInboundPolicy}});var dx=y_();Object.defineProperty(h,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return dx.SetHeadersOutboundPolicy}});var px=__();Object.defineProperty(h,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return px.SetQueryParamsInboundPolicy}});var hx=b_();Object.defineProperty(h,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return hx.SetStatusOutboundPolicy}});var fx=E_();Object.defineProperty(h,"SleepInboundPolicy",{enumerable:!0,get:function(){return fx.SleepInboundPolicy}});var mx=v_();Object.defineProperty(h,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return mx.SupabaseJwtInboundPolicy}});var yx=S_();Object.defineProperty(h,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return yx.UpstreamAzureAdServiceAuthInboundPolicy}});var gx=A_();Object.defineProperty(h,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return gx.UpstreamFirebaseAdminAuthInboundPolicy}});var _x=R_();Object.defineProperty(h,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return _x.UpstreamFirebaseUserAuthInboundPolicy}});var bx=x_();Object.defineProperty(h,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return bx.UpstreamGcpJwtInboundPolicy}});var Ex=L_();Object.defineProperty(h,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return Ex.UpstreamGcpServiceAuthInboundPolicy}});var wx=U_();Object.defineProperty(h,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return wx.ValidateJsonSchemaInbound}});var vx=ve();Object.defineProperty(h,"HttpProblems",{enumerable:!0,get:function(){return vx.HttpProblems}});var Tx=ao();Object.defineProperty(h,"ProblemResponseFormatter",{enumerable:!0,get:function(){return Tx.ProblemResponseFormatter}});var Sx=Yn();Object.defineProperty(h,"ZuploRequest",{enumerable:!0,get:function(){return Sx.ZuploRequest}});var Ix=Ir();Object.defineProperty(h,"SystemRouteName",{enumerable:!0,get:function(){return Ix.SystemRouteName}});var z_=Jl();Object.defineProperty(h,"LookupResult",{enumerable:!0,get:function(){return z_.LookupResult}});Object.defineProperty(h,"Router",{enumerable:!0,get:function(){return z_.Router}});var W_=M_();Object.defineProperty(h,"ContentTypes",{enumerable:!0,get:function(){return W_.ContentTypes}});Object.defineProperty(h,"serialize",{enumerable:!0,get:function(){return W_.serialize}});var Ax=k_();Object.defineProperty(h,"ServiceProviderImpl",{enumerable:!0,get:function(){return Ax.ServiceProviderImpl}});var Q_=Au();Object.defineProperty(h,"API_KEY",{enumerable:!0,get:function(){return Q_.API_KEY}});Object.defineProperty(h,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return Q_.SYSTEM_LOGGER}});var Px=F_();Object.defineProperty(h,"httpStatuses",{enumerable:!0,get:function(){return T0(Px).default}});var Rx=Ge();Object.defineProperty(h,"SystemLogMap",{enumerable:!0,get:function(){return Rx.SystemLogMap}});var Oi=Ua();Object.defineProperty(h,"getIdForParameterSchema",{enumerable:!0,get:function(){return Oi.getIdForParameterSchema}});Object.defineProperty(h,"getIdForRefSchema",{enumerable:!0,get:function(){return Oi.getIdForRefSchema}});Object.defineProperty(h,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Oi.getIdForRequestBodySchema}});Object.defineProperty(h,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Oi.getRawOperationDataIdentifierName}});Object.defineProperty(h,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Oi.sanitizedIdentifierName}})});var Y_=g(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.BaseCryptoBeta=Dn.supportedDigests=void 0;Dn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var lp=class{static{o(this,"BaseCryptoBeta")}};Dn.BaseCryptoBeta=lp});var Z_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.WorkerCryptoBeta=void 0;var dp=Y_(),Ox=D(),pp=class extends dp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!dp.supportedDigests.includes(e.toLowerCase()))throw new Ox.RuntimeError(`Algorithm ${e} is not supported. Try using ${dp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(e,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};ic.WorkerCryptoBeta=pp});var X_=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.BaseKeyValueStore=void 0;var hp=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};oc.BaseKeyValueStore=hp});var tb=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.WorkerKeyValueStore=void 0;var eb=D(),xx=X_(),fp=class extends xx.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new eb.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(e,r,n){if(typeof e!="string")throw new eb.ConfigurationError("value must be of type string");return this.#e.put(e,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(e,r){return this.#e.get(e,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(e){return this.#e.delete(e)}};sc.WorkerKeyValueStore=fp});var xt=g(ut=>{"use strict";var Nx=ut&&ut.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Cx=ut&&ut.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Nx(e,t,r)};Object.defineProperty(ut,"__esModule",{value:!0});ut.KeyValueStore=ut.CryptoBeta=void 0;Cx(ke(),ut);var Lx=Z_();Object.defineProperty(ut,"CryptoBeta",{enumerable:!0,get:function(){return Lx.WorkerCryptoBeta}});var Dx=tb();Object.defineProperty(ut,"KeyValueStore",{enumerable:!0,get:function(){return Dx.WorkerKeyValueStore}})});var $N={};Ki($N,{GraphQLComplexityLimitInboundPolicy:()=>Lb,GraphQLDisableIntrospectionInboundPolicy:()=>Ub});module.exports=Ji($N);var Kn=Hp(xt());function B(t,e){if(!!!t)throw new Error(e)}o(B,"devAssert");function be(t){return typeof t=="object"&&t!==null}o(be,"isObjectLike");function St(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(St,"invariant");var Ux=/\r\n|[\n\r]/g;function Un(t,e){let r=0,n=1;for(let i of t.body.matchAll(Ux)){if(typeof i.index=="number"||St(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(Un,"getLocation");function mp(t){return ac(t.source,Un(t.source,t.start))}o(mp,"printLocation");function ac(t,e){let r=t.locationOffset.column-1,n="".padStart(r)+t.body,i=e.line-1,s=t.locationOffset.line-1,a=e.line+s,c=e.line===1?r:0,u=e.column+c,l=`${t.name}:${a}:${u}
66
+ `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),f=u%80,y=[];for(let v=0;v<p.length;v+=80)y.push(p.slice(v,v+80));return l+rb([[`${a} |`,y[0]],...y.slice(1,m+1).map(v=>["|",v]),["|","^".padStart(f)],["|",y[m+1]]])}return l+rb([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(ac,"printSourceLocation");function rb(t){let e=t.filter(([n,i])=>i!==void 0),r=Math.max(...e.map(([n])=>n.length));return e.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
67
+ `)}o(rb,"printPrefixedLines");function Mx(t){let e=t[0];return e==null||"kind"in e||"length"in e?{nodes:e,source:t[1],positions:t[2],path:t[3],originalError:t[4],extensions:t[5]}:e}o(Mx,"toNormalizedOptions");var C=class t extends Error{static{o(this,"GraphQLError")}constructor(e,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=Mx(r);super(e),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=nb(Array.isArray(a)?a:a?[a]:void 0);let m=nb((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(y=>y.start),this.locations=u&&c?u.map(y=>Un(c,y)):m?.map(y=>Un(y.source,y.start));let f=be(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??f)!==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,t):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(e+=`
68
68
 
69
- `+fp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)e+=`
69
+ `+mp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)e+=`
70
70
 
71
- `+cc(this.source,r);return e}toJSON(){let e={message:this.message};return this.locations!=null&&(e.locations=this.locations),this.path!=null&&(e.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}};function nb(t){return t===void 0||t.length===0?void 0:t}o(nb,"undefinedIfEmpty");function le(t,e,r){return new C(`Syntax Error: ${r}`,{source:t,positions:[e]})}o(le,"syntaxError");var xi=class{static{o(this,"Location")}constructor(e,r,n){this.start=e.start,this.end=r.end,this.startToken=e,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Mn=class{static{o(this,"Token")}constructor(e,r,n,i,s,a){this.kind=e,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}}},mp={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"]},Fx=new Set(Object.keys(mp));function Ni(t){let e=t?.kind;return typeof e=="string"&&Fx.has(e)}o(Ni,"isNode");var nt;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(nt||(nt={}));var K;(function(t){t.QUERY="QUERY",t.MUTATION="MUTATION",t.SUBSCRIPTION="SUBSCRIPTION",t.FIELD="FIELD",t.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",t.FRAGMENT_SPREAD="FRAGMENT_SPREAD",t.INLINE_FRAGMENT="INLINE_FRAGMENT",t.VARIABLE_DEFINITION="VARIABLE_DEFINITION",t.SCHEMA="SCHEMA",t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.FIELD_DEFINITION="FIELD_DEFINITION",t.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.ENUM_VALUE="ENUM_VALUE",t.INPUT_OBJECT="INPUT_OBJECT",t.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var _;(function(t){t.NAME="Name",t.DOCUMENT="Document",t.OPERATION_DEFINITION="OperationDefinition",t.VARIABLE_DEFINITION="VariableDefinition",t.SELECTION_SET="SelectionSet",t.FIELD="Field",t.ARGUMENT="Argument",t.FRAGMENT_SPREAD="FragmentSpread",t.INLINE_FRAGMENT="InlineFragment",t.FRAGMENT_DEFINITION="FragmentDefinition",t.VARIABLE="Variable",t.INT="IntValue",t.FLOAT="FloatValue",t.STRING="StringValue",t.BOOLEAN="BooleanValue",t.NULL="NullValue",t.ENUM="EnumValue",t.LIST="ListValue",t.OBJECT="ObjectValue",t.OBJECT_FIELD="ObjectField",t.DIRECTIVE="Directive",t.NAMED_TYPE="NamedType",t.LIST_TYPE="ListType",t.NON_NULL_TYPE="NonNullType",t.SCHEMA_DEFINITION="SchemaDefinition",t.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",t.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",t.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",t.FIELD_DEFINITION="FieldDefinition",t.INPUT_VALUE_DEFINITION="InputValueDefinition",t.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",t.UNION_TYPE_DEFINITION="UnionTypeDefinition",t.ENUM_TYPE_DEFINITION="EnumTypeDefinition",t.ENUM_VALUE_DEFINITION="EnumValueDefinition",t.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",t.DIRECTIVE_DEFINITION="DirectiveDefinition",t.SCHEMA_EXTENSION="SchemaExtension",t.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",t.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",t.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",t.UNION_TYPE_EXTENSION="UnionTypeExtension",t.ENUM_TYPE_EXTENSION="EnumTypeExtension",t.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(_||(_={}));function uc(t){return t===9||t===32}o(uc,"isWhiteSpace");function kn(t){return t>=48&&t<=57}o(kn,"isDigit");function ib(t){return t>=97&&t<=122||t>=65&&t<=90}o(ib,"isLetter");function Ci(t){return ib(t)||t===95}o(Ci,"isNameStart");function lc(t){return ib(t)||kn(t)||t===95}o(lc,"isNameContinue");function ob(t){var e;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<t.length;++a){var s;let c=t[a],u=Hx(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return t.map((a,c)=>c===0?a:a.slice(r)).slice((e=n)!==null&&e!==void 0?e:0,i+1)}o(ob,"dedentBlockStringLines");function Hx(t){let e=0;for(;e<t.length&&uc(t.charCodeAt(e));)++e;return e}o(Hx,"leadingWhitespace");function sb(t,e){let r=t.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(f=>f.length===0||uc(f.charCodeAt(0))),a=r.endsWith('\\"""'),c=t.endsWith('"')&&!a,u=t.endsWith("\\"),l=c||u,d=!(e!=null&&e.minimize)&&(!i||t.length>70||l||s||a),p="",m=i&&uc(t.charCodeAt(0));return(d&&!m||s)&&(p+=`
71
+ `+ac(this.source,r);return e}toJSON(){let e={message:this.message};return this.locations!=null&&(e.locations=this.locations),this.path!=null&&(e.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}};function nb(t){return t===void 0||t.length===0?void 0:t}o(nb,"undefinedIfEmpty");function le(t,e,r){return new C(`Syntax Error: ${r}`,{source:t,positions:[e]})}o(le,"syntaxError");var xi=class{static{o(this,"Location")}constructor(e,r,n){this.start=e.start,this.end=r.end,this.startToken=e,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Mn=class{static{o(this,"Token")}constructor(e,r,n,i,s,a){this.kind=e,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}}},yp={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"]},kx=new Set(Object.keys(yp));function Ni(t){let e=t?.kind;return typeof e=="string"&&kx.has(e)}o(Ni,"isNode");var nt;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(nt||(nt={}));var K;(function(t){t.QUERY="QUERY",t.MUTATION="MUTATION",t.SUBSCRIPTION="SUBSCRIPTION",t.FIELD="FIELD",t.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",t.FRAGMENT_SPREAD="FRAGMENT_SPREAD",t.INLINE_FRAGMENT="INLINE_FRAGMENT",t.VARIABLE_DEFINITION="VARIABLE_DEFINITION",t.SCHEMA="SCHEMA",t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.FIELD_DEFINITION="FIELD_DEFINITION",t.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.ENUM_VALUE="ENUM_VALUE",t.INPUT_OBJECT="INPUT_OBJECT",t.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var _;(function(t){t.NAME="Name",t.DOCUMENT="Document",t.OPERATION_DEFINITION="OperationDefinition",t.VARIABLE_DEFINITION="VariableDefinition",t.SELECTION_SET="SelectionSet",t.FIELD="Field",t.ARGUMENT="Argument",t.FRAGMENT_SPREAD="FragmentSpread",t.INLINE_FRAGMENT="InlineFragment",t.FRAGMENT_DEFINITION="FragmentDefinition",t.VARIABLE="Variable",t.INT="IntValue",t.FLOAT="FloatValue",t.STRING="StringValue",t.BOOLEAN="BooleanValue",t.NULL="NullValue",t.ENUM="EnumValue",t.LIST="ListValue",t.OBJECT="ObjectValue",t.OBJECT_FIELD="ObjectField",t.DIRECTIVE="Directive",t.NAMED_TYPE="NamedType",t.LIST_TYPE="ListType",t.NON_NULL_TYPE="NonNullType",t.SCHEMA_DEFINITION="SchemaDefinition",t.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",t.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",t.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",t.FIELD_DEFINITION="FieldDefinition",t.INPUT_VALUE_DEFINITION="InputValueDefinition",t.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",t.UNION_TYPE_DEFINITION="UnionTypeDefinition",t.ENUM_TYPE_DEFINITION="EnumTypeDefinition",t.ENUM_VALUE_DEFINITION="EnumValueDefinition",t.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",t.DIRECTIVE_DEFINITION="DirectiveDefinition",t.SCHEMA_EXTENSION="SchemaExtension",t.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",t.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",t.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",t.UNION_TYPE_EXTENSION="UnionTypeExtension",t.ENUM_TYPE_EXTENSION="EnumTypeExtension",t.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(_||(_={}));function cc(t){return t===9||t===32}o(cc,"isWhiteSpace");function kn(t){return t>=48&&t<=57}o(kn,"isDigit");function ib(t){return t>=97&&t<=122||t>=65&&t<=90}o(ib,"isLetter");function Ci(t){return ib(t)||t===95}o(Ci,"isNameStart");function uc(t){return ib(t)||kn(t)||t===95}o(uc,"isNameContinue");function ob(t){var e;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<t.length;++a){var s;let c=t[a],u=Fx(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return t.map((a,c)=>c===0?a:a.slice(r)).slice((e=n)!==null&&e!==void 0?e:0,i+1)}o(ob,"dedentBlockStringLines");function Fx(t){let e=0;for(;e<t.length&&cc(t.charCodeAt(e));)++e;return e}o(Fx,"leadingWhitespace");function sb(t,e){let r=t.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(f=>f.length===0||cc(f.charCodeAt(0))),a=r.endsWith('\\"""'),c=t.endsWith('"')&&!a,u=t.endsWith("\\"),l=c||u,d=!(e!=null&&e.minimize)&&(!i||t.length>70||l||s||a),p="",m=i&&cc(t.charCodeAt(0));return(d&&!m||s)&&(p+=`
72
72
  `),p+=r,(d||l)&&(p+=`
73
- `),'"""'+p+'"""'}o(sb,"printBlockString");var b;(function(t){t.SOF="<SOF>",t.EOF="<EOF>",t.BANG="!",t.DOLLAR="$",t.AMP="&",t.PAREN_L="(",t.PAREN_R=")",t.SPREAD="...",t.COLON=":",t.EQUALS="=",t.AT="@",t.BRACKET_L="[",t.BRACKET_R="]",t.BRACE_L="{",t.PIPE="|",t.BRACE_R="}",t.NAME="Name",t.INT="Int",t.FLOAT="Float",t.STRING="String",t.BLOCK_STRING="BlockString",t.COMMENT="Comment"})(b||(b={}));var Di=class{static{o(this,"Lexer")}constructor(e){let r=new Mn(b.SOF,0,0,0,0);this.source=e,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 e=this.token;if(e.kind!==b.EOF)do if(e.next)e=e.next;else{let r=qx(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===b.COMMENT);return e}};function cb(t){return t===b.BANG||t===b.DOLLAR||t===b.AMP||t===b.PAREN_L||t===b.PAREN_R||t===b.SPREAD||t===b.COLON||t===b.EQUALS||t===b.AT||t===b.BRACKET_L||t===b.BRACKET_R||t===b.BRACE_L||t===b.PIPE||t===b.BRACE_R}o(cb,"isPunctuatorTokenKind");function Fn(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}o(Fn,"isUnicodeScalarValue");function dc(t,e){return ub(t.charCodeAt(e))&&lb(t.charCodeAt(e+1))}o(dc,"isSupplementaryCodePoint");function ub(t){return t>=55296&&t<=56319}o(ub,"isLeadingSurrogate");function lb(t){return t>=56320&&t<=57343}o(lb,"isTrailingSurrogate");function Ur(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return b.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(Ur,"printCodePointAt");function he(t,e,r,n,i){let s=t.line,a=1+r-t.lineStart;return new Mn(e,r,n,s,a,i)}o(he,"createToken");function qx(t,e){let r=t.source.body,n=r.length,i=e;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++t.line,t.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++t.line,t.lineStart=i;continue;case 35:return $x(t,i);case 33:return he(t,b.BANG,i,i+1);case 36:return he(t,b.DOLLAR,i,i+1);case 38:return he(t,b.AMP,i,i+1);case 40:return he(t,b.PAREN_L,i,i+1);case 41:return he(t,b.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return he(t,b.SPREAD,i,i+3);break;case 58:return he(t,b.COLON,i,i+1);case 61:return he(t,b.EQUALS,i,i+1);case 64:return he(t,b.AT,i,i+1);case 91:return he(t,b.BRACKET_L,i,i+1);case 93:return he(t,b.BRACKET_R,i,i+1);case 123:return he(t,b.BRACE_L,i,i+1);case 124:return he(t,b.PIPE,i,i+1);case 125:return he(t,b.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?Jx(t,i):Vx(t,i)}if(kn(s)||s===45)return jx(t,i,s);if(Ci(s))return zx(t,i);throw le(t.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Fn(s)||dc(r,i)?`Unexpected character: ${Ur(t,i)}.`:`Invalid character: ${Ur(t,i)}.`)}return he(t,b.EOF,n,n)}o(qx,"readNextToken");function $x(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(Fn(s))++i;else if(dc(r,i))i+=2;else break}return he(t,b.COMMENT,e,i,r.slice(e+1,i))}o($x,"readComment");function jx(t,e,r){let n=t.source.body,i=e,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),kn(s))throw le(t.source,i,`Invalid number, unexpected digit after 0: ${Ur(t,i)}.`)}else i=yp(t,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=yp(t,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=yp(t,i,s),s=n.charCodeAt(i)),s===46||Ci(s))throw le(t.source,i,`Invalid number, expected digit but got: ${Ur(t,i)}.`);return he(t,a?b.FLOAT:b.INT,e,i,n.slice(e,i))}o(jx,"readNumber");function yp(t,e,r){if(!kn(r))throw le(t.source,e,`Invalid number, expected digit but got: ${Ur(t,e)}.`);let n=t.source.body,i=e+1;for(;kn(n.charCodeAt(i));)++i;return i}o(yp,"readDigits");function Vx(t,e){let r=t.source.body,n=r.length,i=e+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),he(t,b.STRING,e,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?Gx(t,i):Bx(t,i):Kx(t,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(Fn(c))++i;else if(dc(r,i))i+=2;else throw le(t.source,i,`Invalid character within String: ${Ur(t,i)}.`)}throw le(t.source,i,"Unterminated string.")}o(Vx,"readString");function Gx(t,e){let r=t.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(e+i++);if(s===125){if(i<5||!Fn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Li(s),n<0)break}throw le(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}o(Gx,"readEscapedUnicodeVariableWidth");function Bx(t,e){let r=t.source.body,n=ab(r,e+2);if(Fn(n))return{value:String.fromCodePoint(n),size:6};if(ub(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=ab(r,e+8);if(lb(i))return{value:String.fromCodePoint(n,i),size:12}}throw le(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}o(Bx,"readEscapedUnicodeFixedWidth");function ab(t,e){return Li(t.charCodeAt(e))<<12|Li(t.charCodeAt(e+1))<<8|Li(t.charCodeAt(e+2))<<4|Li(t.charCodeAt(e+3))}o(ab,"read16BitHexCode");function Li(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}o(Li,"readHexDigit");function Kx(t,e){let r=t.source.body;switch(r.charCodeAt(e+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(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}o(Kx,"readEscapedCharacter");function Jx(t,e){let r=t.source.body,n=r.length,i=t.lineStart,s=e+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=he(t,b.BLOCK_STRING,e,s+3,ob(u).join(`
75
- `));return t.line+=u.length-1,t.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(Fn(l))++s;else if(dc(r,s))s+=2;else throw le(t.source,s,`Invalid character within String: ${Ur(t,s)}.`)}throw le(t.source,s,"Unterminated string.")}o(Jx,"readBlockString");function zx(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(lc(s))++i;else break}return he(t,b.NAME,e,i,r.slice(e,i))}o(zx,"readName");function A(t){return pc(t,[])}o(A,"inspect");function pc(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return Wx(t,e);default:return String(t)}}o(pc,"formatValue");function Wx(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let r=[...e,t];if(Qx(t)){let n=t.toJSON();if(n!==t)return typeof n=="string"?n:pc(n,r)}else if(Array.isArray(t))return Zx(t,r);return Yx(t,r)}o(Wx,"formatObjectValue");function Qx(t){return typeof t.toJSON=="function"}o(Qx,"isJSONable");function Yx(t,e){let r=Object.entries(t);return r.length===0?"{}":e.length>2?"["+Xx(t)+"]":"{ "+r.map(([i,s])=>i+": "+pc(s,e)).join(", ")+" }"}o(Yx,"formatObject");function Zx(t,e){if(t.length===0)return"[]";if(e.length>2)return"[Array]";let r=Math.min(10,t.length),n=t.length-r,i=[];for(let s=0;s<r;++s)i.push(pc(t[s],e));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(Zx,"formatArray");function Xx(t){let e=Object.prototype.toString.call(t).replace(/^\[object /,"").replace(/]$/,"");if(e==="Object"&&typeof t.constructor=="function"){let r=t.constructor.name;if(typeof r=="string"&&r!=="")return r}return e}o(Xx,"getObjectTag");var Je=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(e,r){return e instanceof r},"instanceOf"):o(function(e,r){if(e instanceof r)return!0;if(typeof e=="object"&&e!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in e?e[Symbol.toStringTag]:(n=e.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=A(e);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
73
+ `),'"""'+p+'"""'}o(sb,"printBlockString");var b;(function(t){t.SOF="<SOF>",t.EOF="<EOF>",t.BANG="!",t.DOLLAR="$",t.AMP="&",t.PAREN_L="(",t.PAREN_R=")",t.SPREAD="...",t.COLON=":",t.EQUALS="=",t.AT="@",t.BRACKET_L="[",t.BRACKET_R="]",t.BRACE_L="{",t.PIPE="|",t.BRACE_R="}",t.NAME="Name",t.INT="Int",t.FLOAT="Float",t.STRING="String",t.BLOCK_STRING="BlockString",t.COMMENT="Comment"})(b||(b={}));var Di=class{static{o(this,"Lexer")}constructor(e){let r=new Mn(b.SOF,0,0,0,0);this.source=e,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 e=this.token;if(e.kind!==b.EOF)do if(e.next)e=e.next;else{let r=Hx(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===b.COMMENT);return e}};function cb(t){return t===b.BANG||t===b.DOLLAR||t===b.AMP||t===b.PAREN_L||t===b.PAREN_R||t===b.SPREAD||t===b.COLON||t===b.EQUALS||t===b.AT||t===b.BRACKET_L||t===b.BRACKET_R||t===b.BRACE_L||t===b.PIPE||t===b.BRACE_R}o(cb,"isPunctuatorTokenKind");function Fn(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}o(Fn,"isUnicodeScalarValue");function lc(t,e){return ub(t.charCodeAt(e))&&lb(t.charCodeAt(e+1))}o(lc,"isSupplementaryCodePoint");function ub(t){return t>=55296&&t<=56319}o(ub,"isLeadingSurrogate");function lb(t){return t>=56320&&t<=57343}o(lb,"isTrailingSurrogate");function Ur(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return b.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(Ur,"printCodePointAt");function he(t,e,r,n,i){let s=t.line,a=1+r-t.lineStart;return new Mn(e,r,n,s,a,i)}o(he,"createToken");function Hx(t,e){let r=t.source.body,n=r.length,i=e;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++t.line,t.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++t.line,t.lineStart=i;continue;case 35:return qx(t,i);case 33:return he(t,b.BANG,i,i+1);case 36:return he(t,b.DOLLAR,i,i+1);case 38:return he(t,b.AMP,i,i+1);case 40:return he(t,b.PAREN_L,i,i+1);case 41:return he(t,b.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return he(t,b.SPREAD,i,i+3);break;case 58:return he(t,b.COLON,i,i+1);case 61:return he(t,b.EQUALS,i,i+1);case 64:return he(t,b.AT,i,i+1);case 91:return he(t,b.BRACKET_L,i,i+1);case 93:return he(t,b.BRACKET_R,i,i+1);case 123:return he(t,b.BRACE_L,i,i+1);case 124:return he(t,b.PIPE,i,i+1);case 125:return he(t,b.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?Kx(t,i):jx(t,i)}if(kn(s)||s===45)return $x(t,i,s);if(Ci(s))return Jx(t,i);throw le(t.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Fn(s)||lc(r,i)?`Unexpected character: ${Ur(t,i)}.`:`Invalid character: ${Ur(t,i)}.`)}return he(t,b.EOF,n,n)}o(Hx,"readNextToken");function qx(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(Fn(s))++i;else if(lc(r,i))i+=2;else break}return he(t,b.COMMENT,e,i,r.slice(e+1,i))}o(qx,"readComment");function $x(t,e,r){let n=t.source.body,i=e,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),kn(s))throw le(t.source,i,`Invalid number, unexpected digit after 0: ${Ur(t,i)}.`)}else i=gp(t,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=gp(t,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=gp(t,i,s),s=n.charCodeAt(i)),s===46||Ci(s))throw le(t.source,i,`Invalid number, expected digit but got: ${Ur(t,i)}.`);return he(t,a?b.FLOAT:b.INT,e,i,n.slice(e,i))}o($x,"readNumber");function gp(t,e,r){if(!kn(r))throw le(t.source,e,`Invalid number, expected digit but got: ${Ur(t,e)}.`);let n=t.source.body,i=e+1;for(;kn(n.charCodeAt(i));)++i;return i}o(gp,"readDigits");function jx(t,e){let r=t.source.body,n=r.length,i=e+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),he(t,b.STRING,e,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?Vx(t,i):Gx(t,i):Bx(t,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(Fn(c))++i;else if(lc(r,i))i+=2;else throw le(t.source,i,`Invalid character within String: ${Ur(t,i)}.`)}throw le(t.source,i,"Unterminated string.")}o(jx,"readString");function Vx(t,e){let r=t.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(e+i++);if(s===125){if(i<5||!Fn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Li(s),n<0)break}throw le(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}o(Vx,"readEscapedUnicodeVariableWidth");function Gx(t,e){let r=t.source.body,n=ab(r,e+2);if(Fn(n))return{value:String.fromCodePoint(n),size:6};if(ub(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=ab(r,e+8);if(lb(i))return{value:String.fromCodePoint(n,i),size:12}}throw le(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}o(Gx,"readEscapedUnicodeFixedWidth");function ab(t,e){return Li(t.charCodeAt(e))<<12|Li(t.charCodeAt(e+1))<<8|Li(t.charCodeAt(e+2))<<4|Li(t.charCodeAt(e+3))}o(ab,"read16BitHexCode");function Li(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}o(Li,"readHexDigit");function Bx(t,e){let r=t.source.body;switch(r.charCodeAt(e+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(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}o(Bx,"readEscapedCharacter");function Kx(t,e){let r=t.source.body,n=r.length,i=t.lineStart,s=e+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=he(t,b.BLOCK_STRING,e,s+3,ob(u).join(`
75
+ `));return t.line+=u.length-1,t.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(Fn(l))++s;else if(lc(r,s))s+=2;else throw le(t.source,s,`Invalid character within String: ${Ur(t,s)}.`)}throw le(t.source,s,"Unterminated string.")}o(Kx,"readBlockString");function Jx(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(uc(s))++i;else break}return he(t,b.NAME,e,i,r.slice(e,i))}o(Jx,"readName");function A(t){return dc(t,[])}o(A,"inspect");function dc(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return zx(t,e);default:return String(t)}}o(dc,"formatValue");function zx(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let r=[...e,t];if(Wx(t)){let n=t.toJSON();if(n!==t)return typeof n=="string"?n:dc(n,r)}else if(Array.isArray(t))return Yx(t,r);return Qx(t,r)}o(zx,"formatObjectValue");function Wx(t){return typeof t.toJSON=="function"}o(Wx,"isJSONable");function Qx(t,e){let r=Object.entries(t);return r.length===0?"{}":e.length>2?"["+Zx(t)+"]":"{ "+r.map(([i,s])=>i+": "+dc(s,e)).join(", ")+" }"}o(Qx,"formatObject");function Yx(t,e){if(t.length===0)return"[]";if(e.length>2)return"[Array]";let r=Math.min(10,t.length),n=t.length-r,i=[];for(let s=0;s<r;++s)i.push(dc(t[s],e));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(Yx,"formatArray");function Zx(t){let e=Object.prototype.toString.call(t).replace(/^\[object /,"").replace(/]$/,"");if(e==="Object"&&typeof t.constructor=="function"){let r=t.constructor.name;if(typeof r=="string"&&r!=="")return r}return e}o(Zx,"getObjectTag");var Je=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(e,r){return e instanceof r},"instanceOf"):o(function(e,r){if(e instanceof r)return!0;if(typeof e=="object"&&e!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in e?e[Symbol.toStringTag]:(n=e.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=A(e);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 Hn=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||B(!1,`Body must be a string. Received: ${A(e)}.`),this.body=e,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 db(t){return Je(t,Hn)}o(db,"isSource");function mc(t,e){return new fc(t,e).parseDocument()}o(mc,"parse");function yc(t,e){let r=new fc(t,e);r.expectToken(b.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(b.EOF),n}o(yc,"parseValue");var fc=class{static{o(this,"Parser")}constructor(e,r={}){let n=db(e)?e:new Hn(e);this._lexer=new Di(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(b.NAME);return this.node(e,{kind:_.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:_.DOCUMENT,definitions:this.many(b.SOF,this.parseDefinition,b.EOF)})}parseDefinition(){if(this.peek(b.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===b.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(e)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 e=this._lexer.token;if(this.peek(b.BRACE_L))return this.node(e,{kind:_.OPERATION_DEFINITION,operation:nt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(b.NAME)&&(n=this.parseName()),this.node(e,{kind:_.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(b.NAME);switch(e.value){case"query":return nt.QUERY;case"mutation":return nt.MUTATION;case"subscription":return nt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(b.PAREN_L,this.parseVariableDefinition,b.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(b.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(b.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(b.DOLLAR),this.node(e,{kind:_.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_.SELECTION_SET,selections:this.many(b.BRACE_L,this.parseSelection,b.BRACE_R)})}parseSelection(){return this.peek(b.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(b.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:_.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(b.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(b.PAREN_L,r,b.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(b.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(b.NAME)?this.node(e,{kind:_.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:_.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(e,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:_.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(e){let r=this._lexer.token;switch(r.kind){case b.BRACKET_L:return this.parseList(e);case b.BRACE_L:return this.parseObject(e);case b.INT:return this.advanceLexer(),this.node(r,{kind:_.INT,value:r.value});case b.FLOAT:return this.advanceLexer(),this.node(r,{kind:_.FLOAT,value:r.value});case b.STRING:case b.BLOCK_STRING:return this.parseStringLiteral();case b.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:_.BOOLEAN,value:!0});case"false":return this.node(r,{kind:_.BOOLEAN,value:!1});case"null":return this.node(r,{kind:_.NULL});default:return this.node(r,{kind:_.ENUM,value:r.value})}case b.DOLLAR:if(e)if(this.expectToken(b.DOLLAR),this._lexer.token.kind===b.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 e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:_.STRING,value:e.value,block:e.kind===b.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:_.LIST,values:this.any(b.BRACKET_L,r,b.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:_.OBJECT,fields:this.any(b.BRACE_L,r,b.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(b.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(b.AT),this.node(r,{kind:_.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(b.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(b.BRACKET_R),r=this.node(e,{kind:_.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(b.BANG)?this.node(e,{kind:_.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:_.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(b.STRING)||this.peek(b.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);return this.node(e,{kind:_.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(b.COLON);let n=this.parseNamedType();return this.node(e,{kind:_.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(e,{kind:_.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let e=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(e,{kind:_.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(b.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseFieldDefinition,b.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(b.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:_.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(b.PAREN_L,this.parseInputValueDef,b.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(b.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(b.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:_.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let e=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(e,{kind:_.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(e,{kind:_.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(b.EQUALS)?this.delimitedMany(b.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(e,{kind:_.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(b.BRACE_L,this.parseEnumValueDefinition,b.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:_.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,`${hc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(e,{kind:_.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseInputValueDef,b.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===b.NAME)switch(e.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(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:_.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let e=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(e,{kind:_.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let e=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(e,{kind:_.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let e=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(e,{kind:_.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let e=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(e,{kind:_.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let e=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(e,{kind:_.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let e=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(e,{kind:_.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(b.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:_.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(b.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new xi(e,this._lexer.lastToken,this._lexer.source)),r}peek(e){return this._lexer.token.kind===e}expectToken(e){let r=this._lexer.token;if(r.kind===e)return this.advanceLexer(),r;throw le(this._lexer.source,r.start,`Expected ${pb(e)}, found ${hc(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===b.NAME&&r.value===e)this.advanceLexer();else throw le(this._lexer.source,r.start,`Expected "${e}", found ${hc(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===b.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return le(this._lexer.source,r.start,`Unexpected ${hc(r)}.`)}any(e,r,n){this.expectToken(e);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(e,r,n){if(this.expectOptionalToken(e)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(e,r,n){this.expectToken(e);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(e,r){this.expectOptionalToken(e);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(e));return n}advanceLexer(){let{maxTokens:e}=this._options,r=this._lexer.advance();if(e!==void 0&&r.kind!==b.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw le(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function hc(t){let e=t.value;return pb(t.kind)+(e!=null?` "${e}"`:"")}o(hc,"getTokenDesc");function pb(t){return cb(t)?`"${t}"`:t}o(pb,"getTokenKindDesc");function gc(t,e){let[r,n]=e?[t,e]:[void 0,t],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(gc,"didYouMean");function gp(t){return t}o(gp,"identityFunc");function qn(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(qn,"keyMap");function It(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(It,"keyValMap");function Ui(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(Ui,"mapValue");function hb(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(_c(i)&&_c(s)){let a=0;do++r,a=a*10+i-_p,i=t.charCodeAt(r);while(_c(i)&&a>0);let c=0;do++n,c=c*10+s-_p,s=e.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 t.length-e.length}o(hb,"naturalCompare");var _p=48,eN=57;function _c(t){return!isNaN(t)&&_p<=t&&t<=eN}o(_c,"isDigit");function bc(t,e){let r=Object.create(null),n=new bp(t),i=Math.floor(t.length*.4)+1;for(let s of e){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:hb(s,a)})}o(bc,"suggestionList");var bp=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=fb(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,r){if(this._input===e)return 0;let n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let i=fb(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],f=m[0]=d;for(let y=1;y<=c;y++){let v=i[d-1]===s[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+v);if(d>1&&y>1&&i[d-1]===s[y-2]&&i[d-2]===s[y-1]){let S=u[(d-2)%3][y-2];T=Math.min(T,S+1)}T<f&&(f=T),m[y]=T}if(f>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function fb(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(fb,"stringToArray");function Le(t){if(t==null)return Object.create(null);if(Object.getPrototypeOf(t)===null)return t;let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=n;return e}o(Le,"toObjMap");function mb(t){return`"${t.replace(tN,rN)}"`}o(mb,"printString");var tN=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function rN(t){return nN[t.charCodeAt(0)]}o(rN,"escapedReplacer");var nN=["\\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 Ep=Object.freeze({});function hr(t,e,r=mp){let n=new Map;for(let S of Object.values(_))n.set(S,$n(e,S));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,m=[],f=[];do{c++;let S=c===a.length,M=S&&u.length!==0;if(S){if(d=f.length===0?void 0:m[m.length-1],l=p,p=f.pop(),M)if(s){l=l.slice();let R=0;for(let[ne,Y]of u){let fe=ne-R;Y===null?(l.splice(fe,1),R++):l[fe]=Y}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[R,ne]of u)l[R]=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;m.push(d)}let H;if(!Array.isArray(l)){var y,v;Ni(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let R=S?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(H=R?.call(e,l,d,p,m,f),H===Ep)break;if(H===!1){if(!S){m.pop();continue}}else if(H!==void 0&&(u.push([d,H]),!S))if(Ni(H))l=H;else{m.pop();continue}}if(H===void 0&&M&&u.push([d,l]),S)m.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&f.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(hr,"visit");function $n(t,e){let r=t[e];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:t.enter,leave:t.leave}}o($n,"getEnterLeaveForKind");function De(t){return hr(t,oN)}o(De,"print");var iN=80,oN={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>x(t.definitions,`
86
+ spurious results.`)}}return!1},"instanceOf");var Hn=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||B(!1,`Body must be a string. Received: ${A(e)}.`),this.body=e,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 db(t){return Je(t,Hn)}o(db,"isSource");function fc(t,e){return new hc(t,e).parseDocument()}o(fc,"parse");function mc(t,e){let r=new hc(t,e);r.expectToken(b.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(b.EOF),n}o(mc,"parseValue");var hc=class{static{o(this,"Parser")}constructor(e,r={}){let n=db(e)?e:new Hn(e);this._lexer=new Di(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(b.NAME);return this.node(e,{kind:_.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:_.DOCUMENT,definitions:this.many(b.SOF,this.parseDefinition,b.EOF)})}parseDefinition(){if(this.peek(b.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===b.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(e)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 e=this._lexer.token;if(this.peek(b.BRACE_L))return this.node(e,{kind:_.OPERATION_DEFINITION,operation:nt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(b.NAME)&&(n=this.parseName()),this.node(e,{kind:_.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(b.NAME);switch(e.value){case"query":return nt.QUERY;case"mutation":return nt.MUTATION;case"subscription":return nt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(b.PAREN_L,this.parseVariableDefinition,b.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(b.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(b.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(b.DOLLAR),this.node(e,{kind:_.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_.SELECTION_SET,selections:this.many(b.BRACE_L,this.parseSelection,b.BRACE_R)})}parseSelection(){return this.peek(b.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(b.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:_.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(b.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(b.PAREN_L,r,b.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(b.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(b.NAME)?this.node(e,{kind:_.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:_.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(e,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:_.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(e){let r=this._lexer.token;switch(r.kind){case b.BRACKET_L:return this.parseList(e);case b.BRACE_L:return this.parseObject(e);case b.INT:return this.advanceLexer(),this.node(r,{kind:_.INT,value:r.value});case b.FLOAT:return this.advanceLexer(),this.node(r,{kind:_.FLOAT,value:r.value});case b.STRING:case b.BLOCK_STRING:return this.parseStringLiteral();case b.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:_.BOOLEAN,value:!0});case"false":return this.node(r,{kind:_.BOOLEAN,value:!1});case"null":return this.node(r,{kind:_.NULL});default:return this.node(r,{kind:_.ENUM,value:r.value})}case b.DOLLAR:if(e)if(this.expectToken(b.DOLLAR),this._lexer.token.kind===b.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 e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:_.STRING,value:e.value,block:e.kind===b.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:_.LIST,values:this.any(b.BRACKET_L,r,b.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:_.OBJECT,fields:this.any(b.BRACE_L,r,b.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(b.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(b.AT),this.node(r,{kind:_.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(b.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(b.BRACKET_R),r=this.node(e,{kind:_.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(b.BANG)?this.node(e,{kind:_.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:_.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(b.STRING)||this.peek(b.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);return this.node(e,{kind:_.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(b.COLON);let n=this.parseNamedType();return this.node(e,{kind:_.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(e,{kind:_.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let e=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(e,{kind:_.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(b.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseFieldDefinition,b.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(b.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:_.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(b.PAREN_L,this.parseInputValueDef,b.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(b.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(b.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:_.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let e=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(e,{kind:_.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(e,{kind:_.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(b.EQUALS)?this.delimitedMany(b.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(e,{kind:_.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(b.BRACE_L,this.parseEnumValueDefinition,b.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:_.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,`${pc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(e,{kind:_.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseInputValueDef,b.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===b.NAME)switch(e.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(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:_.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let e=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(e,{kind:_.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let e=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(e,{kind:_.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let e=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(e,{kind:_.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let e=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(e,{kind:_.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let e=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(e,{kind:_.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let e=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(e,{kind:_.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(b.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:_.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(b.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new xi(e,this._lexer.lastToken,this._lexer.source)),r}peek(e){return this._lexer.token.kind===e}expectToken(e){let r=this._lexer.token;if(r.kind===e)return this.advanceLexer(),r;throw le(this._lexer.source,r.start,`Expected ${pb(e)}, found ${pc(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===b.NAME&&r.value===e)this.advanceLexer();else throw le(this._lexer.source,r.start,`Expected "${e}", found ${pc(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===b.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return le(this._lexer.source,r.start,`Unexpected ${pc(r)}.`)}any(e,r,n){this.expectToken(e);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(e,r,n){if(this.expectOptionalToken(e)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(e,r,n){this.expectToken(e);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(e,r){this.expectOptionalToken(e);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(e));return n}advanceLexer(){let{maxTokens:e}=this._options,r=this._lexer.advance();if(e!==void 0&&r.kind!==b.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw le(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function pc(t){let e=t.value;return pb(t.kind)+(e!=null?` "${e}"`:"")}o(pc,"getTokenDesc");function pb(t){return cb(t)?`"${t}"`:t}o(pb,"getTokenKindDesc");function yc(t,e){let[r,n]=e?[t,e]:[void 0,t],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(yc,"didYouMean");function _p(t){return t}o(_p,"identityFunc");function qn(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(qn,"keyMap");function It(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(It,"keyValMap");function Ui(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(Ui,"mapValue");function hb(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(gc(i)&&gc(s)){let a=0;do++r,a=a*10+i-bp,i=t.charCodeAt(r);while(gc(i)&&a>0);let c=0;do++n,c=c*10+s-bp,s=e.charCodeAt(n);while(gc(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 t.length-e.length}o(hb,"naturalCompare");var bp=48,Xx=57;function gc(t){return!isNaN(t)&&bp<=t&&t<=Xx}o(gc,"isDigit");function _c(t,e){let r=Object.create(null),n=new Ep(t),i=Math.floor(t.length*.4)+1;for(let s of e){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:hb(s,a)})}o(_c,"suggestionList");var Ep=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=fb(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,r){if(this._input===e)return 0;let n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let i=fb(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],f=m[0]=d;for(let y=1;y<=c;y++){let v=i[d-1]===s[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+v);if(d>1&&y>1&&i[d-1]===s[y-2]&&i[d-2]===s[y-1]){let I=u[(d-2)%3][y-2];T=Math.min(T,I+1)}T<f&&(f=T),m[y]=T}if(f>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function fb(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(fb,"stringToArray");function Le(t){if(t==null)return Object.create(null);if(Object.getPrototypeOf(t)===null)return t;let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=n;return e}o(Le,"toObjMap");function mb(t){return`"${t.replace(eN,tN)}"`}o(mb,"printString");var eN=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function tN(t){return rN[t.charCodeAt(0)]}o(tN,"escapedReplacer");var rN=["\\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 wp=Object.freeze({});function hr(t,e,r=yp){let n=new Map;for(let I of Object.values(_))n.set(I,$n(e,I));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,m=[],f=[];do{c++;let I=c===a.length,k=I&&u.length!==0;if(I){if(d=f.length===0?void 0:m[m.length-1],l=p,p=f.pop(),k)if(s){l=l.slice();let x=0;for(let[oe,ee]of u){let fe=oe-x;ee===null?(l.splice(fe,1),x++):l[fe]=ee}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[x,oe]of u)l[x]=oe}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;m.push(d)}let j;if(!Array.isArray(l)){var y,v;Ni(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let x=I?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=x?.call(e,l,d,p,m,f),j===wp)break;if(j===!1){if(!I){m.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!I))if(Ni(j))l=j;else{m.pop();continue}}if(j===void 0&&k&&u.push([d,l]),I)m.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&f.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(hr,"visit");function $n(t,e){let r=t[e];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:t.enter,leave:t.leave}}o($n,"getEnterLeaveForKind");function De(t){return hr(t,iN)}o(De,"print");var nN=80,iN={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>O(t.definitions,`
87
87
 
88
- `)},OperationDefinition:{leave(t){let e=J("(",x(t.variableDefinitions,", "),")"),r=x([t.operation,x([t.name,e]),x(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n})=>t+": "+e+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:t})=>lt(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let s=J("",t,": ")+e,a=s+J("(",x(r,", "),")");return a.length>iN&&(a=s+J(`(
89
- `,Ec(x(r,`
88
+ `)},OperationDefinition:{leave(t){let e=J("(",O(t.variableDefinitions,", "),")"),r=O([t.operation,O([t.name,e]),O(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n})=>t+": "+e+J(" = ",r)+J(" ",O(n," "))},SelectionSet:{leave:({selections:t})=>lt(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let s=J("",t,": ")+e,a=s+J("(",O(r,", "),")");return a.length>nN&&(a=s+J(`(
89
+ `,bc(O(r,`
90
90
  `)),`
91
- )`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+J(" ",x(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>x(["...",J("on ",t),x(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${J("(",x(r,", "),")")} on ${e} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?sb(t):mb(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+x(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+x(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+J("(",x(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>J("",t,`
92
- `)+x(["schema",x(e," "),lt(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>J("",t,`
93
- `)+x(["scalar",e,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>J("",t,`
94
- `)+x(["type",e,J("implements ",x(r," & ")),x(n," "),lt(i)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:r,type:n,directives:i})=>J("",t,`
91
+ )`)),O([a,O(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+J(" ",O(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>O(["...",J("on ",t),O(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${J("(",O(r,", "),")")} on ${e} ${J("",O(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?sb(t):mb(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+O(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+O(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+J("(",O(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>J("",t,`
92
+ `)+O(["schema",O(e," "),lt(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>J("",t,`
93
+ `)+O(["scalar",e,O(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>J("",t,`
94
+ `)+O(["type",e,J("implements ",O(r," & ")),O(n," "),lt(i)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:r,type:n,directives:i})=>J("",t,`
95
95
  `)+e+(yb(r)?J(`(
96
- `,Ec(x(r,`
96
+ `,bc(O(r,`
97
97
  `)),`
98
- )`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:t,name:e,type:r,defaultValue:n,directives:i})=>J("",t,`
99
- `)+x([e+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>J("",t,`
100
- `)+x(["interface",e,J("implements ",x(r," & ")),x(n," "),lt(i)]," ")},UnionTypeDefinition:{leave:({description:t,name:e,directives:r,types:n})=>J("",t,`
101
- `)+x(["union",e,x(r," "),J("= ",x(n," | "))]," ")},EnumTypeDefinition:{leave:({description:t,name:e,directives:r,values:n})=>J("",t,`
102
- `)+x(["enum",e,x(r," "),lt(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>J("",t,`
103
- `)+x([e,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>J("",t,`
104
- `)+x(["input",e,x(r," "),lt(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,repeatable:n,locations:i})=>J("",t,`
98
+ )`):J("(",O(r,", "),")"))+": "+n+J(" ",O(i," "))},InputValueDefinition:{leave:({description:t,name:e,type:r,defaultValue:n,directives:i})=>J("",t,`
99
+ `)+O([e+": "+r,J("= ",n),O(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>J("",t,`
100
+ `)+O(["interface",e,J("implements ",O(r," & ")),O(n," "),lt(i)]," ")},UnionTypeDefinition:{leave:({description:t,name:e,directives:r,types:n})=>J("",t,`
101
+ `)+O(["union",e,O(r," "),J("= ",O(n," | "))]," ")},EnumTypeDefinition:{leave:({description:t,name:e,directives:r,values:n})=>J("",t,`
102
+ `)+O(["enum",e,O(r," "),lt(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>J("",t,`
103
+ `)+O([e,O(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>J("",t,`
104
+ `)+O(["input",e,O(r," "),lt(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,repeatable:n,locations:i})=>J("",t,`
105
105
  `)+"directive @"+e+(yb(r)?J(`(
106
- `,Ec(x(r,`
106
+ `,bc(O(r,`
107
107
  `)),`
108
- )`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>x(["extend schema",x(t," "),lt(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>x(["extend scalar",t,x(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>x(["extend type",t,J("implements ",x(e," & ")),x(r," "),lt(n)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>x(["extend interface",t,J("implements ",x(e," & ")),x(r," "),lt(n)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:r})=>x(["extend union",t,x(e," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:r})=>x(["extend enum",t,x(e," "),lt(r)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:r})=>x(["extend input",t,x(e," "),lt(r)]," ")}};function x(t,e=""){var r;return(r=t?.filter(n=>n).join(e))!==null&&r!==void 0?r:""}o(x,"join");function lt(t){return J(`{
109
- `,Ec(x(t,`
108
+ )`):J("(",O(r,", "),")"))+(n?" repeatable":"")+" on "+O(i," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>O(["extend schema",O(t," "),lt(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>O(["extend scalar",t,O(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>O(["extend type",t,J("implements ",O(e," & ")),O(r," "),lt(n)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>O(["extend interface",t,J("implements ",O(e," & ")),O(r," "),lt(n)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:r})=>O(["extend union",t,O(e," "),J("= ",O(r," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:r})=>O(["extend enum",t,O(e," "),lt(r)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:r})=>O(["extend input",t,O(e," "),lt(r)]," ")}};function O(t,e=""){var r;return(r=t?.filter(n=>n).join(e))!==null&&r!==void 0?r:""}o(O,"join");function lt(t){return J(`{
109
+ `,bc(O(t,`
110
110
  `)),`
111
- }`)}o(lt,"block");function J(t,e,r=""){return e!=null&&e!==""?t+e+r:""}o(J,"wrap");function Ec(t){return J(" ",t.replace(/\n/g,`
112
- `))}o(Ec,"indent");function yb(t){var e;return(e=t?.some(r=>r.includes(`
113
- `)))!==null&&e!==void 0?e:!1}o(yb,"hasMultilineItems");function Mi(t,e){switch(t.kind){case _.NULL:return null;case _.INT:return parseInt(t.value,10);case _.FLOAT:return parseFloat(t.value);case _.STRING:case _.ENUM:case _.BOOLEAN:return t.value;case _.LIST:return t.values.map(r=>Mi(r,e));case _.OBJECT:return It(t.fields,r=>r.name.value,r=>Mi(r.value,e));case _.VARIABLE:return e?.[t.name.value]}}o(Mi,"valueFromASTUntyped");function je(t){if(t!=null||B(!1,"Must provide name."),typeof t=="string"||B(!1,"Expected name to be a string."),t.length===0)throw new C("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!lc(t.charCodeAt(e)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!Ci(t.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(je,"assertName");function wp(t){if(t==="true"||t==="false"||t==="null")throw new C(`Enum values cannot be named: ${t}`);return je(t)}o(wp,"assertEnumValueName");function vc(t){return fr(t)||Ne(t)||Ee(t)||it(t)||We(t)||Pe(t)||Ve(t)||ae(t)}o(vc,"isType");function fr(t){return Je(t,ze)}o(fr,"isScalarType");function Ne(t){return Je(t,xe)}o(Ne,"isObjectType");function Tc(t){if(!Ne(t))throw new Error(`Expected ${A(t)} to be a GraphQL Object type.`);return t}o(Tc,"assertObjectType");function Ee(t){return Je(t,Ht)}o(Ee,"isInterfaceType");function Sc(t){if(!Ee(t))throw new Error(`Expected ${A(t)} to be a GraphQL Interface type.`);return t}o(Sc,"assertInterfaceType");function it(t){return Je(t,Mr)}o(it,"isUnionType");function We(t){return Je(t,At)}o(We,"isEnumType");function Pe(t){return Je(t,kr)}o(Pe,"isInputObjectType");function Ve(t){return Je(t,de)}o(Ve,"isListType");function ae(t){return Je(t,j)}o(ae,"isNonNullType");function Qe(t){return fr(t)||We(t)||Pe(t)||ki(t)&&Qe(t.ofType)}o(Qe,"isInputType");function qt(t){return fr(t)||Ne(t)||Ee(t)||it(t)||We(t)||ki(t)&&qt(t.ofType)}o(qt,"isOutputType");function mr(t){return fr(t)||We(t)}o(mr,"isLeafType");function Pt(t){return Ne(t)||Ee(t)||it(t)}o(Pt,"isCompositeType");function yr(t){return Ee(t)||it(t)}o(yr,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(e){vc(e)||B(!1,`Expected ${A(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},j=class{static{o(this,"GraphQLNonNull")}constructor(e){Ic(e)||B(!1,`Expected ${A(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function ki(t){return Ve(t)||ae(t)}o(ki,"isWrappingType");function Ic(t){return vc(t)&&!ae(t)}o(Ic,"isNullableType");function Ac(t){if(!Ic(t))throw new Error(`Expected ${A(t)} to be a GraphQL nullable type.`);return t}o(Ac,"assertNullableType");function Pc(t){if(t)return ae(t)?t.ofType:t}o(Pc,"getNullableType");function dt(t){if(t){let e=t;for(;ki(e);)e=e.ofType;return e}}o(dt,"getNamedType");function Rc(t){return typeof t=="function"?t():t}o(Rc,"resolveReadonlyArrayThunk");function Oc(t){return typeof t=="function"?t():t}o(Oc,"resolveObjMapThunk");var ze=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:gp;this.name=je(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:gp,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Mi(c,u)),this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(e.specifiedByURL)}.`),e.serialize==null||typeof e.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.`),e.parseLiteral&&(typeof e.parseValue=="function"&&typeof e.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(e){var r;this.name=je(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>_b(e),this._interfaces=()=>gb(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(e.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:bb(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function gb(t){var e;let r=Rc((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||B(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(gb,"defineInterfaces");function _b(t){let e=Oc(t.fields);return jn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Ui(e,(r,n)=>{var i;jn(r)||B(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${t.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 jn(s)||B(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:vp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}})}o(_b,"defineFieldMap");function vp(t){return Object.entries(t).map(([e,r])=>({name:je(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}))}o(vp,"defineArguments");function jn(t){return be(t)&&!Array.isArray(t)}o(jn,"isPlainObj");function bb(t){return Ui(t,e=>({description:e.description,type:e.type,args:Tp(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(bb,"fieldsToFieldsConfig");function Tp(t){return It(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(Tp,"argsToArgsConfig");var Ht=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=_b.bind(void 0,e),this._interfaces=gb.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.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:bb(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Mr=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=sN.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.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 sN(t){let e=Rc(t.types);return Array.isArray(e)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(sN,"defineTypes");var At=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=aN(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=qn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){let r=this._valueLookup.get(e);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${A(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=A(e);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+wc(this,n))}let r=this.getValue(e);if(r==null)throw new C(`Value "${e}" does not exist in "${this.name}" enum.`+wc(this,e));return r.value}parseLiteral(e,r){if(e.kind!==_.ENUM){let i=De(e);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+wc(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=De(e);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+wc(this,i),{nodes:e})}return n.value}toConfig(){let e=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:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function wc(t,e){let r=t.getValues().map(i=>i.name),n=bc(e,r);return gc("the enum value",n)}o(wc,"didYouMeanEnumValue");function aN(t,e){return jn(e)||B(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(jn(n)||B(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:wp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Le(n.extensions),astNode:n.astNode}))}o(aN,"defineEnumValues");var kr=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=cN.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=Ui(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:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function cN(t){let e=Oc(t.fields);return jn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Ui(e,(r,n)=>(!("resolve"in r)||B(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}))}o(cN,"defineInputFieldMap");var xc=2147483647,Nc=-2147483648,Sp=new ze({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(t){let e=Fi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${A(e)}`);if(r>xc||r<Nc)throw new C("Int cannot represent non 32-bit signed integer value: "+A(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new C(`Int cannot represent non-integer value: ${A(t)}`);if(t>xc||t<Nc)throw new C(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==_.INT)throw new C(`Int cannot represent non-integer value: ${De(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>xc||e<Nc)throw new C(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),Eb=new ze({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(t){let e=Fi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${A(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new C(`Float cannot represent non numeric value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.FLOAT&&t.kind!==_.INT)throw new C(`Float cannot represent non numeric value: ${De(t)}`,t);return parseFloat(t.value)}}),oe=new ze({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(t){let e=Fi(t);if(typeof e=="string")return e;if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number"&&Number.isFinite(e))return e.toString();throw new C(`String cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t!="string")throw new C(`String cannot represent a non string value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.STRING)throw new C(`String cannot represent a non string value: ${De(t)}`,{nodes:t});return t.value}}),Ue=new ze({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=Fi(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new C(`Boolean cannot represent a non boolean value: ${A(e)}`)},parseValue(t){if(typeof t!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${De(t)}`,{nodes:t});return t.value}}),Cc=new ze({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(t){let e=Fi(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new C(`ID cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new C(`ID cannot represent value: ${A(t)}`)},parseLiteral(t){if(t.kind!==_.STRING&&t.kind!==_.INT)throw new C("ID cannot represent a non-string and non-integer value: "+De(t),{nodes:t});return t.value}}),Ip=Object.freeze([oe,Sp,Eb,Ue,Cc]);function Fi(t){if(be(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!be(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(Fi,"serializeObject");function Ap(t){return Je(t,pt)}o(Ap,"isDirective");var pt=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=je(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Le(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||B(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};be(i)&&!Array.isArray(i)||B(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=vp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Tp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},wb=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 j(Ue),description:"Included when true."}}}),vb=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 j(Ue),description:"Skipped when true."}}}),Tb="No longer supported",Sb=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: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:Tb}}}),Ib=new pt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new j(oe),description:"The URL that specifies the behavior of this scalar."}}}),Pp=Object.freeze([wb,vb,Sb,Ib]);function Lc(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(Lc,"isIterableObject");function Fr(t,e){if(ae(e)){let r=Fr(t,e.ofType);return r?.kind===_.NULL?null:r}if(t===null)return{kind:_.NULL};if(t===void 0)return null;if(Ve(e)){let r=e.ofType;if(Lc(t)){let n=[];for(let i of t){let s=Fr(i,r);s!=null&&n.push(s)}return{kind:_.LIST,values:n}}return Fr(t,r)}if(Pe(e)){if(!be(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=Fr(t[n.name],n.type);i&&r.push({kind:_.OBJECT_FIELD,name:{kind:_.NAME,value:n.name},value:i})}return{kind:_.OBJECT,fields:r}}if(mr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:_.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Ab.test(n)?{kind:_.INT,value:n}:{kind:_.FLOAT,value:n}}if(typeof r=="string")return We(e)?{kind:_.ENUM,value:r}:e===Cc&&Ab.test(r)?{kind:_.INT,value:r}:{kind:_.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}St(!1,"Unexpected input type: "+A(e))}o(Fr,"astFromValue");var Ab=/^-?(?:0|[1-9][0-9]*)$/;var Hi=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:t=>t.description},types:{description:"A list of all types supported by this server.",type:new j(new de(new j(ot))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new j(ot),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ot,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ot,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new j(new de(new j(Rp))),resolve:t=>t.getDirectives()}})}),Rp=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
111
+ }`)}o(lt,"block");function J(t,e,r=""){return e!=null&&e!==""?t+e+r:""}o(J,"wrap");function bc(t){return J(" ",t.replace(/\n/g,`
112
+ `))}o(bc,"indent");function yb(t){var e;return(e=t?.some(r=>r.includes(`
113
+ `)))!==null&&e!==void 0?e:!1}o(yb,"hasMultilineItems");function Mi(t,e){switch(t.kind){case _.NULL:return null;case _.INT:return parseInt(t.value,10);case _.FLOAT:return parseFloat(t.value);case _.STRING:case _.ENUM:case _.BOOLEAN:return t.value;case _.LIST:return t.values.map(r=>Mi(r,e));case _.OBJECT:return It(t.fields,r=>r.name.value,r=>Mi(r.value,e));case _.VARIABLE:return e?.[t.name.value]}}o(Mi,"valueFromASTUntyped");function je(t){if(t!=null||B(!1,"Must provide name."),typeof t=="string"||B(!1,"Expected name to be a string."),t.length===0)throw new C("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!uc(t.charCodeAt(e)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!Ci(t.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(je,"assertName");function vp(t){if(t==="true"||t==="false"||t==="null")throw new C(`Enum values cannot be named: ${t}`);return je(t)}o(vp,"assertEnumValueName");function wc(t){return fr(t)||Ne(t)||Ee(t)||it(t)||We(t)||Pe(t)||Ve(t)||ae(t)}o(wc,"isType");function fr(t){return Je(t,ze)}o(fr,"isScalarType");function Ne(t){return Je(t,xe)}o(Ne,"isObjectType");function vc(t){if(!Ne(t))throw new Error(`Expected ${A(t)} to be a GraphQL Object type.`);return t}o(vc,"assertObjectType");function Ee(t){return Je(t,Ht)}o(Ee,"isInterfaceType");function Tc(t){if(!Ee(t))throw new Error(`Expected ${A(t)} to be a GraphQL Interface type.`);return t}o(Tc,"assertInterfaceType");function it(t){return Je(t,Mr)}o(it,"isUnionType");function We(t){return Je(t,At)}o(We,"isEnumType");function Pe(t){return Je(t,kr)}o(Pe,"isInputObjectType");function Ve(t){return Je(t,de)}o(Ve,"isListType");function ae(t){return Je(t,$)}o(ae,"isNonNullType");function Qe(t){return fr(t)||We(t)||Pe(t)||ki(t)&&Qe(t.ofType)}o(Qe,"isInputType");function qt(t){return fr(t)||Ne(t)||Ee(t)||it(t)||We(t)||ki(t)&&qt(t.ofType)}o(qt,"isOutputType");function mr(t){return fr(t)||We(t)}o(mr,"isLeafType");function Pt(t){return Ne(t)||Ee(t)||it(t)}o(Pt,"isCompositeType");function yr(t){return Ee(t)||it(t)}o(yr,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(e){wc(e)||B(!1,`Expected ${A(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(e){Sc(e)||B(!1,`Expected ${A(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function ki(t){return Ve(t)||ae(t)}o(ki,"isWrappingType");function Sc(t){return wc(t)&&!ae(t)}o(Sc,"isNullableType");function Ic(t){if(!Sc(t))throw new Error(`Expected ${A(t)} to be a GraphQL nullable type.`);return t}o(Ic,"assertNullableType");function Ac(t){if(t)return ae(t)?t.ofType:t}o(Ac,"getNullableType");function dt(t){if(t){let e=t;for(;ki(e);)e=e.ofType;return e}}o(dt,"getNamedType");function Pc(t){return typeof t=="function"?t():t}o(Pc,"resolveReadonlyArrayThunk");function Rc(t){return typeof t=="function"?t():t}o(Rc,"resolveObjMapThunk");var ze=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:_p;this.name=je(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:_p,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Mi(c,u)),this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(e.specifiedByURL)}.`),e.serialize==null||typeof e.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.`),e.parseLiteral&&(typeof e.parseValue=="function"&&typeof e.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(e){var r;this.name=je(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>_b(e),this._interfaces=()=>gb(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(e.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:bb(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function gb(t){var e;let r=Pc((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||B(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(gb,"defineInterfaces");function _b(t){let e=Rc(t.fields);return jn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Ui(e,(r,n)=>{var i;jn(r)||B(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${t.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 jn(s)||B(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:Tp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}})}o(_b,"defineFieldMap");function Tp(t){return Object.entries(t).map(([e,r])=>({name:je(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}))}o(Tp,"defineArguments");function jn(t){return be(t)&&!Array.isArray(t)}o(jn,"isPlainObj");function bb(t){return Ui(t,e=>({description:e.description,type:e.type,args:Sp(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(bb,"fieldsToFieldsConfig");function Sp(t){return It(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(Sp,"argsToArgsConfig");var Ht=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=_b.bind(void 0,e),this._interfaces=gb.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.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:bb(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Mr=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=oN.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.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 oN(t){let e=Pc(t.types);return Array.isArray(e)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(oN,"defineTypes");var At=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=sN(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=qn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){let r=this._valueLookup.get(e);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${A(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=A(e);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Ec(this,n))}let r=this.getValue(e);if(r==null)throw new C(`Value "${e}" does not exist in "${this.name}" enum.`+Ec(this,e));return r.value}parseLiteral(e,r){if(e.kind!==_.ENUM){let i=De(e);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Ec(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=De(e);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+Ec(this,i),{nodes:e})}return n.value}toConfig(){let e=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:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Ec(t,e){let r=t.getValues().map(i=>i.name),n=_c(e,r);return yc("the enum value",n)}o(Ec,"didYouMeanEnumValue");function sN(t,e){return jn(e)||B(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(jn(n)||B(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:vp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Le(n.extensions),astNode:n.astNode}))}o(sN,"defineEnumValues");var kr=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=aN.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=Ui(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:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function aN(t){let e=Rc(t.fields);return jn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Ui(e,(r,n)=>(!("resolve"in r)||B(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}))}o(aN,"defineInputFieldMap");var Oc=2147483647,xc=-2147483648,Ip=new ze({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(t){let e=Fi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${A(e)}`);if(r>Oc||r<xc)throw new C("Int cannot represent non 32-bit signed integer value: "+A(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new C(`Int cannot represent non-integer value: ${A(t)}`);if(t>Oc||t<xc)throw new C(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==_.INT)throw new C(`Int cannot represent non-integer value: ${De(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>Oc||e<xc)throw new C(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),Eb=new ze({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(t){let e=Fi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${A(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new C(`Float cannot represent non numeric value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.FLOAT&&t.kind!==_.INT)throw new C(`Float cannot represent non numeric value: ${De(t)}`,t);return parseFloat(t.value)}}),ie=new ze({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(t){let e=Fi(t);if(typeof e=="string")return e;if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number"&&Number.isFinite(e))return e.toString();throw new C(`String cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t!="string")throw new C(`String cannot represent a non string value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.STRING)throw new C(`String cannot represent a non string value: ${De(t)}`,{nodes:t});return t.value}}),Ue=new ze({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=Fi(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new C(`Boolean cannot represent a non boolean value: ${A(e)}`)},parseValue(t){if(typeof t!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${De(t)}`,{nodes:t});return t.value}}),Nc=new ze({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(t){let e=Fi(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new C(`ID cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new C(`ID cannot represent value: ${A(t)}`)},parseLiteral(t){if(t.kind!==_.STRING&&t.kind!==_.INT)throw new C("ID cannot represent a non-string and non-integer value: "+De(t),{nodes:t});return t.value}}),Ap=Object.freeze([ie,Ip,Eb,Ue,Nc]);function Fi(t){if(be(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!be(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(Fi,"serializeObject");function Pp(t){return Je(t,pt)}o(Pp,"isDirective");var pt=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=je(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Le(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||B(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};be(i)&&!Array.isArray(i)||B(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=Tp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Sp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},wb=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 $(Ue),description:"Included when true."}}}),vb=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 $(Ue),description:"Skipped when true."}}}),Tb="No longer supported",Sb=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:ie,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:Tb}}}),Ib=new pt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(ie),description:"The URL that specifies the behavior of this scalar."}}}),Rp=Object.freeze([wb,vb,Sb,Ib]);function Cc(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(Cc,"isIterableObject");function Fr(t,e){if(ae(e)){let r=Fr(t,e.ofType);return r?.kind===_.NULL?null:r}if(t===null)return{kind:_.NULL};if(t===void 0)return null;if(Ve(e)){let r=e.ofType;if(Cc(t)){let n=[];for(let i of t){let s=Fr(i,r);s!=null&&n.push(s)}return{kind:_.LIST,values:n}}return Fr(t,r)}if(Pe(e)){if(!be(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=Fr(t[n.name],n.type);i&&r.push({kind:_.OBJECT_FIELD,name:{kind:_.NAME,value:n.name},value:i})}return{kind:_.OBJECT,fields:r}}if(mr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:_.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Ab.test(n)?{kind:_.INT,value:n}:{kind:_.FLOAT,value:n}}if(typeof r=="string")return We(e)?{kind:_.ENUM,value:r}:e===Nc&&Ab.test(r)?{kind:_.INT,value:r}:{kind:_.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}St(!1,"Unexpected input type: "+A(e))}o(Fr,"astFromValue");var Ab=/^-?(?:0|[1-9][0-9]*)$/;var Hi=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:ie,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new $(new de(new $(ot))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(ot),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ot,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ot,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new de(new $(Op))),resolve:t=>t.getDirectives()}})}),Op=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 j(oe),resolve:t=>t.name},description:{type:oe,resolve:t=>t.description},isRepeatable:{type:new j(Ue),resolve:t=>t.isRepeatable},locations:{type:new j(new de(new j(Op))),resolve:t=>t.locations},args:{type:new j(new de(new j(qi))),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),Op=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."}}}),ot=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new j(Cp),resolve(t){if(fr(t))return ee.SCALAR;if(Ne(t))return ee.OBJECT;if(Ee(t))return ee.INTERFACE;if(it(t))return ee.UNION;if(We(t))return ee.ENUM;if(Pe(t))return ee.INPUT_OBJECT;if(Ve(t))return ee.LIST;if(ae(t))return ee.NON_NULL;St(!1,`Unexpected type: "${A(t)}".`)}},name:{type:oe,resolve:t=>"name"in t?t.name:void 0},description:{type:oe,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:oe,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new de(new j(xp)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Ne(t)||Ee(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new de(new j(ot)),resolve(t){if(Ne(t)||Ee(t))return t.getInterfaces()}},possibleTypes:{type:new de(new j(ot)),resolve(t,e,r,{schema:n}){if(yr(t))return n.getPossibleTypes(t)}},enumValues:{type:new de(new j(Np)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(We(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new de(new j(qi)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Pe(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ot,resolve:t=>"ofType"in t?t.ofType:void 0}})}),xp=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new j(oe),resolve:t=>t.name},description:{type:oe,resolve:t=>t.description},args:{type:new j(new de(new j(qi))),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new j(ot),resolve:t=>t.type},isDeprecated:{type:new j(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:oe,resolve:t=>t.deprecationReason}})}),qi=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new j(oe),resolve:t=>t.name},description:{type:oe,resolve:t=>t.description},type:{type:new j(ot),resolve:t=>t.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=Fr(r,e);return n?De(n):null}},isDeprecated:{type:new j(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:oe,resolve:t=>t.deprecationReason}})}),Np=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new j(oe),resolve:t=>t.name},description:{type:oe,resolve:t=>t.description},isDeprecated:{type:new j(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:oe,resolve:t=>t.deprecationReason}})}),ee;(function(t){t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.INPUT_OBJECT="INPUT_OBJECT",t.LIST="LIST",t.NON_NULL="NON_NULL"})(ee||(ee={}));var Cp=new At({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Dc={name:"__schema",type:new j(Hi),description:"Access the current type schema of this server.",args:[],resolve:(t,e,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Uc={name:"__type",type:ot,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new j(oe),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(t,{name:e},r,{schema:n})=>n.getType(e),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Mc={name:"__typename",type:new j(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(t,e,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Lp=Object.freeze([Hi,Rp,Op,ot,xp,qi,Np,Cp]);var $i=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,be(e)||B(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||B(!1,`"types" must be Array if provided but got: ${A(e.types)}.`),!e.directives||Array.isArray(e.directives)||B(!1,`"directives" must be Array if provided but got: ${A(e.directives)}.`),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=(n=e.directives)!==null&&n!==void 0?n:Pp;let i=new Set(e.types);if(e.types!=null)for(let s of e.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(Ap(s))for(let a of s.args)ht(a.type,i);ht(Hi,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,Ee(s)){for(let c of s.getInterfaces())if(Ee(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(Ee(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(e){switch(e){case nt.QUERY:return this.getQueryType();case nt.MUTATION:return this.getMutationType();case nt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return it(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){let r=this._implementationsMap[e.name];return r??{objects:[],interfaces:[]}}isSubType(e,r){let n=this._subTypeMap[e.name];if(n===void 0){if(n=Object.create(null),it(e))for(let i of e.getTypes())n[i.name]=!0;else{let i=this.getImplementations(e);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[e.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find(r=>r.name===e)}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(t,e){let r=dt(t);if(!e.has(r)){if(e.add(r),it(r))for(let n of r.getTypes())ht(n,e);else if(Ne(r)||Ee(r)){for(let n of r.getInterfaces())ht(n,e);for(let n of Object.values(r.getFields())){ht(n.type,e);for(let i of n.args)ht(i.type,e)}}else if(Pe(r))for(let n of Object.values(r.getFields()))ht(n.type,e)}return e}o(ht,"collectReferencedTypes");function gr(t,e){switch(e.kind){case _.LIST_TYPE:{let r=gr(t,e.type);return r&&new de(r)}case _.NON_NULL_TYPE:{let r=gr(t,e.type);return r&&new j(r)}case _.NAMED_TYPE:return t.getType(e.name.value)}}o(gr,"typeFromAST");var _r=class{static{o(this,"TypeInfo")}constructor(e,r,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??uN,r&&(Qe(r)&&this._inputTypeStack.push(r),Pt(r)&&this._parentTypeStack.push(r),qt(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(e){let r=this._schema;switch(e.kind){case _.SELECTION_SET:{let i=dt(this.getType());this._parentTypeStack.push(Pt(i)?i:void 0);break}case _.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,e),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(qt(a)?a:void 0);break}case _.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case _.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(Ne(i)?i:void 0);break}case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?gr(r,i):dt(this.getType());this._typeStack.push(qt(s)?s:void 0);break}case _.VARIABLE_DEFINITION:{let i=gr(r,e.type);this._inputTypeStack.push(Qe(i)?i:void 0);break}case _.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===e.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.LIST:{let i=Pc(this.getInputType()),s=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.OBJECT_FIELD:{let i=dt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.ENUM:{let i=dt(this.getInputType()),s;We(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case _.SELECTION_SET:this._parentTypeStack.pop();break;case _.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case _.DIRECTIVE:this._directive=null;break;case _.OPERATION_DEFINITION:case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:this._typeStack.pop();break;case _.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case _.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.LIST:case _.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.ENUM:this._enumValue=null;break;default:}}};function uN(t,e,r){let n=r.name.value;if(n===Dc.name&&t.getQueryType()===e)return Dc;if(n===Uc.name&&t.getQueryType()===e)return Uc;if(n===Mc.name&&Pt(e))return Mc;if(Ne(e)||Ee(e))return e.getFields()[n]}o(uN,"getFieldDef");function Vn(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=$n(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),Ni(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=$n(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o(Vn,"visitWithTypeInfo");function kc(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(kc,"printPathArray");function Dp(t,e,r){return{prev:t,key:e,typename:r}}o(Dp,"addPath");function $t(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o($t,"pathToArray");function Up(t,e,r=lN){return ji(t,e,r,void 0)}o(Up,"coerceInputValue");function lN(t,e,r){let n="Invalid value "+A(e);throw t.length>0&&(n+=` at "value${kc(t)}"`),r.message=n+": "+r.message,r}o(lN,"defaultOnError");function ji(t,e,r,n){if(ae(e)){if(t!=null)return ji(t,e.ofType,r,n);r($t(n),t,new C(`Expected non-nullable type "${A(e)}" not to be null.`));return}if(t==null)return null;if(Ve(e)){let i=e.ofType;return Lc(t)?Array.from(t,(s,a)=>{let c=Dp(n,a,void 0);return ji(s,i,r,c)}):[ji(t,i,r,n)]}if(Pe(e)){if(!be(t)){r($t(n),t,new C(`Expected type "${e.name}" to be an object.`));return}let i={},s=e.getFields();for(let a of Object.values(s)){let c=t[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($t(n),t,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=ji(c,a.type,r,Dp(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=bc(a,Object.keys(e.getFields()));r($t(n),t,new C(`Field "${a}" is not defined by type "${e.name}".`+gc(c)))}return i}if(mr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof C?r($t(n),t,s):r($t(n),t,new C(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r($t(n),t,new C(`Expected type "${e.name}".`)),i}St(!1,"Unexpected input type: "+A(e))}o(ji,"coerceInputValueImpl");function Rt(t,e,r){if(t){if(t.kind===_.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(e)?void 0:i}if(ae(e))return t.kind===_.NULL?void 0:Rt(t,e.ofType,r);if(t.kind===_.NULL)return null;if(Ve(e)){let n=e.ofType;if(t.kind===_.LIST){let s=[];for(let a of t.values)if(Pb(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(t,n,r);return i===void 0?void 0:[i]}if(Pe(e)){if(t.kind!==_.OBJECT)return;let n=Object.create(null),i=qn(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||Pb(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(mr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}St(!1,"Unexpected input type: "+A(e))}}o(Rt,"valueFromAST");function Pb(t,e){return t.kind===_.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(Pb,"isMissingVariable");function Fc(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=dN(t,e,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(Fc,"getVariableValues");function dN(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=gr(t,s.type);if(!Qe(c)){let l=De(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(!Rb(r,a)){if(s.defaultValue)i[a]=Rt(s.defaultValue,c);else if(ae(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&&ae(c)){let l=A(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Up(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(m+=` at "${a}${kc(l)}"`),n(new C(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(dN,"coerceVariableValues");function Vi(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=qn(s,c=>c.name.value);for(let c of t.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 C(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:e});continue}let p=d.value,m=p.kind===_.NULL;if(p.kind===_.VARIABLE){let y=p.name.value;if(r==null||!Rb(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new C(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ae(l))throw new C(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let f=Rt(p,l,r);if(f===void 0)throw new C(`Argument "${u}" has invalid value ${De(p)}.`,{nodes:p});i[u]=f}return i}o(Vi,"getArgumentValues");function Gi(t,e,r){var n;let i=(n=e.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===t.name);if(i)return Vi(t,i,r)}o(Gi,"getDirectiveValues");function Rb(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Rb,"hasOwnProperty");var Hc=class{static{o(this,"ASTValidationContext")}constructor(e,r){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===_.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[e]}getFragmentSpreads(e){let r=this._fragmentSpreads.get(e);if(!r){r=[];let n=[e],i;for(;i=n.pop();)for(let s of i.selections)s.kind===_.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(e,r)}return r}getRecursivelyReferencedFragments(e){let r=this._recursivelyReferencedFragments.get(e);if(!r){r=[];let n=Object.create(null),i=[e.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(e,r)}return r}},Ob=class extends Hc{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Gn=class extends Hc{static{o(this,"ValidationContext")}constructor(e,r,n,i){super(r,i),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let r=this._variableUsages.get(e);if(!r){let n=[],i=new _r(this._schema);hr(e,Vn(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(e,r)}return r}getRecursiveVariableUsages(e){let r=this._recursiveVariableUsages.get(e);if(!r){r=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,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 qc(t){let e={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...t},r=e.descriptions?"description":"",n=e.specifiedByUrl?"specifiedByURL":"",i=e.directiveIsRepeatable?"isRepeatable":"",s=e.schemaDescription?r:"";function a(c){return e.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 $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},isRepeatable:{type:new $(Ue),resolve:t=>t.isRepeatable},locations:{type:new $(new de(new $(xp))),resolve:t=>t.locations},args:{type:new $(new de(new $(qi))),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),xp=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."}}}),ot=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 $(Lp),resolve(t){if(fr(t))return X.SCALAR;if(Ne(t))return X.OBJECT;if(Ee(t))return X.INTERFACE;if(it(t))return X.UNION;if(We(t))return X.ENUM;if(Pe(t))return X.INPUT_OBJECT;if(Ve(t))return X.LIST;if(ae(t))return X.NON_NULL;St(!1,`Unexpected type: "${A(t)}".`)}},name:{type:ie,resolve:t=>"name"in t?t.name:void 0},description:{type:ie,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:ie,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new de(new $(Np)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Ne(t)||Ee(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new de(new $(ot)),resolve(t){if(Ne(t)||Ee(t))return t.getInterfaces()}},possibleTypes:{type:new de(new $(ot)),resolve(t,e,r,{schema:n}){if(yr(t))return n.getPossibleTypes(t)}},enumValues:{type:new de(new $(Cp)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(We(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new de(new $(qi)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Pe(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ot,resolve:t=>"ofType"in t?t.ofType:void 0}})}),Np=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 $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},args:{type:new $(new de(new $(qi))),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(ot),resolve:t=>t.type},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),qi=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 $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},type:{type:new $(ot),resolve:t=>t.type},defaultValue:{type:ie,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=Fr(r,e);return n?De(n):null}},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),Cp=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 $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),X;(function(t){t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.INPUT_OBJECT="INPUT_OBJECT",t.LIST="LIST",t.NON_NULL="NON_NULL"})(X||(X={}));var Lp=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."}}}),Lc={name:"__schema",type:new $(Hi),description:"Access the current type schema of this server.",args:[],resolve:(t,e,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Dc={name:"__type",type:ot,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(ie),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(t,{name:e},r,{schema:n})=>n.getType(e),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Uc={name:"__typename",type:new $(ie),description:"The name of the current Object type at runtime.",args:[],resolve:(t,e,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Dp=Object.freeze([Hi,Op,xp,ot,Np,qi,Cp,Lp]);var $i=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,be(e)||B(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||B(!1,`"types" must be Array if provided but got: ${A(e.types)}.`),!e.directives||Array.isArray(e.directives)||B(!1,`"directives" must be Array if provided but got: ${A(e.directives)}.`),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=(n=e.directives)!==null&&n!==void 0?n:Rp;let i=new Set(e.types);if(e.types!=null)for(let s of e.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(Pp(s))for(let a of s.args)ht(a.type,i);ht(Hi,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,Ee(s)){for(let c of s.getInterfaces())if(Ee(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(Ee(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(e){switch(e){case nt.QUERY:return this.getQueryType();case nt.MUTATION:return this.getMutationType();case nt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return it(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){let r=this._implementationsMap[e.name];return r??{objects:[],interfaces:[]}}isSubType(e,r){let n=this._subTypeMap[e.name];if(n===void 0){if(n=Object.create(null),it(e))for(let i of e.getTypes())n[i.name]=!0;else{let i=this.getImplementations(e);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[e.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find(r=>r.name===e)}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(t,e){let r=dt(t);if(!e.has(r)){if(e.add(r),it(r))for(let n of r.getTypes())ht(n,e);else if(Ne(r)||Ee(r)){for(let n of r.getInterfaces())ht(n,e);for(let n of Object.values(r.getFields())){ht(n.type,e);for(let i of n.args)ht(i.type,e)}}else if(Pe(r))for(let n of Object.values(r.getFields()))ht(n.type,e)}return e}o(ht,"collectReferencedTypes");function gr(t,e){switch(e.kind){case _.LIST_TYPE:{let r=gr(t,e.type);return r&&new de(r)}case _.NON_NULL_TYPE:{let r=gr(t,e.type);return r&&new $(r)}case _.NAMED_TYPE:return t.getType(e.name.value)}}o(gr,"typeFromAST");var _r=class{static{o(this,"TypeInfo")}constructor(e,r,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??cN,r&&(Qe(r)&&this._inputTypeStack.push(r),Pt(r)&&this._parentTypeStack.push(r),qt(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(e){let r=this._schema;switch(e.kind){case _.SELECTION_SET:{let i=dt(this.getType());this._parentTypeStack.push(Pt(i)?i:void 0);break}case _.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,e),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(qt(a)?a:void 0);break}case _.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case _.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(Ne(i)?i:void 0);break}case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?gr(r,i):dt(this.getType());this._typeStack.push(qt(s)?s:void 0);break}case _.VARIABLE_DEFINITION:{let i=gr(r,e.type);this._inputTypeStack.push(Qe(i)?i:void 0);break}case _.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===e.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.LIST:{let i=Ac(this.getInputType()),s=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.OBJECT_FIELD:{let i=dt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.ENUM:{let i=dt(this.getInputType()),s;We(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case _.SELECTION_SET:this._parentTypeStack.pop();break;case _.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case _.DIRECTIVE:this._directive=null;break;case _.OPERATION_DEFINITION:case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:this._typeStack.pop();break;case _.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case _.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.LIST:case _.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.ENUM:this._enumValue=null;break;default:}}};function cN(t,e,r){let n=r.name.value;if(n===Lc.name&&t.getQueryType()===e)return Lc;if(n===Dc.name&&t.getQueryType()===e)return Dc;if(n===Uc.name&&Pt(e))return Uc;if(Ne(e)||Ee(e))return e.getFields()[n]}o(cN,"getFieldDef");function Vn(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=$n(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),Ni(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=$n(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o(Vn,"visitWithTypeInfo");function Mc(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Mc,"printPathArray");function Up(t,e,r){return{prev:t,key:e,typename:r}}o(Up,"addPath");function $t(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o($t,"pathToArray");function Mp(t,e,r=uN){return ji(t,e,r,void 0)}o(Mp,"coerceInputValue");function uN(t,e,r){let n="Invalid value "+A(e);throw t.length>0&&(n+=` at "value${Mc(t)}"`),r.message=n+": "+r.message,r}o(uN,"defaultOnError");function ji(t,e,r,n){if(ae(e)){if(t!=null)return ji(t,e.ofType,r,n);r($t(n),t,new C(`Expected non-nullable type "${A(e)}" not to be null.`));return}if(t==null)return null;if(Ve(e)){let i=e.ofType;return Cc(t)?Array.from(t,(s,a)=>{let c=Up(n,a,void 0);return ji(s,i,r,c)}):[ji(t,i,r,n)]}if(Pe(e)){if(!be(t)){r($t(n),t,new C(`Expected type "${e.name}" to be an object.`));return}let i={},s=e.getFields();for(let a of Object.values(s)){let c=t[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($t(n),t,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=ji(c,a.type,r,Up(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=_c(a,Object.keys(e.getFields()));r($t(n),t,new C(`Field "${a}" is not defined by type "${e.name}".`+yc(c)))}return i}if(mr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof C?r($t(n),t,s):r($t(n),t,new C(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r($t(n),t,new C(`Expected type "${e.name}".`)),i}St(!1,"Unexpected input type: "+A(e))}o(ji,"coerceInputValueImpl");function Rt(t,e,r){if(t){if(t.kind===_.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(e)?void 0:i}if(ae(e))return t.kind===_.NULL?void 0:Rt(t,e.ofType,r);if(t.kind===_.NULL)return null;if(Ve(e)){let n=e.ofType;if(t.kind===_.LIST){let s=[];for(let a of t.values)if(Pb(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(t,n,r);return i===void 0?void 0:[i]}if(Pe(e)){if(t.kind!==_.OBJECT)return;let n=Object.create(null),i=qn(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||Pb(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(mr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}St(!1,"Unexpected input type: "+A(e))}}o(Rt,"valueFromAST");function Pb(t,e){return t.kind===_.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(Pb,"isMissingVariable");function kc(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=lN(t,e,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(kc,"getVariableValues");function lN(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=gr(t,s.type);if(!Qe(c)){let l=De(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(!Rb(r,a)){if(s.defaultValue)i[a]=Rt(s.defaultValue,c);else if(ae(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&&ae(c)){let l=A(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Mp(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(m+=` at "${a}${Mc(l)}"`),n(new C(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(lN,"coerceVariableValues");function Vi(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=qn(s,c=>c.name.value);for(let c of t.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 C(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:e});continue}let p=d.value,m=p.kind===_.NULL;if(p.kind===_.VARIABLE){let y=p.name.value;if(r==null||!Rb(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new C(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ae(l))throw new C(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let f=Rt(p,l,r);if(f===void 0)throw new C(`Argument "${u}" has invalid value ${De(p)}.`,{nodes:p});i[u]=f}return i}o(Vi,"getArgumentValues");function Gi(t,e,r){var n;let i=(n=e.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===t.name);if(i)return Vi(t,i,r)}o(Gi,"getDirectiveValues");function Rb(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Rb,"hasOwnProperty");var Fc=class{static{o(this,"ASTValidationContext")}constructor(e,r){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===_.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[e]}getFragmentSpreads(e){let r=this._fragmentSpreads.get(e);if(!r){r=[];let n=[e],i;for(;i=n.pop();)for(let s of i.selections)s.kind===_.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(e,r)}return r}getRecursivelyReferencedFragments(e){let r=this._recursivelyReferencedFragments.get(e);if(!r){r=[];let n=Object.create(null),i=[e.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(e,r)}return r}},Ob=class extends Fc{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Gn=class extends Fc{static{o(this,"ValidationContext")}constructor(e,r,n,i){super(r,i),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let r=this._variableUsages.get(e);if(!r){let n=[],i=new _r(this._schema);hr(e,Vn(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(e,r)}return r}getRecursiveVariableUsages(e){let r=this._recursiveVariableUsages.get(e);if(!r){r=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,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 Hc(t){let e={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...t},r=e.descriptions?"description":"",n=e.specifiedByUrl?"specifiedByURL":"",i=e.directiveIsRepeatable?"isRepeatable":"",s=e.schemaDescription?r:"";function a(c){return e.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(qc,"getIntrospectionQuery");function $c(t,e){be(t)&&be(t.__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(t)}.`);let r=t.__schema,n=It(r.types,E=>E.name,E=>m(E));for(let E of[...Ip,...Lp])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(Me):[];return new $i({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===ee.LIST){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");return new de(u(F))}if(E.kind===ee.NON_NULL){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");let Ye=u(F);return new j(Ac(Ye))}return l(E)}function l(E){let F=E.name;if(!F)throw new Error(`Unknown type reference: ${A(E)}.`);let Ye=n[F];if(!Ye)throw new Error(`Invalid or incomplete schema, unknown type: ${F}. Ensure that a full introspection query is used in order to build a client schema.`);return Ye}function d(E){return Tc(l(E))}function p(E){return Sc(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ee.SCALAR:return f(E);case ee.OBJECT:return v(E);case ee.INTERFACE:return T(E);case ee.UNION:return S(E);case ee.ENUM:return M(E);case ee.INPUT_OBJECT:return H(E)}let F=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: ${F}.`)}function f(E){return new ze({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===ee.INTERFACE)return[];if(!E.interfaces){let F=A(E);throw new Error(`Introspection result missing interfaces: ${F}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>R(E)})}function T(E){return new Ht({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>R(E)})}function S(E){if(!E.possibleTypes){let F=A(E);throw new Error(`Introspection result missing possibleTypes: ${F}.`)}return new Mr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function M(E){if(!E.enumValues){let F=A(E);throw new Error(`Introspection result missing enumValues: ${F}.`)}return new At({name:E.name,description:E.description,values:It(E.enumValues,F=>F.name,F=>({description:F.description,deprecationReason:F.deprecationReason}))})}function H(E){if(!E.inputFields){let F=A(E);throw new Error(`Introspection result missing inputFields: ${F}.`)}return new kr({name:E.name,description:E.description,fields:()=>Y(E.inputFields)})}function R(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return It(E.fields,F=>F.name,ne)}function ne(E){let F=u(E.type);if(!qt(F)){let Ye=A(F);throw new Error(`Introspection must provide output type for fields, but received: ${Ye}.`)}if(!E.args){let Ye=A(E);throw new Error(`Introspection result missing field args: ${Ye}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:F,args:Y(E.args)}}function Y(E){return It(E,F=>F.name,fe)}function fe(E){let F=u(E.type);if(!Qe(F)){let Bi=A(F);throw new Error(`Introspection must provide input type for arguments, but received: ${Bi}.`)}let Ye=E.defaultValue!=null?Rt(yc(E.defaultValue),F):void 0;return{description:E.description,type:F,defaultValue:Ye,deprecationReason:E.deprecationReason}}function Me(E){if(!E.args){let F=A(E);throw new Error(`Introspection result missing directive args: ${F}.`)}if(!E.locations){let F=A(E);throw new Error(`Introspection result missing directive locations: ${F}.`)}return new pt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:Y(E.args)})}}o($c,"buildClientSchema");function UN(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(UN,"queryComplexityMessage");function xb(t){let e=new _r(t.schema),r=[],n=new Gn(t.schema,t.query,e,s=>r.push(s)),i=new Mp(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(hr(t.query,Vn(e,i)),r.length)throw r.pop();return i.complexity}o(xb,"getComplexity");var Mp=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(e,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=e,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(e){if(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)return;let{coerced:r,errors:n}=Fc(this.context.getSchema(),e.variableDefinitions?[...e.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(e.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(e,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(e,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(e,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${e.operation}`)}}onOperationDefinitionLeave(e){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(e,r){if(e.selectionSet){let n={};(r instanceof xe||r instanceof Ht)&&(n=r.getFields());let i;yr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=e.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 f=this.includeDirectiveDef&&Gi(this.includeDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(l=f.if);break}case"skip":{let f=this.skipDirectiveDef&&Gi(this.skipDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(d=f.if);break}}if(!l||d)return a;switch(c.kind){case _.FIELD:{let p=n[c.name.value];if(!p)break;let m=dt(p.type),f;try{f=Vi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let y=0;Pt(m)&&(y=this.nodeComplexity(c,m));let v={childComplexity:y,args:f,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let M=S(v);return typeof M=="number"&&!isNaN(M)?(u=Bn(M,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 _.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!Pt(m))break;let f=this.nodeComplexity(p,m);yr(m)?u=Bn(f,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Bn(f,a,[m.name]);break}case _.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 m=this.nodeComplexity(c,p);yr(p)?u=Bn(m,a,this.context.getSchema().getPossibleTypes(p).map(f=>f.name)):u=Bn(m,a,[p.name]);break}default:{u=Bn(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(UN(this.options.maximumComplexity,this.complexity))}};function Bn(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(Bn,"addComplexities");function Nb(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Nb,"simpleEstimator");var Cb=o((t,e,r={})=>{let{definitions:n}=t,i=MN(n),s=kN(n);return Object.entries(s).map(([a,c])=>jc(c,i,0,e,a,r))},"depthLimit");function MN(t){return t.reduce((e,r)=>(r.kind===_.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(MN,"getFragments");function kN(t){return t.reduce((e,r)=>{if(r.kind===_.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(kN,"getQueriesAndMutations");function jc(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case _.FIELD:return FN(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>jc(c,e,r+1,n,i,s)));case _.FRAGMENT_SPREAD:return jc(e[t.name.value],e,r,n,i,s);case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:case _.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>jc(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(jc,"determineDepth");var FN=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var HN=o(async(t,e)=>{if(!e.complexityLimit)throw new Kn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new Kn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=qc(),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=$c(c,{assumeValid:!0}),l=xb({estimators:[Nb({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new C(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),qN=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new Kn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Cb(t,r))},"applyDepthLimitPolicy"),Lb=o(async(t,e,r)=>{let n=Kn.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=mc(s.query);r.useDepthLimit&&await qN(a,r.useDepthLimit),r.useComplexityLimit&&await HN(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 t},"GraphQLComplexityLimitInboundPolicy");var Db=Fp(xt());function $N(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o($N,"isIntrospectionQuery");var Ub=o(async(t,e,r)=>{let i=await t.clone().json();return $N(i.query)?Db.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
220
+ `}o(Hc,"getIntrospectionQuery");function qc(t,e){be(t)&&be(t.__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(t)}.`);let r=t.__schema,n=It(r.types,E=>E.name,E=>m(E));for(let E of[...Ap,...Dp])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(Me):[];return new $i({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===X.LIST){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");return new de(u(F))}if(E.kind===X.NON_NULL){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");let Ye=u(F);return new $(Ic(Ye))}return l(E)}function l(E){let F=E.name;if(!F)throw new Error(`Unknown type reference: ${A(E)}.`);let Ye=n[F];if(!Ye)throw new Error(`Invalid or incomplete schema, unknown type: ${F}. Ensure that a full introspection query is used in order to build a client schema.`);return Ye}function d(E){return vc(l(E))}function p(E){return Tc(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return f(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return I(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let F=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: ${F}.`)}function f(E){return new ze({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let F=A(E);throw new Error(`Introspection result missing interfaces: ${F}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>x(E)})}function T(E){return new Ht({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>x(E)})}function I(E){if(!E.possibleTypes){let F=A(E);throw new Error(`Introspection result missing possibleTypes: ${F}.`)}return new Mr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let F=A(E);throw new Error(`Introspection result missing enumValues: ${F}.`)}return new At({name:E.name,description:E.description,values:It(E.enumValues,F=>F.name,F=>({description:F.description,deprecationReason:F.deprecationReason}))})}function j(E){if(!E.inputFields){let F=A(E);throw new Error(`Introspection result missing inputFields: ${F}.`)}return new kr({name:E.name,description:E.description,fields:()=>ee(E.inputFields)})}function x(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return It(E.fields,F=>F.name,oe)}function oe(E){let F=u(E.type);if(!qt(F)){let Ye=A(F);throw new Error(`Introspection must provide output type for fields, but received: ${Ye}.`)}if(!E.args){let Ye=A(E);throw new Error(`Introspection result missing field args: ${Ye}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:F,args:ee(E.args)}}function ee(E){return It(E,F=>F.name,fe)}function fe(E){let F=u(E.type);if(!Qe(F)){let Bi=A(F);throw new Error(`Introspection must provide input type for arguments, but received: ${Bi}.`)}let Ye=E.defaultValue!=null?Rt(mc(E.defaultValue),F):void 0;return{description:E.description,type:F,defaultValue:Ye,deprecationReason:E.deprecationReason}}function Me(E){if(!E.args){let F=A(E);throw new Error(`Introspection result missing directive args: ${F}.`)}if(!E.locations){let F=A(E);throw new Error(`Introspection result missing directive locations: ${F}.`)}return new pt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ee(E.args)})}}o(qc,"buildClientSchema");function DN(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(DN,"queryComplexityMessage");function xb(t){let e=new _r(t.schema),r=[],n=new Gn(t.schema,t.query,e,s=>r.push(s)),i=new kp(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(hr(t.query,Vn(e,i)),r.length)throw r.pop();return i.complexity}o(xb,"getComplexity");var kp=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(e,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=e,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(e){if(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)return;let{coerced:r,errors:n}=kc(this.context.getSchema(),e.variableDefinitions?[...e.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(e.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(e,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(e,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(e,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${e.operation}`)}}onOperationDefinitionLeave(e){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(e,r){if(e.selectionSet){let n={};(r instanceof xe||r instanceof Ht)&&(n=r.getFields());let i;yr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=e.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 f=this.includeDirectiveDef&&Gi(this.includeDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(l=f.if);break}case"skip":{let f=this.skipDirectiveDef&&Gi(this.skipDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(d=f.if);break}}if(!l||d)return a;switch(c.kind){case _.FIELD:{let p=n[c.name.value];if(!p)break;let m=dt(p.type),f;try{f=Vi(p,c,this.variableValues||{})}catch(I){return this.context.reportError(I),a}let y=0;Pt(m)&&(y=this.nodeComplexity(c,m));let v={childComplexity:y,args:f,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(I=>{let k=I(v);return typeof k=="number"&&!isNaN(k)?(u=Bn(k,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 _.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!Pt(m))break;let f=this.nodeComplexity(p,m);yr(m)?u=Bn(f,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Bn(f,a,[m.name]);break}case _.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 m=this.nodeComplexity(c,p);yr(p)?u=Bn(m,a,this.context.getSchema().getPossibleTypes(p).map(f=>f.name)):u=Bn(m,a,[p.name]);break}default:{u=Bn(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(DN(this.options.maximumComplexity,this.complexity))}};function Bn(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(Bn,"addComplexities");function Nb(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Nb,"simpleEstimator");var Cb=o((t,e,r={})=>{let{definitions:n}=t,i=UN(n),s=MN(n);return Object.entries(s).map(([a,c])=>$c(c,i,0,e,a,r))},"depthLimit");function UN(t){return t.reduce((e,r)=>(r.kind===_.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(UN,"getFragments");function MN(t){return t.reduce((e,r)=>{if(r.kind===_.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(MN,"getQueriesAndMutations");function $c(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case _.FIELD:return kN(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>$c(c,e,r+1,n,i,s)));case _.FRAGMENT_SPREAD:return $c(e[t.name.value],e,r,n,i,s);case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:case _.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>$c(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o($c,"determineDepth");var kN=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var FN=o(async(t,e)=>{if(!e.complexityLimit)throw new Kn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new Kn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Hc(),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=qc(c,{assumeValid:!0}),l=xb({estimators:[Nb({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new C(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),HN=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new Kn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Cb(t,r))},"applyDepthLimitPolicy"),Lb=o(async(t,e,r)=>{let n=Kn.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=fc(s.query);r.useDepthLimit&&await HN(a,r.useDepthLimit),r.useComplexityLimit&&await FN(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 t},"GraphQLComplexityLimitInboundPolicy");var Db=Hp(xt());function qN(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(qN,"isIntrospectionQuery");var Ub=o(async(t,e,r)=>{let i=await t.clone().json();return qN(i.query)?Db.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
221
221
  /*! For license information please see index.minified.js.LEGAL.txt */