@zuplo/graphql 5.1833.0 → 5.1837.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 +33 -33
  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 Qw=Object.create;var Si=Object.defineProperty;var Yw=Object.getOwnPropertyDescriptor;var Zw=Object.getOwnPropertyNames;var Xw=Object.getPrototypeOf,ev=Object.prototype.hasOwnProperty;var o=(t,e)=>Si(t,"name",{value:e,configurable:!0});var L=(t,e)=>()=>(t&&(e=t(t=0)),e);var b=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ro=(t,e)=>{for(var r in e)Si(t,r,{get:e[r],enumerable:!0})},Rh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Zw(e))!ev.call(t,i)&&i!==r&&Si(t,i,{get:()=>e[i],enumerable:!(n=Yw(e,i))||n.enumerable});return t};var Oh=(t,e,r)=>(r=t!=null?Qw(Xw(t)):{},Rh(e||!t||!t.__esModule?Si(r,"default",{value:t,enumerable:!0}):r,t)),Oo=t=>Rh(Si({},"__esModule",{value:!0}),t);var k=b(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.FeatureNotEnabledError=At.ConfigurationError=At.RuntimeError=At.SystemError=void 0;var ju=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};At.SystemError=ju;var Ii=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"}};At.RuntimeError=Ii;var Vu=class extends Ii{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};At.ConfigurationError=Vu;var Bu=class extends Ii{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};At.FeatureNotEnabledError=Bu});var ie=b(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.Environment=void 0;var tv=k(),Gu=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 tv.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 meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};No.Environment=Gu});var Lh=b(xh=>{"use strict";Object.defineProperty(xh,"__esModule",{value:!0});var Nh=ie();Function.prototype.toString=function(){return"[native code]"};var Co=globalThis,Ch=Co.caches;if(Ch){let t=Ch.open;Co.caches.open=function(e){let r=Nh.Environment.instance.deploymentName??Nh.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Co.caches.default,Object.freeze(Co.caches)}});var zu=b(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.MemoryCache=void 0;var rv=1e4,nv=1e3,Dh=new Map,Ku=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+rv*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},Ju=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:nv}){this.name=e;let n=Dh.get(e);n||(n=new Ku(r),Dh.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()}};xo.MemoryCache=Ju});var Do=b(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.ZoneCache=void 0;var Wu="__zuplo-expiry-header",Qu=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(Wu);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(Wu,`${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(Wu,`${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)}};Lo.ZoneCache=Qu});var nr=b(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.MemoryZoneReadThroughCache=void 0;var iv=zu(),ov=Do(),Yu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new iv.MemoryCache(n),this.#r=new ov.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},s=this.#r.put(e,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};Mo.MemoryZoneReadThroughCache=Yu});var ln=b(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.DYNAMIC_METERS_CONTEXT_DATA=M.METERING_SUBSCRIPTION_CONTEXT_DATA=M.INTERNAL_HEADERS_TO_REMOVE=M.DISPATCH_HEADERS_TO_REMOVE=M.ZP_TIMEZONE_HEADER=M.ZP_REGION_CODE_HEADER=M.ZP_REGION_HEADER=M.ZP_METRO_CODE_HEADER=M.ZP_POSTAL_CODE_HEADER=M.ZP_COLO_HEADER=M.ZP_AS_ORG_HEADER=M.ZP_ASN_HEADER=M.TRUE_CLIENT_IP=M.ZP_IP_LATITUDE_HEADER=M.ZP_IP_LONGITUDE_HEADER=M.ZP_IP_COUNTRY_HEADER=M.ZP_IP_CONTINENT_HEADER=M.ZP_IP_CITY_HEADER=M.CF_IP_LATITUDE_HEADER=M.CF_IP_LONGITUDE_HEADER=M.CF_IP_COUNTRY_HEADER=M.CF_IP_CONTINENT_HEADER=M.CF_IP_CITY_HEADER=M.RAY_ID_HEADER=M.BODY_REMOVED_HEADER=M.REQUEST_ID_HEADER=M.LEGACY_REQUEST_ID_HEADER=void 0;M.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";M.REQUEST_ID_HEADER="zp-rid";M.BODY_REMOVED_HEADER="zp-body-removed";M.RAY_ID_HEADER="cf-ray";M.CF_IP_CITY_HEADER="cf-ipcity";M.CF_IP_CONTINENT_HEADER="cf-ipcontinent";M.CF_IP_COUNTRY_HEADER="cf-ipcountry";M.CF_IP_LONGITUDE_HEADER="cf-iplongitude";M.CF_IP_LATITUDE_HEADER="cf-iplatitude";M.ZP_IP_CITY_HEADER="zp-ipcity";M.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";M.ZP_IP_COUNTRY_HEADER="zp-ipcountry";M.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";M.ZP_IP_LATITUDE_HEADER="zp-iplatitude";M.TRUE_CLIENT_IP="true-client-ip";M.ZP_ASN_HEADER="zp-asn";M.ZP_AS_ORG_HEADER="zp-asorg";M.ZP_COLO_HEADER="zp-colo";M.ZP_POSTAL_CODE_HEADER="zp-postalcode";M.ZP_METRO_CODE_HEADER="zp-metrocode";M.ZP_REGION_HEADER="zp-region";M.ZP_REGION_CODE_HEADER="zp-regioncode";M.ZP_TIMEZONE_HEADER="zp-timezone";M.DISPATCH_HEADERS_TO_REMOVE=[M.CF_IP_CITY_HEADER,M.CF_IP_CONTINENT_HEADER,M.CF_IP_COUNTRY_HEADER,M.CF_IP_LONGITUDE_HEADER,M.CF_IP_LATITUDE_HEADER,M.ZP_ASN_HEADER,M.ZP_AS_ORG_HEADER,M.ZP_COLO_HEADER,M.ZP_POSTAL_CODE_HEADER,M.ZP_METRO_CODE_HEADER,M.ZP_REGION_HEADER,M.ZP_REGION_CODE_HEADER,M.ZP_TIMEZONE_HEADER];M.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"];M.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49";M.DYNAMIC_METERS_CONTEXT_DATA="zuplo_dynamic_meters_0c8cdc26-2514-4756-8adb-474a6e103d91"});var Vh=b(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.generateColor=N.colorFunctions=N.stripColor=N.bgRgb24=N.rgb24=N.bgRgb8=N.rgb8=N.bgBrightWhite=N.bgBrightCyan=N.bgBrightMagenta=N.bgBrightBlue=N.bgBrightYellow=N.bgBrightGreen=N.bgBrightRed=N.bgBrightBlack=N.bgWhite=N.bgCyan=N.bgMagenta=N.bgBlue=N.bgYellow=N.bgGreen=N.bgRed=N.bgBlack=N.brightWhite=N.brightCyan=N.brightMagenta=N.brightBlue=N.brightYellow=N.brightGreen=N.brightRed=N.brightBlack=N.gray=N.white=N.cyan=N.magenta=N.blue=N.yellow=N.green=N.red=N.black=N.strikethrough=N.hidden=N.inverse=N.underline=N.italic=N.dim=N.bold=N.reset=N.getColorEnabled=N.setColorEnabled=void 0;var Mh=!0,Zu=!Mh;function sv(t){Mh||(Zu=t)}o(sv,"setColorEnabled");N.setColorEnabled=sv;function av(){return Zu}o(av,"getColorEnabled");N.getColorEnabled=av;function z(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(z,"code");function W(t,e){return Zu?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(W,"run");function cv(t){return W(t,z([0],0))}o(cv,"reset");N.reset=cv;function uv(t){return W(t,z([1],22))}o(uv,"bold");N.bold=uv;function lv(t){return W(t,z([2],22))}o(lv,"dim");N.dim=lv;function dv(t){return W(t,z([3],23))}o(dv,"italic");N.italic=dv;function pv(t){return W(t,z([4],24))}o(pv,"underline");N.underline=pv;function fv(t){return W(t,z([7],27))}o(fv,"inverse");N.inverse=fv;function hv(t){return W(t,z([8],28))}o(hv,"hidden");N.hidden=hv;function mv(t){return W(t,z([9],29))}o(mv,"strikethrough");N.strikethrough=mv;function gv(t){return W(t,z([30],39))}o(gv,"black");N.black=gv;function Uh(t){return W(t,z([31],39))}o(Uh,"red");N.red=Uh;function kh(t){return W(t,z([32],39))}o(kh,"green");N.green=kh;function Fh(t){return W(t,z([33],39))}o(Fh,"yellow");N.yellow=Fh;function Hh(t){return W(t,z([34],39))}o(Hh,"blue");N.blue=Hh;function qh(t){return W(t,z([35],39))}o(qh,"magenta");N.magenta=qh;function $h(t){return W(t,z([36],39))}o($h,"cyan");N.cyan=$h;function yv(t){return W(t,z([37],39))}o(yv,"white");N.white=yv;function bv(t){return jh(t)}o(bv,"gray");N.gray=bv;function jh(t){return W(t,z([90],39))}o(jh,"brightBlack");N.brightBlack=jh;function _v(t){return W(t,z([91],39))}o(_v,"brightRed");N.brightRed=_v;function Ev(t){return W(t,z([92],39))}o(Ev,"brightGreen");N.brightGreen=Ev;function wv(t){return W(t,z([93],39))}o(wv,"brightYellow");N.brightYellow=wv;function vv(t){return W(t,z([94],39))}o(vv,"brightBlue");N.brightBlue=vv;function Tv(t){return W(t,z([95],39))}o(Tv,"brightMagenta");N.brightMagenta=Tv;function Sv(t){return W(t,z([96],39))}o(Sv,"brightCyan");N.brightCyan=Sv;function Iv(t){return W(t,z([97],39))}o(Iv,"brightWhite");N.brightWhite=Iv;function Pv(t){return W(t,z([40],49))}o(Pv,"bgBlack");N.bgBlack=Pv;function Av(t){return W(t,z([41],49))}o(Av,"bgRed");N.bgRed=Av;function Rv(t){return W(t,z([42],49))}o(Rv,"bgGreen");N.bgGreen=Rv;function Ov(t){return W(t,z([43],49))}o(Ov,"bgYellow");N.bgYellow=Ov;function Nv(t){return W(t,z([44],49))}o(Nv,"bgBlue");N.bgBlue=Nv;function Cv(t){return W(t,z([45],49))}o(Cv,"bgMagenta");N.bgMagenta=Cv;function xv(t){return W(t,z([46],49))}o(xv,"bgCyan");N.bgCyan=xv;function Lv(t){return W(t,z([47],49))}o(Lv,"bgWhite");N.bgWhite=Lv;function Dv(t){return W(t,z([100],49))}o(Dv,"bgBrightBlack");N.bgBrightBlack=Dv;function Mv(t){return W(t,z([101],49))}o(Mv,"bgBrightRed");N.bgBrightRed=Mv;function Uv(t){return W(t,z([102],49))}o(Uv,"bgBrightGreen");N.bgBrightGreen=Uv;function kv(t){return W(t,z([103],49))}o(kv,"bgBrightYellow");N.bgBrightYellow=kv;function Fv(t){return W(t,z([104],49))}o(Fv,"bgBrightBlue");N.bgBrightBlue=Fv;function Hv(t){return W(t,z([105],49))}o(Hv,"bgBrightMagenta");N.bgBrightMagenta=Hv;function qv(t){return W(t,z([106],49))}o(qv,"bgBrightCyan");N.bgBrightCyan=qv;function $v(t){return W(t,z([107],49))}o($v,"bgBrightWhite");N.bgBrightWhite=$v;function ir(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(ir,"clampAndTruncate");function jv(t,e){return W(t,z([38,5,ir(e)],39))}o(jv,"rgb8");N.rgb8=jv;function Vv(t,e){return W(t,z([48,5,ir(e)],49))}o(Vv,"bgRgb8");N.bgRgb8=Vv;function Bv(t,e){return typeof e=="number"?W(t,z([38,2,e>>16&255,e>>8&255,e&255],39)):W(t,z([38,2,ir(e.r),ir(e.g),ir(e.b)],39))}o(Bv,"rgb24");N.rgb24=Bv;function Gv(t,e){return typeof e=="number"?W(t,z([48,2,e>>16&255,e>>8&255,e&255],49)):W(t,z([48,2,ir(e.r),ir(e.g),ir(e.b)],49))}o(Gv,"bgRgb24");N.bgRgb24=Gv;var Kv=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 Jv(t){return t.replace(Kv,"")}o(Jv,"stripColor");N.stripColor=Jv;N.colorFunctions=[Uh,kh,Fh,Hh,qh,$h];function zv(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(zv,"hashCode");function Wv(t){let e=Math.abs(zv(t));return N.colorFunctions[e%N.colorFunctions.length]}o(Wv,"generateColor");N.generateColor=Wv});var Bh=b(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.format=void 0;function Qv(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(Qv,"format");Uo.format=Qv});var Qh=b(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.inspect=void 0;function kr(t,e,r,n){let i={seen:[],stylize:Yv,showHidden:e??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=Xv),ko(i,t,i.depth)}o(kr,"inspect");Fo.inspect=kr;kr.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]};kr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function Yv(t,e){return t}o(Yv,"stylizeNoColor");function Zv(t){return typeof t=="boolean"}o(Zv,"isBoolean");function Kh(t){return t===void 0}o(Kh,"isUndefined");function Xv(t,e){let r=kr.styles[e];return r?"\x1B["+kr.colors[r][0]+"m"+t+"\x1B["+kr.colors[r][1]+"m":t}o(Xv,"stylizeWithColor");function Xu(t){return typeof t=="function"}o(Xu,"isFunction");function Jh(t){return typeof t=="string"}o(Jh,"isString");function eT(t){return typeof t=="number"}o(eT,"isNumber");function zh(t){return t===null}o(zh,"isNull");function Wh(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Wh,"hasOwn");function el(t){return il(t)&&ol(t)==="[object RegExp]"}o(el,"isRegExp");function il(t){return typeof t=="object"&&t!==null}o(il,"isObject");function tl(t){return il(t)&&(ol(t)==="[object Error]"||t instanceof Error)}o(tl,"isError");function Gh(t){return il(t)&&ol(t)==="[object Date]"}o(Gh,"isDate");function ol(t){return Object.prototype.toString.call(t)}o(ol,"objectToString");function tT(t){let e={};return t.forEach(function(r,n){e[r]=!0}),e}o(tT,"arrayToHash");function rT(t,e,r,n,i){let s=[];for(let a=0,c=e.length;a<c;++a)Wh(e,String(a))?s.push(nl(t,e,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(nl(t,e,r,n,a,!0))}),s}o(rT,"formatArray");function rl(t){return"["+Error.prototype.toString.call(t)+"]"}o(rl,"formatError");function ko(t,e,r){if(t.customInspect&&e&&Xu(e.inspect)&&e.inspect!==kr&&!(e.constructor&&e.constructor.prototype===e)){let d=e.inspect(r,t);return Jh(d)||(d=ko(t,d,r)),d}let n=nT(t,e);if(n)return n;let i=Object.keys(e),s=tT(i);try{t.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(e))}catch{}if(tl(e)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return rl(e);if(i.length===0){if(Xu(e)){let d=e.name?": "+e.name:"";return t.stylize("[Function"+d+"]","special")}if(el(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(Gh(e))return t.stylize(Date.prototype.toString.call(e),"date");if(tl(e))return rl(e)}let a="",c=!1,u=["{","}"];if(Array.isArray(e)&&(c=!0,u=["[","]"]),Xu(e)&&(a=" [Function"+(e.name?": "+e.name:"")+"]"),el(e)&&(a=" "+RegExp.prototype.toString.call(e)),Gh(e)&&(a=" "+Date.prototype.toUTCString.call(e)),tl(e)&&(a=" "+rl(e)),i.length===0&&(!c||e.length==0))return u[0]+a+u[1];if(r<0)return el(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);let l;return c?l=rT(t,e,r,s,i):l=i.map(function(d){return nl(t,e,r,s,d,c)}),t.seen.pop(),iT(l,a,u)}o(ko,"formatValue");function nl(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")),Wh(n,i)||(a="["+i+"]"),c||(t.seen.indexOf(u.value)<0?(zh(r)?c=ko(t,u.value,null):c=ko(t,u.value,r-1),c.indexOf(`
25
+ "use strict";var Yw=Object.create;var Si=Object.defineProperty;var Zw=Object.getOwnPropertyDescriptor;var Xw=Object.getOwnPropertyNames;var ev=Object.getPrototypeOf,tv=Object.prototype.hasOwnProperty;var o=(t,e)=>Si(t,"name",{value:e,configurable:!0});var L=(t,e)=>()=>(t&&(e=t(t=0)),e);var b=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ro=(t,e)=>{for(var r in e)Si(t,r,{get:e[r],enumerable:!0})},Rh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Xw(e))!tv.call(t,i)&&i!==r&&Si(t,i,{get:()=>e[i],enumerable:!(n=Zw(e,i))||n.enumerable});return t};var Oh=(t,e,r)=>(r=t!=null?Yw(ev(t)):{},Rh(e||!t||!t.__esModule?Si(r,"default",{value:t,enumerable:!0}):r,t)),Oo=t=>Rh(Si({},"__esModule",{value:!0}),t);var k=b(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.FeatureNotEnabledError=At.ConfigurationError=At.RuntimeError=At.SystemError=void 0;var ju=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};At.SystemError=ju;var Ii=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"}};At.RuntimeError=Ii;var Vu=class extends Ii{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};At.ConfigurationError=Vu;var Bu=class extends Ii{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};At.FeatureNotEnabledError=Bu});var ie=b(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.Environment=void 0;var rv=k(),Gu=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 rv.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 meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};No.Environment=Gu});var Lh=b(xh=>{"use strict";Object.defineProperty(xh,"__esModule",{value:!0});var Nh=ie();Function.prototype.toString=function(){return"[native code]"};var Co=globalThis,Ch=Co.caches;if(Ch){let t=Ch.open;Co.caches.open=function(e){let r=Nh.Environment.instance.deploymentName??Nh.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Co.caches.default,Object.freeze(Co.caches)}});var zu=b(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.MemoryCache=void 0;var nv=1e4,iv=1e3,Dh=new Map,Ku=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+nv*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},Ju=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:iv}){this.name=e;let n=Dh.get(e);n||(n=new Ku(r),Dh.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()}};xo.MemoryCache=Ju});var Do=b(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.ZoneCache=void 0;var Wu="__zuplo-expiry-header",Qu=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(Wu);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(Wu,`${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(Wu,`${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)}};Lo.ZoneCache=Qu});var nr=b(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.MemoryZoneReadThroughCache=void 0;var ov=zu(),sv=Do(),Yu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new ov.MemoryCache(n),this.#r=new sv.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},s=this.#r.put(e,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};Mo.MemoryZoneReadThroughCache=Yu});var ln=b(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.DYNAMIC_METERS_CONTEXT_DATA=M.METERING_SUBSCRIPTION_CONTEXT_DATA=M.INTERNAL_HEADERS_TO_REMOVE=M.DISPATCH_HEADERS_TO_REMOVE=M.ZP_TIMEZONE_HEADER=M.ZP_REGION_CODE_HEADER=M.ZP_REGION_HEADER=M.ZP_METRO_CODE_HEADER=M.ZP_POSTAL_CODE_HEADER=M.ZP_COLO_HEADER=M.ZP_AS_ORG_HEADER=M.ZP_ASN_HEADER=M.TRUE_CLIENT_IP=M.ZP_IP_LATITUDE_HEADER=M.ZP_IP_LONGITUDE_HEADER=M.ZP_IP_COUNTRY_HEADER=M.ZP_IP_CONTINENT_HEADER=M.ZP_IP_CITY_HEADER=M.CF_IP_LATITUDE_HEADER=M.CF_IP_LONGITUDE_HEADER=M.CF_IP_COUNTRY_HEADER=M.CF_IP_CONTINENT_HEADER=M.CF_IP_CITY_HEADER=M.RAY_ID_HEADER=M.BODY_REMOVED_HEADER=M.REQUEST_ID_HEADER=M.LEGACY_REQUEST_ID_HEADER=void 0;M.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";M.REQUEST_ID_HEADER="zp-rid";M.BODY_REMOVED_HEADER="zp-body-removed";M.RAY_ID_HEADER="cf-ray";M.CF_IP_CITY_HEADER="cf-ipcity";M.CF_IP_CONTINENT_HEADER="cf-ipcontinent";M.CF_IP_COUNTRY_HEADER="cf-ipcountry";M.CF_IP_LONGITUDE_HEADER="cf-iplongitude";M.CF_IP_LATITUDE_HEADER="cf-iplatitude";M.ZP_IP_CITY_HEADER="zp-ipcity";M.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";M.ZP_IP_COUNTRY_HEADER="zp-ipcountry";M.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";M.ZP_IP_LATITUDE_HEADER="zp-iplatitude";M.TRUE_CLIENT_IP="true-client-ip";M.ZP_ASN_HEADER="zp-asn";M.ZP_AS_ORG_HEADER="zp-asorg";M.ZP_COLO_HEADER="zp-colo";M.ZP_POSTAL_CODE_HEADER="zp-postalcode";M.ZP_METRO_CODE_HEADER="zp-metrocode";M.ZP_REGION_HEADER="zp-region";M.ZP_REGION_CODE_HEADER="zp-regioncode";M.ZP_TIMEZONE_HEADER="zp-timezone";M.DISPATCH_HEADERS_TO_REMOVE=[M.CF_IP_CITY_HEADER,M.CF_IP_CONTINENT_HEADER,M.CF_IP_COUNTRY_HEADER,M.CF_IP_LONGITUDE_HEADER,M.CF_IP_LATITUDE_HEADER,M.ZP_ASN_HEADER,M.ZP_AS_ORG_HEADER,M.ZP_COLO_HEADER,M.ZP_POSTAL_CODE_HEADER,M.ZP_METRO_CODE_HEADER,M.ZP_REGION_HEADER,M.ZP_REGION_CODE_HEADER,M.ZP_TIMEZONE_HEADER];M.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"];M.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49";M.DYNAMIC_METERS_CONTEXT_DATA="zuplo_dynamic_meters_0c8cdc26-2514-4756-8adb-474a6e103d91"});var Vh=b(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.generateColor=N.colorFunctions=N.stripColor=N.bgRgb24=N.rgb24=N.bgRgb8=N.rgb8=N.bgBrightWhite=N.bgBrightCyan=N.bgBrightMagenta=N.bgBrightBlue=N.bgBrightYellow=N.bgBrightGreen=N.bgBrightRed=N.bgBrightBlack=N.bgWhite=N.bgCyan=N.bgMagenta=N.bgBlue=N.bgYellow=N.bgGreen=N.bgRed=N.bgBlack=N.brightWhite=N.brightCyan=N.brightMagenta=N.brightBlue=N.brightYellow=N.brightGreen=N.brightRed=N.brightBlack=N.gray=N.white=N.cyan=N.magenta=N.blue=N.yellow=N.green=N.red=N.black=N.strikethrough=N.hidden=N.inverse=N.underline=N.italic=N.dim=N.bold=N.reset=N.getColorEnabled=N.setColorEnabled=void 0;var Mh=!0,Zu=!Mh;function av(t){Mh||(Zu=t)}o(av,"setColorEnabled");N.setColorEnabled=av;function cv(){return Zu}o(cv,"getColorEnabled");N.getColorEnabled=cv;function z(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(z,"code");function W(t,e){return Zu?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(W,"run");function uv(t){return W(t,z([0],0))}o(uv,"reset");N.reset=uv;function lv(t){return W(t,z([1],22))}o(lv,"bold");N.bold=lv;function dv(t){return W(t,z([2],22))}o(dv,"dim");N.dim=dv;function pv(t){return W(t,z([3],23))}o(pv,"italic");N.italic=pv;function fv(t){return W(t,z([4],24))}o(fv,"underline");N.underline=fv;function hv(t){return W(t,z([7],27))}o(hv,"inverse");N.inverse=hv;function mv(t){return W(t,z([8],28))}o(mv,"hidden");N.hidden=mv;function gv(t){return W(t,z([9],29))}o(gv,"strikethrough");N.strikethrough=gv;function yv(t){return W(t,z([30],39))}o(yv,"black");N.black=yv;function Uh(t){return W(t,z([31],39))}o(Uh,"red");N.red=Uh;function kh(t){return W(t,z([32],39))}o(kh,"green");N.green=kh;function Fh(t){return W(t,z([33],39))}o(Fh,"yellow");N.yellow=Fh;function Hh(t){return W(t,z([34],39))}o(Hh,"blue");N.blue=Hh;function qh(t){return W(t,z([35],39))}o(qh,"magenta");N.magenta=qh;function $h(t){return W(t,z([36],39))}o($h,"cyan");N.cyan=$h;function bv(t){return W(t,z([37],39))}o(bv,"white");N.white=bv;function _v(t){return jh(t)}o(_v,"gray");N.gray=_v;function jh(t){return W(t,z([90],39))}o(jh,"brightBlack");N.brightBlack=jh;function Ev(t){return W(t,z([91],39))}o(Ev,"brightRed");N.brightRed=Ev;function wv(t){return W(t,z([92],39))}o(wv,"brightGreen");N.brightGreen=wv;function vv(t){return W(t,z([93],39))}o(vv,"brightYellow");N.brightYellow=vv;function Tv(t){return W(t,z([94],39))}o(Tv,"brightBlue");N.brightBlue=Tv;function Sv(t){return W(t,z([95],39))}o(Sv,"brightMagenta");N.brightMagenta=Sv;function Iv(t){return W(t,z([96],39))}o(Iv,"brightCyan");N.brightCyan=Iv;function Pv(t){return W(t,z([97],39))}o(Pv,"brightWhite");N.brightWhite=Pv;function Av(t){return W(t,z([40],49))}o(Av,"bgBlack");N.bgBlack=Av;function Rv(t){return W(t,z([41],49))}o(Rv,"bgRed");N.bgRed=Rv;function Ov(t){return W(t,z([42],49))}o(Ov,"bgGreen");N.bgGreen=Ov;function Nv(t){return W(t,z([43],49))}o(Nv,"bgYellow");N.bgYellow=Nv;function Cv(t){return W(t,z([44],49))}o(Cv,"bgBlue");N.bgBlue=Cv;function xv(t){return W(t,z([45],49))}o(xv,"bgMagenta");N.bgMagenta=xv;function Lv(t){return W(t,z([46],49))}o(Lv,"bgCyan");N.bgCyan=Lv;function Dv(t){return W(t,z([47],49))}o(Dv,"bgWhite");N.bgWhite=Dv;function Mv(t){return W(t,z([100],49))}o(Mv,"bgBrightBlack");N.bgBrightBlack=Mv;function Uv(t){return W(t,z([101],49))}o(Uv,"bgBrightRed");N.bgBrightRed=Uv;function kv(t){return W(t,z([102],49))}o(kv,"bgBrightGreen");N.bgBrightGreen=kv;function Fv(t){return W(t,z([103],49))}o(Fv,"bgBrightYellow");N.bgBrightYellow=Fv;function Hv(t){return W(t,z([104],49))}o(Hv,"bgBrightBlue");N.bgBrightBlue=Hv;function qv(t){return W(t,z([105],49))}o(qv,"bgBrightMagenta");N.bgBrightMagenta=qv;function $v(t){return W(t,z([106],49))}o($v,"bgBrightCyan");N.bgBrightCyan=$v;function jv(t){return W(t,z([107],49))}o(jv,"bgBrightWhite");N.bgBrightWhite=jv;function ir(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(ir,"clampAndTruncate");function Vv(t,e){return W(t,z([38,5,ir(e)],39))}o(Vv,"rgb8");N.rgb8=Vv;function Bv(t,e){return W(t,z([48,5,ir(e)],49))}o(Bv,"bgRgb8");N.bgRgb8=Bv;function Gv(t,e){return typeof e=="number"?W(t,z([38,2,e>>16&255,e>>8&255,e&255],39)):W(t,z([38,2,ir(e.r),ir(e.g),ir(e.b)],39))}o(Gv,"rgb24");N.rgb24=Gv;function Kv(t,e){return typeof e=="number"?W(t,z([48,2,e>>16&255,e>>8&255,e&255],49)):W(t,z([48,2,ir(e.r),ir(e.g),ir(e.b)],49))}o(Kv,"bgRgb24");N.bgRgb24=Kv;var Jv=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 zv(t){return t.replace(Jv,"")}o(zv,"stripColor");N.stripColor=zv;N.colorFunctions=[Uh,kh,Fh,Hh,qh,$h];function Wv(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(Wv,"hashCode");function Qv(t){let e=Math.abs(Wv(t));return N.colorFunctions[e%N.colorFunctions.length]}o(Qv,"generateColor");N.generateColor=Qv});var Bh=b(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.format=void 0;function Yv(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(Yv,"format");Uo.format=Yv});var Qh=b(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.inspect=void 0;function kr(t,e,r,n){let i={seen:[],stylize:Zv,showHidden:e??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=eT),ko(i,t,i.depth)}o(kr,"inspect");Fo.inspect=kr;kr.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]};kr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function Zv(t,e){return t}o(Zv,"stylizeNoColor");function Xv(t){return typeof t=="boolean"}o(Xv,"isBoolean");function Kh(t){return t===void 0}o(Kh,"isUndefined");function eT(t,e){let r=kr.styles[e];return r?"\x1B["+kr.colors[r][0]+"m"+t+"\x1B["+kr.colors[r][1]+"m":t}o(eT,"stylizeWithColor");function Xu(t){return typeof t=="function"}o(Xu,"isFunction");function Jh(t){return typeof t=="string"}o(Jh,"isString");function tT(t){return typeof t=="number"}o(tT,"isNumber");function zh(t){return t===null}o(zh,"isNull");function Wh(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Wh,"hasOwn");function el(t){return il(t)&&ol(t)==="[object RegExp]"}o(el,"isRegExp");function il(t){return typeof t=="object"&&t!==null}o(il,"isObject");function tl(t){return il(t)&&(ol(t)==="[object Error]"||t instanceof Error)}o(tl,"isError");function Gh(t){return il(t)&&ol(t)==="[object Date]"}o(Gh,"isDate");function ol(t){return Object.prototype.toString.call(t)}o(ol,"objectToString");function rT(t){let e={};return t.forEach(function(r,n){e[r]=!0}),e}o(rT,"arrayToHash");function nT(t,e,r,n,i){let s=[];for(let a=0,c=e.length;a<c;++a)Wh(e,String(a))?s.push(nl(t,e,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(nl(t,e,r,n,a,!0))}),s}o(nT,"formatArray");function rl(t){return"["+Error.prototype.toString.call(t)+"]"}o(rl,"formatError");function ko(t,e,r){if(t.customInspect&&e&&Xu(e.inspect)&&e.inspect!==kr&&!(e.constructor&&e.constructor.prototype===e)){let d=e.inspect(r,t);return Jh(d)||(d=ko(t,d,r)),d}let n=iT(t,e);if(n)return n;let i=Object.keys(e),s=rT(i);try{t.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(e))}catch{}if(tl(e)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return rl(e);if(i.length===0){if(Xu(e)){let d=e.name?": "+e.name:"";return t.stylize("[Function"+d+"]","special")}if(el(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(Gh(e))return t.stylize(Date.prototype.toString.call(e),"date");if(tl(e))return rl(e)}let a="",c=!1,u=["{","}"];if(Array.isArray(e)&&(c=!0,u=["[","]"]),Xu(e)&&(a=" [Function"+(e.name?": "+e.name:"")+"]"),el(e)&&(a=" "+RegExp.prototype.toString.call(e)),Gh(e)&&(a=" "+Date.prototype.toUTCString.call(e)),tl(e)&&(a=" "+rl(e)),i.length===0&&(!c||e.length==0))return u[0]+a+u[1];if(r<0)return el(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);let l;return c?l=nT(t,e,r,s,i):l=i.map(function(d){return nl(t,e,r,s,d,c)}),t.seen.pop(),oT(l,a,u)}o(ko,"formatValue");function nl(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")),Wh(n,i)||(a="["+i+"]"),c||(t.seen.indexOf(u.value)<0?(zh(r)?c=ko(t,u.value,null):c=ko(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")),Kh(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(nl,"formatProperty");function nT(t,e){if(Kh(e))return t.stylize("undefined","undefined");if(Jh(e)){let r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(eT(e))return t.stylize(""+e,"number");if(Zv(e))return t.stylize(""+e,"boolean");if(zh(e))return t.stylize("null","null")}o(nT,"formatPrimitive");function iT(t,e,r){let n=0;return t.reduce(function(s,a){return n++,a.indexOf(`
32
+ `))):c=t.stylize("[Circular]","special")),Kh(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(nl,"formatProperty");function iT(t,e){if(Kh(e))return t.stylize("undefined","undefined");if(Jh(e)){let r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(tT(e))return t.stylize(""+e,"number");if(Xv(e))return t.stylize(""+e,"boolean");if(zh(e))return t.stylize("null","null")}o(iT,"formatPrimitive");function oT(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(iT,"reduceToSingleString")});var Yh=b(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.format=void 0;var oT=Bh(),sT=Qh(),aT=o((t,...e)=>(0,oT.format)(sT.inspect,t,e),"format");Ho.format=aT});var Fr=b(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.debug=or.withoutEnv=or.Debugger=void 0;var cT=Vh(),uT=Yh(),qo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,cT.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,uT.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};or.Debugger=qo;var $o=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function Zh(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(Zh,"extract");var Pi;function lT(t){t||(t=[]),typeof t=="string"&&(t=Zh(t)),Pi=new $o(t)}o(lT,"withoutEnv");or.withoutEnv=lT;function dT(t){let e=globalThis.DEBUG;Pi||(Pi=new $o(Zh(e)));let r=new qo(Pi,t);return Pi.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(dT,"debug");or.debug=dT});var Vo=b(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.ProblemResponseFormatter=dn.InternalProblemResponseFormatter=void 0;var pT=k(),jo=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 pT.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};dn.InternalProblemResponseFormatter=jo;var sl=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await jo.problemResponseFormat(e,r,n)}};dn.ProblemResponseFormatter=sl});var em=b(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.deepFreeze=void 0;function Xh(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Xh(r)}return Object.freeze(t)}o(Xh,"deepFreeze");Bo.deepFreeze=Xh});var Ge=b(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.ZuploRequest=void 0;var tm=em(),al=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){let e={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())e[n]=i;this.#e=e}return(0,tm.deepFreeze)(this.#e)}get params(){return(0,tm.deepFreeze)(this.#t)}user};Go.ZuploRequest=al});var Rt=b(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.initializeRuntime=Se.invokeOnResponseSendingFinalExtensions=Se.invokeOnResponseSendingExtensions=Se.invokeOnRequestExtensions=Se.plugins=Se.runtimeExtensions=Se.SystemRuntimePlugin=Se.RuntimePlugin=void 0;var rm=k(),fT=Vo(),hT=Ge(),Jo=class{static{o(this,"RuntimePlugin")}};Se.RuntimePlugin=Jo;var zo=class extends Jo{static{o(this,"SystemRuntimePlugin")}async initialize(e){return Promise.resolve()}registerRoutes(e,r){}};Se.SystemRuntimePlugin=zo;Se.runtimeExtensions={};var cl=[];Se.plugins=cl;var nm=[],im=[],om=[],Ko={addPlugin(t){cl.push(t)},addRequestHook(t){nm.push(t)},addResponseSendingHook(t){im.push(t)},addResponseSendingFinalHook(t){om.push(t)}},mT=o(async(t,e)=>{let r=t;for(let n of nm){let i=await n(r,e);if(i instanceof hT.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new rm.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");Se.invokeOnRequestExtensions=mT;var gT=o(async(t,e,r)=>{let n=t;for(let i of im){let s=await i(t,e,r);if(s instanceof Response)n=s;else throw new rm.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");Se.invokeOnResponseSendingExtensions=gT;var yT=o(async(t,e,r)=>{for(let n of om)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");Se.invokeOnResponseSendingFinalExtensions=yT;async function bT(t=()=>Promise.resolve()){await t(Ko),Se.runtimeExtensions.value=Ko;for(let e of cl)e instanceof zo&&await e.initialize(Ko);fT.InternalProblemResponseFormatter.setProblemResponseFormat(Ko.problemResponseFormat)}o(bT,"initializeRuntime");Se.initializeRuntime=bT});var ul=b(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.serialize=sr.ContentTypes=void 0;sr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function _T(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(sr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(sr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(_T,"serialize");sr.serialize=_T});var ll=b(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.isSystemRoute=void 0;var sm=Hr();function ET(t){return sm.Gateway.instance.runtimeSettings.developerPortal.enabled&&t.pathname.startsWith(sm.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||t.pathname.startsWith("/__zuplo/")}o(ET,"isSystemRoute");Wo.isSystemRoute=ET});var Bt=b(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.Pipeline=void 0;var dl=qr(),am=Rt(),wT=ul(),vT=ie(),TT=ll(),pl=class{static{o(this,"Pipeline")}constructor(e){this.execute=this.#t(e)}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=({processors:e,gateway:r,handler:n})=>async(i,s)=>{let a=[...e],c=o(async _=>{let T=a.pop();return T?T(i,s,r,c):await this.#e(async y=>{let S=await n(y,s);return ST(S)},r)(_,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,TT.isSystemRoute)(d)&&vT.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new dl.ResponseSendingEvent(i,l);s.dispatchEvent(p);let f=dl.ZuploContextExtensions.getContextExtensions(s),h=f.latestRequest,g;try{g=await p.mutableResponse}catch(_){return s.log.error(_),r.errorHandler(i,s,_)}try{g=await f.onResponseSending(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}try{g=await(0,am.invokeOnResponseSendingExtensions)(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}s.dispatchEvent(new dl.ResponseSentEvent(i,g));try{await f.onResponseSendingFinal(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,am.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Qo.Pipeline=pl;function ST(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,wT.serialize)(t),{headers:{"content-type":"application/json"}})}o(ST,"resultToResponse")});var Zo=b(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.MetricsPlugin=void 0;var IT=Rt(),fl=class extends IT.RuntimePlugin{static{o(this,"MetricsPlugin")}};Yo.MetricsPlugin=fl});var Ze=b(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.SystemLogMap=void 0;var PT=k(),hl=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 PT.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};Xo.SystemLogMap=hl});var Pe=b(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.BatchDispatch=void 0;var ml=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i??console}#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.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};es.BatchDispatch=ml});var um=b(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.EllieMetricsTransport=void 0;var cm=Ze(),AT=Pe(),ts=ie(),gl=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=ts.Environment.instance.loggingId,this.#e=e,this.#t=new AT.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,cm.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}=ts.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":ts.Environment.instance.deploymentName??"unknown","user-agent":ts.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();cm.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};rs.EllieMetricsTransport=gl});var gt=b($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.systemNoVersion=$r.SystemRouteConfiguration=void 0;var yl=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=$r.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};$r.SystemRouteConfiguration=yl;$r.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var ar=b(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.metricsProcessor=void 0;var lm=ln(),RT=qr(),OT=Rt(),NT=Zo(),CT=um(),xT=gt(),LT=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(lm.RAY_ID_HEADER)??void 0,u=t.headers.get(lm.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof xT.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=RT.ZuploContextExtensions.getContextExtensions(e).latestRequest,f={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},h=[];return h.push(new CT.EllieMetricsTransport(e)),OT.plugins.forEach(g=>{if(g instanceof NT.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(f,e)}),a},"metricsProcessor");ns.metricsProcessor=LT});var bl=b(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.SystemRouteName=void 0;var dm;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.StripePlugin="stripe-plugin",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(dm||(is.SystemRouteName=dm={}))});var fm=b(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0})});var jr=b(cr=>{"use strict";var DT=cr&&cr.__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]}),hm=cr&&cr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&DT(e,t,r)};Object.defineProperty(cr,"__esModule",{value:!0});hm(bl(),cr);hm(fm(),cr)});var mm=b(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.registerBuildRoute=void 0;var MT=Gt(),UT=Bt(),kT=ar(),FT=jr(),HT=gt(),qT=Ze(),$T=ie(),jT=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 MT.HttpProblems.notFound(s,a);let l=$T.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"&&qT.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 UT.Pipeline({processors:[kT.metricsProcessor],handler:r,gateway:e}),i=new HT.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:FT.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");os.registerBuildRoute=jT});var _l=b(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.HTTP_STATUS_TITLES=pn.HttpStatusCode=void 0;var gm;(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"})(gm||(pn.HttpStatusCode=gm={}));pn.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 wl=b(El=>{"use strict";Object.defineProperty(El,"__esModule",{value:!0});var VT={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"};El.default=VT});var pe=b(fn=>{"use strict";var BT=fn&&fn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fn,"__esModule",{value:!0});fn.HttpProblems=void 0;var GT=ln(),H=_l(),KT=BT(wl()),JT=ie(),vl=Vo();function zT(t){return`${new URL(t.url).pathname}`}o(zT,"instance");function WT(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:JT.Environment.instance.build.BUILD_ID},n=t.headers.get(GT.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(WT,"trace");var QT=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:zT(e),trace:WT(e,r),...n},additionalHeaders:i,statusText:KT.default[t.status]}),"merge"),Tl=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?vl.ProblemResponseFormatter.format(e,r,n):vl.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:H.HTTP_STATUS_TITLES[e],...r}}},Sl=class extends Tl{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=QT(this.getProblemFromStatus(e),r,n,i,s);return vl.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(H.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(H.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(H.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(H.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(H.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(H.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(H.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(H.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(H.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(H.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(H.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(H.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(H.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(H.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(H.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(H.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(H.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(H.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(H.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(H.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(H.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(H.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(H.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(H.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(H.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(H.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(H.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(H.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(H.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(H.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(H.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(H.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(H.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(H.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(H.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(H.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(H.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(H.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(H.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(H.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(H.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(H.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(H.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(H.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(H.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};fn.HttpProblems=Sl});var st=b(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.isErrorLike=K.withUndefinedAsNull=K.withNullAsUndefined=K.validateConstraint=K.validateConstraints=K.areFunctions=K.isFunction=K.isEmptyObject=K.assertAllDefined=K.assertIsDefined=K.assertType=K.isUndefinedOrNull=K.isDefined=K.isUndefined=K.isBoolean=K.isIterable=K.isNumber=K.isTypedArray=K.isArray=K.isObject=K.getOwnEnumerableKeys=K.isRegexp=K.isStringArray=K.isNonEmptyString=K.isString=K.toString=void 0;var{toString:YT}=Object.prototype,{propertyIsEnumerable:ZT}=Object.prototype;function ym(t){return YT.call(t)}o(ym,"toString");K.toString=ym;function ss(t){return typeof t=="string"}o(ss,"isString");K.isString=ss;function XT(t){return ss(t)&&t!==""}o(XT,"isNonEmptyString");K.isNonEmptyString=XT;function eS(t){return Array.isArray(t)&&t.every(e=>ss(e))}o(eS,"isStringArray");K.isStringArray=eS;function tS(t){return ym(t)==="[object RegExp]"}o(tS,"isRegexp");K.isRegexp=tS;function rS(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>ZT.call(t,e))]}o(rS,"getOwnEnumerableKeys");K.getOwnEnumerableKeys=rS;function Il(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(Il,"isObject");K.isObject=Il;function nS(t){return Il(t)&&Array.isArray(t)}o(nS,"isArray");K.isArray=nS;function iS(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(iS,"isTypedArray");K.isTypedArray=iS;function oS(t){return typeof t=="number"&&!isNaN(t)}o(oS,"isNumber");K.isNumber=oS;function sS(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(sS,"isIterable");K.isIterable=sS;function aS(t){return t===!0||t===!1}o(aS,"isBoolean");K.isBoolean=aS;function bm(t){return typeof t>"u"}o(bm,"isUndefined");K.isUndefined=bm;function cS(t){return!Ai(t)}o(cS,"isDefined");K.isDefined=cS;function Ai(t){return bm(t)||t===null}o(Ai,"isUndefinedOrNull");K.isUndefinedOrNull=Ai;function uS(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(uS,"assertType");K.assertType=uS;function lS(t){if(Ai(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(lS,"assertIsDefined");K.assertIsDefined=lS;function dS(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Ai(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o(dS,"assertAllDefined");K.assertAllDefined=dS;var pS=Object.prototype.hasOwnProperty;function fS(t){if(!Il(t))return!1;for(let e in t)if(pS.call(t,e))return!1;return!0}o(fS,"isEmptyObject");K.isEmptyObject=fS;function Pl(t){return typeof t=="function"}o(Pl,"isFunction");K.isFunction=Pl;function hS(...t){return t.length>0&&t.every(Pl)}o(hS,"areFunctions");K.areFunctions=hS;function mS(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)_m(t[n],e[n])}o(mS,"validateConstraints");K.validateConstraints=mS;function _m(t,e){if(ss(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Pl(e)){try{if(t instanceof e)return}catch{}if(!Ai(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(_m,"validateConstraint");K.validateConstraint=_m;function gS(t){return t===null?void 0:t}o(gS,"withNullAsUndefined");K.withNullAsUndefined=gS;function yS(t){return typeof t>"u"?null:t}o(yS,"withUndefinedAsNull");K.withUndefinedAsNull=yS;function bS(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(bS,"isErrorLike");K.isErrorLike=bS});var Kt=b(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.parseValueToBoolean=Ot.parseValueToStringArray=Ot.getValueFromRequestUser=Ot.statusCodesStringToNumberArray=void 0;var hn=k(),Al=st(),Em=new Map;function _S(t){if(Array.isArray(t)&&!t.some(i=>typeof i!="number"))return t;if(typeof t!="string")throw new Error("Input must be a string or an array of numbers");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=Em.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 Em.set(t,n),n}o(_S,"statusCodesStringToNumberArray");Ot.statusCodesStringToNumberArray=_S;function ES(t,e,r){if(!e.startsWith("."))throw new hn.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 hn.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(ES,"getValueFromRequestUser");Ot.getValueFromRequestUser=ES;function wS(t){if(Array.isArray(t)){if(t.includes(r=>typeof r!="string"))throw new hn.ConfigurationError("Received an array that contains non-string values.");return t}if((0,Al.isString)(t))return t.includes(",")?t.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[t];throw new hn.ConfigurationError(`Expected type of string, received type '${typeof t}'`)}o(wS,"parseValueToStringArray");Ot.parseValueToStringArray=wS;function vS(t){if((0,Al.isBoolean)(t))return t;if((0,Al.isString)(t)){if(t.toLowerCase()==="true")return!0;if(t.toLowerCase()==="false")return!1;throw new hn.ConfigurationError(`Attempted to parse string to boolean, but received ${t} which cannot be parsed.`)}throw new hn.ConfigurationError(`Expected type of boolean, received type '${typeof t}'`)}o(vS,"parseValueToBoolean");Ot.parseValueToBoolean=vS});var cs=b(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.generateCorsHeaders=ur.findMatchingOrigin=ur.parseCorsPolicies=void 0;var Vr=k(),wm=Kt(),as=st();function TS(t){if(t==null)return[];if(!Array.isArray(t))throw new Vr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof t}'`);return t.map(r=>{if(!(0,as.isObject)(r))throw new Vr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,as.isNonEmptyString)(r.name))throw new Vr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,as.isNumber)(r.maxAge))throw new Vr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,as.isBoolean)(r.allowCredentials))throw new Vr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=Rl(r,"allowedHeaders"),i=Rl(r,"allowedMethods"),s=Rl(r,"exposeHeaders"),a;try{a=(0,wm.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Vr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(TS,"parseCorsPolicies");ur.parseCorsPolicies=TS;function Rl(t,e){let r;if(t[e]!==void 0)try{r=(0,wm.parseValueToStringArray)(t[e])}catch(n){throw new Vr.ConfigurationError(`Value of '${e}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(Rl,"parseOptionalProperty");var SS=o((t,e)=>{if(e===null)return;if(t.find(a=>a==="*"))return e;let n=t.map(a=>a.trim().toLowerCase()),i=e.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");ur.findMatchingOrigin=SS;var IS=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=t.allowedHeaders),t.allowedMethods&&(r["access-control-allow-methods"]=t.allowedMethods),t.exposeHeaders&&(r["access-control-expose-headers"]=t.exposeHeaders);let n=t.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");ur.generateCorsHeaders=IS});var Tm=b(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.registerCorsRoute=void 0;var PS=k(),AS=Bt(),Ol=pe(),RS=ar(),OS=jr(),NS=gt(),vm=cs(),CS=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 Ol.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let f=t.lookup(l,u);if(!f)return Ol.HttpProblems.notFound(a,c);let h=f.routeConfiguration,g=xS(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),Ol.HttpProblems.notFound(a,c))},"optionsHandler"),i=new AS.Pipeline({processors:[RS.metricsProcessor],handler:n,gateway:e}),s=new NS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:OS.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");us.registerCorsRoute=CS;var xS=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,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new PS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,vm.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,vm.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Sm=b(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.registerNoRoutes=void 0;var LS=Bt(),DS=ar(),MS=jr(),US=gt(),kS=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 LS.Pipeline({processors:[DS.metricsProcessor],handler:r,gateway:e}),i=new US.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:MS.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");ls.registerNoRoutes=kS});var Im=b(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.registerNotMatchedHandler=Br.notFoundRouteConfiguration=void 0;var FS=qr(),HS=Rt(),qS=Bt(),$S=pe(),jS=ar(),VS=jr(),BS=gt();Br.notFoundRouteConfiguration=new BS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:VS.SystemRouteName.UnmatchedPath});var GS=o((t,e)=>{let r=o(async(i,s)=>{let a=HS.runtimeExtensions.value?.notFoundHandler;if(a){let c=FS.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return $S.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new qS.Pipeline({processors:[jS.metricsProcessor],handler:r,gateway:e});t.addRoute(Br.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Br.registerNotMatchedHandler=GS});var Nl=b(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.corsProcessor=void 0;var Rm=k(),Pm=cs(),KS=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Am=o(t=>{KS.forEach(e=>t.delete(e))},"stripCorsHeaders"),JS=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 Am(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 Rm.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=zS(i,r.routeData.corsPolicies),c=WS(t,a),u=new Headers(s.headers);return Am(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");ds.corsProcessor=JS;var zS=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:t.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Rm.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),WS=o((t,e)=>{let r=(0,Pm.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,Pm.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var Om=b(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.registerPingRoute=void 0;var QS=Bt(),YS=Nl(),ZS=jr(),XS=gt(),eI=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new QS.Pipeline({processors:[YS.corsProcessor],handler:r,gateway:e}),i=new XS.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:ZS.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");ps.registerPingRoute=eI});var gn=b(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.OutboundPolicy=mn.InboundPolicy=void 0;var tI=k(),rI=st(),fs=class{static{o(this,"PolicyBase")}options;policyName;constructor(e,r){if(!(0,rI.isString)(r))throw new tI.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=e,this.policyName=r}},Cl=class extends fs{static{o(this,"InboundPolicy")}};mn.InboundPolicy=Cl;var xl=class extends fs{static{o(this,"OutboundPolicy")}};mn.OutboundPolicy=xl});var yn=b(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.createInternalPolicyProcessor=yt.policyProcessor=yt.toStackedInboundHandler=yt.getInboundPolicyInstances=void 0;var nI=qr(),qe=k(),hs=gn(),Nm=Ge(),iI=ie(),Ml=class extends hs.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r){return this.#e(e,r,this.options,this.policyName)}},Ul=class extends hs.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r,n){return this.#e(e,r,n,this.options,this.policyName)}},Ll=new Map;function Cm(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.filter(s=>!Ll.has(s)).forEach(s=>{let a=e?.find(l=>l.name===s);if(!a)throw new qe.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof hs.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new Ml(c,a.handler.options,a.name);else throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);Ll.set(a.name,u)}),r.map(s=>{let a=Ll.get(s);if(a===void 0)throw new qe.RuntimeError("Internal error. Policy not found in cache.");return a})}o(Cm,"getInboundPolicyInstances");yt.getInboundPolicyInstances=Cm;var Dl=new Map;function oI(t,e){let r=t.policies?.outbound??[];return r.filter(i=>!Dl.has(i)).forEach(i=>{let s=e?.find(u=>u.name===i);if(!s)throw new qe.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof hs.OutboundPolicy)c=new a(s.handler.options??{},s.name);else if(typeof a=="function")c=new Ul(a,s.handler.options??{},s.name);else throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);Dl.set(s.name,c)}),r.map(i=>{let s=Dl.get(i);if(s===void 0)throw new qe.RuntimeError("Internal error. Policy not found in cache.");return s})}o(oI,"getOutboundPolicyInstances");var sI=o(t=>async(e,r)=>{let n=nI.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);if(c instanceof Nm.ZuploRequest)s=c;else if(c instanceof Request)s=new Nm.ZuploRequest(c);else{if(c instanceof Response)return c;throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");yt.toStackedInboundHandler=sI;var aI=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);if(!(c instanceof Response))throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),cI=o(async(t,e,r,n)=>{let i=Cm(e.route,r.routeData.policies),s=oI(e.route,r.routeData.policies);return xm({request:t,context:e,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");yt.policyProcessor=cI;function uI({inboundPolicies:t=[],outboundPolicies:e=[]}){return o(async(n,i,s,a)=>xm({request:n,context:i,inboundPolicies:t,outboundPolicies:e,gateway:s,next:a}),"policyProcessor")}o(uI,"createInternalPolicyProcessor");yt.createInternalPolicyProcessor=uI;async function xm({request:t,context:e,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,yt.toStackedInboundHandler)(r);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await s(c),l=aI(n),d;return iI.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,t,e):d=u.ok?l(u,t,e):u,d}catch(c){return e.log.error(c),i.errorHandler(t,e,c)}}o(xm,"executePolicyProcessor")});var Lm=b(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.serialize=bn.parse=void 0;var lI=Object.prototype.toString,ms=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function dI(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||fI,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]=gI(l,i)}s=c+1}return r}o(dI,"parse");bn.parse=dI;function pI(t,e,r){let n=r||{},i=n.encode||hI;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ms.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!ms.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(!ms.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!ms.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!mI(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(pI,"serialize");bn.serialize=pI;function fI(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(fI,"decode");function hI(t){return encodeURIComponent(t)}o(hI,"encode");function mI(t){return lI.call(t)==="[object Date]"||t instanceof Date}o(mI,"isDate");function gI(t,e){try{return e(t)}catch{return t}}o(gI,"tryDecode")});var Dm=b(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.devPortalBaseURL=void 0;var yI=Lm();function bI(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,yI.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(bI,"devPortalBaseURL");gs.devPortalBaseURL=bI});var Hm=b(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.registerDevPortalLegacyRedirectRoute=_n.registerDevPortalV3Route=void 0;var kl=Gt(),Um=Bt(),km=ar(),_I=yn(),Fm=gt(),EI=Dm(),lr=ie(),Mm="/__zuplo/dev-portal",wI="dev-portal-id",vI="dev-portal-host",TI="zp-account",SI="zp-project",II="dev-portal-build",PI=`
35
+ `)+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}o(oT,"reduceToSingleString")});var Yh=b(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.format=void 0;var sT=Bh(),aT=Qh(),cT=o((t,...e)=>(0,sT.format)(aT.inspect,t,e),"format");Ho.format=cT});var Fr=b(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.debug=or.withoutEnv=or.Debugger=void 0;var uT=Vh(),lT=Yh(),qo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,uT.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,lT.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};or.Debugger=qo;var $o=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function Zh(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(Zh,"extract");var Pi;function dT(t){t||(t=[]),typeof t=="string"&&(t=Zh(t)),Pi=new $o(t)}o(dT,"withoutEnv");or.withoutEnv=dT;function pT(t){let e=globalThis.DEBUG;Pi||(Pi=new $o(Zh(e)));let r=new qo(Pi,t);return Pi.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(pT,"debug");or.debug=pT});var Vo=b(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.ProblemResponseFormatter=dn.InternalProblemResponseFormatter=void 0;var fT=k(),jo=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 fT.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};dn.InternalProblemResponseFormatter=jo;var sl=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await jo.problemResponseFormat(e,r,n)}};dn.ProblemResponseFormatter=sl});var em=b(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.deepFreeze=void 0;function Xh(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Xh(r)}return Object.freeze(t)}o(Xh,"deepFreeze");Bo.deepFreeze=Xh});var Ge=b(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.ZuploRequest=void 0;var tm=em(),al=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){let e={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())e[n]=i;this.#e=e}return(0,tm.deepFreeze)(this.#e)}get params(){return(0,tm.deepFreeze)(this.#t)}user};Go.ZuploRequest=al});var Rt=b(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.initializeRuntime=Se.invokeOnResponseSendingFinalExtensions=Se.invokeOnResponseSendingExtensions=Se.invokeOnRequestExtensions=Se.plugins=Se.runtimeExtensions=Se.SystemRuntimePlugin=Se.RuntimePlugin=void 0;var rm=k(),hT=Vo(),mT=Ge(),Jo=class{static{o(this,"RuntimePlugin")}};Se.RuntimePlugin=Jo;var zo=class extends Jo{static{o(this,"SystemRuntimePlugin")}async initialize(e){return Promise.resolve()}registerRoutes(e,r){}};Se.SystemRuntimePlugin=zo;Se.runtimeExtensions={};var cl=[];Se.plugins=cl;var nm=[],im=[],om=[],Ko={addPlugin(t){cl.push(t)},addRequestHook(t){nm.push(t)},addResponseSendingHook(t){im.push(t)},addResponseSendingFinalHook(t){om.push(t)}},gT=o(async(t,e)=>{let r=t;for(let n of nm){let i=await n(r,e);if(i instanceof mT.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new rm.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");Se.invokeOnRequestExtensions=gT;var yT=o(async(t,e,r)=>{let n=t;for(let i of im){let s=await i(t,e,r);if(s instanceof Response)n=s;else throw new rm.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");Se.invokeOnResponseSendingExtensions=yT;var bT=o(async(t,e,r)=>{for(let n of om)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");Se.invokeOnResponseSendingFinalExtensions=bT;async function _T(t=()=>Promise.resolve()){await t(Ko),Se.runtimeExtensions.value=Ko;for(let e of cl)e instanceof zo&&await e.initialize(Ko);hT.InternalProblemResponseFormatter.setProblemResponseFormat(Ko.problemResponseFormat)}o(_T,"initializeRuntime");Se.initializeRuntime=_T});var ul=b(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.serialize=sr.ContentTypes=void 0;sr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function ET(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(sr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(sr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(ET,"serialize");sr.serialize=ET});var ll=b(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.isSystemRoute=void 0;var sm=Hr();function wT(t){return sm.Gateway.instance.runtimeSettings.developerPortal.enabled&&t.pathname.startsWith(sm.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||t.pathname.startsWith("/__zuplo/")}o(wT,"isSystemRoute");Wo.isSystemRoute=wT});var Bt=b(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.Pipeline=void 0;var dl=qr(),am=Rt(),vT=ul(),TT=ie(),ST=ll(),pl=class{static{o(this,"Pipeline")}constructor(e){this.execute=this.#t(e)}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=({processors:e,gateway:r,handler:n})=>async(i,s)=>{let a=[...e],c=o(async _=>{let T=a.pop();return T?T(i,s,r,c):await this.#e(async y=>{let S=await n(y,s);return IT(S)},r)(_,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,ST.isSystemRoute)(d)&&TT.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new dl.ResponseSendingEvent(i,l);s.dispatchEvent(p);let f=dl.ZuploContextExtensions.getContextExtensions(s),h=f.latestRequest,g;try{g=await p.mutableResponse}catch(_){return s.log.error(_),r.errorHandler(i,s,_)}try{g=await f.onResponseSending(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}try{g=await(0,am.invokeOnResponseSendingExtensions)(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}s.dispatchEvent(new dl.ResponseSentEvent(i,g));try{await f.onResponseSendingFinal(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,am.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Qo.Pipeline=pl;function IT(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,vT.serialize)(t),{headers:{"content-type":"application/json"}})}o(IT,"resultToResponse")});var Zo=b(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.MetricsPlugin=void 0;var PT=Rt(),fl=class extends PT.RuntimePlugin{static{o(this,"MetricsPlugin")}};Yo.MetricsPlugin=fl});var Ze=b(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.SystemLogMap=void 0;var AT=k(),hl=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 AT.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};Xo.SystemLogMap=hl});var Pe=b(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.BatchDispatch=void 0;var ml=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i??console}#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.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};es.BatchDispatch=ml});var um=b(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.EllieMetricsTransport=void 0;var cm=Ze(),RT=Pe(),ts=ie(),gl=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=ts.Environment.instance.loggingId,this.#e=e,this.#t=new RT.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,cm.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}=ts.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":ts.Environment.instance.deploymentName??"unknown","user-agent":ts.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();cm.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};rs.EllieMetricsTransport=gl});var gt=b($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.systemNoVersion=$r.SystemRouteConfiguration=void 0;var yl=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=$r.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};$r.SystemRouteConfiguration=yl;$r.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var ar=b(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.metricsProcessor=void 0;var lm=ln(),OT=qr(),NT=Rt(),CT=Zo(),xT=um(),LT=gt(),DT=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(lm.RAY_ID_HEADER)??void 0,u=t.headers.get(lm.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof LT.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=OT.ZuploContextExtensions.getContextExtensions(e).latestRequest,f={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},h=[];return h.push(new xT.EllieMetricsTransport(e)),NT.plugins.forEach(g=>{if(g instanceof CT.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(f,e)}),a},"metricsProcessor");ns.metricsProcessor=DT});var bl=b(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.SystemRouteName=void 0;var dm;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.StripePlugin="stripe-plugin",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(dm||(is.SystemRouteName=dm={}))});var fm=b(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0})});var jr=b(cr=>{"use strict";var MT=cr&&cr.__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]}),hm=cr&&cr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&MT(e,t,r)};Object.defineProperty(cr,"__esModule",{value:!0});hm(bl(),cr);hm(fm(),cr)});var mm=b(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.registerBuildRoute=void 0;var UT=Gt(),kT=Bt(),FT=ar(),HT=jr(),qT=gt(),$T=Ze(),jT=ie(),VT=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 UT.HttpProblems.notFound(s,a);let l=jT.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"&&$T.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 kT.Pipeline({processors:[FT.metricsProcessor],handler:r,gateway:e}),i=new qT.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:HT.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");os.registerBuildRoute=VT});var _l=b(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.HTTP_STATUS_TITLES=pn.HttpStatusCode=void 0;var gm;(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"})(gm||(pn.HttpStatusCode=gm={}));pn.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 wl=b(El=>{"use strict";Object.defineProperty(El,"__esModule",{value:!0});var BT={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"};El.default=BT});var pe=b(fn=>{"use strict";var GT=fn&&fn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fn,"__esModule",{value:!0});fn.HttpProblems=void 0;var KT=ln(),H=_l(),JT=GT(wl()),zT=ie(),vl=Vo();function WT(t){return`${new URL(t.url).pathname}`}o(WT,"instance");function QT(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:zT.Environment.instance.build.BUILD_ID},n=t.headers.get(KT.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(QT,"trace");var YT=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:WT(e),trace:QT(e,r),...n},additionalHeaders:i,statusText:JT.default[t.status]}),"merge"),Tl=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?vl.ProblemResponseFormatter.format(e,r,n):vl.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:H.HTTP_STATUS_TITLES[e],...r}}},Sl=class extends Tl{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=YT(this.getProblemFromStatus(e),r,n,i,s);return vl.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(H.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(H.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(H.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(H.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(H.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(H.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(H.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(H.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(H.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(H.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(H.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(H.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(H.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(H.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(H.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(H.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(H.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(H.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(H.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(H.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(H.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(H.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(H.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(H.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(H.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(H.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(H.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(H.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(H.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(H.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(H.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(H.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(H.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(H.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(H.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(H.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(H.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(H.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(H.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(H.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(H.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(H.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(H.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(H.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(H.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};fn.HttpProblems=Sl});var st=b(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.isErrorLike=K.withUndefinedAsNull=K.withNullAsUndefined=K.validateConstraint=K.validateConstraints=K.areFunctions=K.isFunction=K.isEmptyObject=K.assertAllDefined=K.assertIsDefined=K.assertType=K.isUndefinedOrNull=K.isDefined=K.isUndefined=K.isBoolean=K.isIterable=K.isNumber=K.isTypedArray=K.isArray=K.isObject=K.getOwnEnumerableKeys=K.isRegexp=K.isStringArray=K.isNonEmptyString=K.isString=K.toString=void 0;var{toString:ZT}=Object.prototype,{propertyIsEnumerable:XT}=Object.prototype;function ym(t){return ZT.call(t)}o(ym,"toString");K.toString=ym;function ss(t){return typeof t=="string"}o(ss,"isString");K.isString=ss;function eS(t){return ss(t)&&t!==""}o(eS,"isNonEmptyString");K.isNonEmptyString=eS;function tS(t){return Array.isArray(t)&&t.every(e=>ss(e))}o(tS,"isStringArray");K.isStringArray=tS;function rS(t){return ym(t)==="[object RegExp]"}o(rS,"isRegexp");K.isRegexp=rS;function nS(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>XT.call(t,e))]}o(nS,"getOwnEnumerableKeys");K.getOwnEnumerableKeys=nS;function Il(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(Il,"isObject");K.isObject=Il;function iS(t){return Il(t)&&Array.isArray(t)}o(iS,"isArray");K.isArray=iS;function oS(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(oS,"isTypedArray");K.isTypedArray=oS;function sS(t){return typeof t=="number"&&!isNaN(t)}o(sS,"isNumber");K.isNumber=sS;function aS(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(aS,"isIterable");K.isIterable=aS;function cS(t){return t===!0||t===!1}o(cS,"isBoolean");K.isBoolean=cS;function bm(t){return typeof t>"u"}o(bm,"isUndefined");K.isUndefined=bm;function uS(t){return!Ai(t)}o(uS,"isDefined");K.isDefined=uS;function Ai(t){return bm(t)||t===null}o(Ai,"isUndefinedOrNull");K.isUndefinedOrNull=Ai;function lS(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(lS,"assertType");K.assertType=lS;function dS(t){if(Ai(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(dS,"assertIsDefined");K.assertIsDefined=dS;function pS(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Ai(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o(pS,"assertAllDefined");K.assertAllDefined=pS;var fS=Object.prototype.hasOwnProperty;function hS(t){if(!Il(t))return!1;for(let e in t)if(fS.call(t,e))return!1;return!0}o(hS,"isEmptyObject");K.isEmptyObject=hS;function Pl(t){return typeof t=="function"}o(Pl,"isFunction");K.isFunction=Pl;function mS(...t){return t.length>0&&t.every(Pl)}o(mS,"areFunctions");K.areFunctions=mS;function gS(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)_m(t[n],e[n])}o(gS,"validateConstraints");K.validateConstraints=gS;function _m(t,e){if(ss(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Pl(e)){try{if(t instanceof e)return}catch{}if(!Ai(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(_m,"validateConstraint");K.validateConstraint=_m;function yS(t){return t===null?void 0:t}o(yS,"withNullAsUndefined");K.withNullAsUndefined=yS;function bS(t){return typeof t>"u"?null:t}o(bS,"withUndefinedAsNull");K.withUndefinedAsNull=bS;function _S(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(_S,"isErrorLike");K.isErrorLike=_S});var Kt=b(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.parseValueToBoolean=Ot.parseValueToStringArray=Ot.getValueFromRequestUser=Ot.statusCodesStringToNumberArray=void 0;var hn=k(),Al=st(),Em=new Map;function ES(t){if(Array.isArray(t)&&!t.some(i=>typeof i!="number"))return t;if(typeof t!="string")throw new Error("Input must be a string or an array of numbers");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=Em.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 Em.set(t,n),n}o(ES,"statusCodesStringToNumberArray");Ot.statusCodesStringToNumberArray=ES;function wS(t,e,r){if(!e.startsWith("."))throw new hn.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 hn.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(wS,"getValueFromRequestUser");Ot.getValueFromRequestUser=wS;function vS(t){if(Array.isArray(t)){if(t.includes(r=>typeof r!="string"))throw new hn.ConfigurationError("Received an array that contains non-string values.");return t}if((0,Al.isString)(t))return t.includes(",")?t.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[t];throw new hn.ConfigurationError(`Expected type of string, received type '${typeof t}'`)}o(vS,"parseValueToStringArray");Ot.parseValueToStringArray=vS;function TS(t){if((0,Al.isBoolean)(t))return t;if((0,Al.isString)(t)){if(t.toLowerCase()==="true")return!0;if(t.toLowerCase()==="false")return!1;throw new hn.ConfigurationError(`Attempted to parse string to boolean, but received ${t} which cannot be parsed.`)}throw new hn.ConfigurationError(`Expected type of boolean, received type '${typeof t}'`)}o(TS,"parseValueToBoolean");Ot.parseValueToBoolean=TS});var cs=b(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.generateCorsHeaders=ur.findMatchingOrigin=ur.parseCorsPolicies=void 0;var Vr=k(),wm=Kt(),as=st();function SS(t){if(t==null)return[];if(!Array.isArray(t))throw new Vr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof t}'`);return t.map(r=>{if(!(0,as.isObject)(r))throw new Vr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,as.isNonEmptyString)(r.name))throw new Vr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,as.isNumber)(r.maxAge))throw new Vr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,as.isBoolean)(r.allowCredentials))throw new Vr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=Rl(r,"allowedHeaders"),i=Rl(r,"allowedMethods"),s=Rl(r,"exposeHeaders"),a;try{a=(0,wm.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Vr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(SS,"parseCorsPolicies");ur.parseCorsPolicies=SS;function Rl(t,e){let r;if(t[e]!==void 0)try{r=(0,wm.parseValueToStringArray)(t[e])}catch(n){throw new Vr.ConfigurationError(`Value of '${e}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(Rl,"parseOptionalProperty");var IS=o((t,e)=>{if(e===null)return;if(t.find(a=>a==="*"))return e;let n=t.map(a=>a.trim().toLowerCase()),i=e.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");ur.findMatchingOrigin=IS;var PS=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=t.allowedHeaders),t.allowedMethods&&(r["access-control-allow-methods"]=t.allowedMethods),t.exposeHeaders&&(r["access-control-expose-headers"]=t.exposeHeaders);let n=t.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");ur.generateCorsHeaders=PS});var Tm=b(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.registerCorsRoute=void 0;var AS=k(),RS=Bt(),Ol=pe(),OS=ar(),NS=jr(),CS=gt(),vm=cs(),xS=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 Ol.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let f=t.lookup(l,u);if(!f)return Ol.HttpProblems.notFound(a,c);let h=f.routeConfiguration,g=LS(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),Ol.HttpProblems.notFound(a,c))},"optionsHandler"),i=new RS.Pipeline({processors:[OS.metricsProcessor],handler:n,gateway:e}),s=new CS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:NS.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");us.registerCorsRoute=xS;var LS=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,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new AS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,vm.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,vm.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Sm=b(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.registerNoRoutes=void 0;var DS=Bt(),MS=ar(),US=jr(),kS=gt(),FS=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 DS.Pipeline({processors:[MS.metricsProcessor],handler:r,gateway:e}),i=new kS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:US.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");ls.registerNoRoutes=FS});var Im=b(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.registerNotMatchedHandler=Br.notFoundRouteConfiguration=void 0;var HS=qr(),qS=Rt(),$S=Bt(),jS=pe(),VS=ar(),BS=jr(),GS=gt();Br.notFoundRouteConfiguration=new GS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:BS.SystemRouteName.UnmatchedPath});var KS=o((t,e)=>{let r=o(async(i,s)=>{let a=qS.runtimeExtensions.value?.notFoundHandler;if(a){let c=HS.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return jS.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new $S.Pipeline({processors:[VS.metricsProcessor],handler:r,gateway:e});t.addRoute(Br.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Br.registerNotMatchedHandler=KS});var Nl=b(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.corsProcessor=void 0;var Rm=k(),Pm=cs(),JS=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Am=o(t=>{JS.forEach(e=>t.delete(e))},"stripCorsHeaders"),zS=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 Am(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 Rm.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=WS(i,r.routeData.corsPolicies),c=QS(t,a),u=new Headers(s.headers);return Am(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");ds.corsProcessor=zS;var WS=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:t.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Rm.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),QS=o((t,e)=>{let r=(0,Pm.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,Pm.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var Om=b(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.registerPingRoute=void 0;var YS=Bt(),ZS=Nl(),XS=jr(),eI=gt(),tI=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new YS.Pipeline({processors:[ZS.corsProcessor],handler:r,gateway:e}),i=new eI.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:XS.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");ps.registerPingRoute=tI});var gn=b(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.OutboundPolicy=mn.InboundPolicy=void 0;var rI=k(),nI=st(),fs=class{static{o(this,"PolicyBase")}options;policyName;constructor(e,r){if(!(0,nI.isString)(r))throw new rI.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=e,this.policyName=r}},Cl=class extends fs{static{o(this,"InboundPolicy")}};mn.InboundPolicy=Cl;var xl=class extends fs{static{o(this,"OutboundPolicy")}};mn.OutboundPolicy=xl});var yn=b(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.createInternalPolicyProcessor=yt.policyProcessor=yt.toStackedInboundHandler=yt.getInboundPolicyInstances=void 0;var iI=qr(),qe=k(),hs=gn(),Nm=Ge(),oI=ie(),Ml=class extends hs.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r){return this.#e(e,r,this.options,this.policyName)}},Ul=class extends hs.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r,n){return this.#e(e,r,n,this.options,this.policyName)}},Ll=new Map;function Cm(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.filter(s=>!Ll.has(s)).forEach(s=>{let a=e?.find(l=>l.name===s);if(!a)throw new qe.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof hs.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new Ml(c,a.handler.options,a.name);else throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);Ll.set(a.name,u)}),r.map(s=>{let a=Ll.get(s);if(a===void 0)throw new qe.RuntimeError("Internal error. Policy not found in cache.");return a})}o(Cm,"getInboundPolicyInstances");yt.getInboundPolicyInstances=Cm;var Dl=new Map;function sI(t,e){let r=t.policies?.outbound??[];return r.filter(i=>!Dl.has(i)).forEach(i=>{let s=e?.find(u=>u.name===i);if(!s)throw new qe.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof hs.OutboundPolicy)c=new a(s.handler.options??{},s.name);else if(typeof a=="function")c=new Ul(a,s.handler.options??{},s.name);else throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);Dl.set(s.name,c)}),r.map(i=>{let s=Dl.get(i);if(s===void 0)throw new qe.RuntimeError("Internal error. Policy not found in cache.");return s})}o(sI,"getOutboundPolicyInstances");var aI=o(t=>async(e,r)=>{let n=iI.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);if(c instanceof Nm.ZuploRequest)s=c;else if(c instanceof Request)s=new Nm.ZuploRequest(c);else{if(c instanceof Response)return c;throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");yt.toStackedInboundHandler=aI;var cI=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);if(!(c instanceof Response))throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),uI=o(async(t,e,r,n)=>{let i=Cm(e.route,r.routeData.policies),s=sI(e.route,r.routeData.policies);return xm({request:t,context:e,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");yt.policyProcessor=uI;function lI({inboundPolicies:t=[],outboundPolicies:e=[]}){return o(async(n,i,s,a)=>xm({request:n,context:i,inboundPolicies:t,outboundPolicies:e,gateway:s,next:a}),"policyProcessor")}o(lI,"createInternalPolicyProcessor");yt.createInternalPolicyProcessor=lI;async function xm({request:t,context:e,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,yt.toStackedInboundHandler)(r);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await s(c),l=cI(n),d;return oI.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,t,e):d=u.ok?l(u,t,e):u,d}catch(c){return e.log.error(c),i.errorHandler(t,e,c)}}o(xm,"executePolicyProcessor")});var Lm=b(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.serialize=bn.parse=void 0;var dI=Object.prototype.toString,ms=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function pI(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||hI,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]=yI(l,i)}s=c+1}return r}o(pI,"parse");bn.parse=pI;function fI(t,e,r){let n=r||{},i=n.encode||mI;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ms.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!ms.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(!ms.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!ms.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!gI(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(fI,"serialize");bn.serialize=fI;function hI(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(hI,"decode");function mI(t){return encodeURIComponent(t)}o(mI,"encode");function gI(t){return dI.call(t)==="[object Date]"||t instanceof Date}o(gI,"isDate");function yI(t,e){try{return e(t)}catch{return t}}o(yI,"tryDecode")});var Dm=b(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.devPortalBaseURL=void 0;var bI=Lm();function _I(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,bI.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(_I,"devPortalBaseURL");gs.devPortalBaseURL=_I});var Hm=b(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.registerDevPortalLegacyRedirectRoute=_n.registerDevPortalV3Route=void 0;var kl=Gt(),Um=Bt(),km=ar(),EI=yn(),Fm=gt(),wI=Dm(),lr=ie(),Mm="/__zuplo/dev-portal",vI="dev-portal-id",TI="dev-portal-host",SI="zp-account",II="zp-project",PI="dev-portal-build",AI=`
36
36
  <!DOCTYPE html>
37
37
  <html lang="en">
38
38
  <head>
@@ -46,23 +46,23 @@
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
- `,AI=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=lr.Environment.instance.deploymentName,i=lr.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(lr.Environment.instance.isLocalDevelopment)return new Response(PI,{headers:{"content-type":"text/html"}});if(!n)return kl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,EI.devPortalBaseURL)(i,u.headers),f=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:g,body:_}=u;return lr.Environment.instance.build.ACCOUNT_NAME&&h.set(TI,lr.Environment.instance.build.ACCOUNT_NAME),lr.Environment.instance.build.PROJECT_NAME&&h.set(SI,lr.Environment.instance.build.PROJECT_NAME),h.set(wI,n),h.set(vI,d.host),h.set(II,lr.Environment.instance.build.BUILD_ID),await fetch(f.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new Um.Pipeline({processors:[km.metricsProcessor,_I.policyProcessor],handler:s,gateway:e}),c=new Fm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:kl.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");_n.registerDevPortalV3Route=AI;var RI=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Mm.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Um.Pipeline({processors:[km.metricsProcessor],handler:n,gateway:e}),s=new Fm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Mm}(.*)`,systemRouteName:kl.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");_n.registerDevPortalLegacyRedirectRoute=RI});var Fl=b(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.API_KEY=En.SYSTEM_LOGGER=void 0;En.SYSTEM_LOGGER="system-logger";En.API_KEY="api-key"});var qm=b(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.CoreLogger=void 0;var Hl=0,ql=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){Hl>=Number.MAX_SAFE_INTEGER&&(Hl=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:Hl++};this.#t[e](c,a)}};ys.CoreLogger=ql});var Jt=b(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.LogPlugin=void 0;var OI=Rt(),$l=class extends OI.RuntimePlugin{static{o(this,"LogPlugin")}};bs.LogPlugin=$l});var $m=b(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.LoggingContext=void 0;var jl=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)}};_s.LoggingContext=jl});var jm=b(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.RequestLogger=void 0;var Vl=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)}};Es.RequestLogger=Vl});var Gr=b(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.cleanStack=dr.serializeError=dr.NonError=void 0;var Vm=st(),NI=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),CI=new Map(NI),Bl=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)}}};dr.NonError=Bl;var xI=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Gl=Symbol(".toJSON was called"),LI=o(t=>{t[Gl]=!0;let e=t.toJSON();return delete t[Gl],e},"toJSON"),DI=o(t=>CI.get(t)??Error,"getErrorConstructor"),Bm=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,Vm.isErrorLike)(t)){let l=DI(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[Gl]!==!0)return LI(t);let u=o(l=>Bm({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 xI)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,Vm.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function MI(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?Bm({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(MI,"serializeError");dr.serializeError=MI;var UI=/file:\/\/\/(.*?)\/dist\//g,kI=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,FI="at async Event.respondWith";function HI(t){return typeof t!="string"?t:t.split(`
50
- `).filter(e=>!e.trim().startsWith("at async file")).map((e,r)=>{let n=e.replaceAll(UI,"").replaceAll(kI,"").replaceAll(FI,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(e=>e.length>0).join(`
51
- `)}o(HI,"cleanStack");dr.cleanStack=HI});var Gm=b(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var Kl=st();function qI(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:`
49
+ `,RI=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=lr.Environment.instance.deploymentName,i=lr.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(lr.Environment.instance.isLocalDevelopment)return new Response(AI,{headers:{"content-type":"text/html"}});if(!n)return kl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,wI.devPortalBaseURL)(i,u.headers),f=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:g,body:_}=u;return lr.Environment.instance.build.ACCOUNT_NAME&&h.set(SI,lr.Environment.instance.build.ACCOUNT_NAME),lr.Environment.instance.build.PROJECT_NAME&&h.set(II,lr.Environment.instance.build.PROJECT_NAME),h.set(vI,n),h.set(TI,d.host),h.set(PI,lr.Environment.instance.build.BUILD_ID),await fetch(f.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new Um.Pipeline({processors:[km.metricsProcessor,EI.policyProcessor],handler:s,gateway:e}),c=new Fm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:kl.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");_n.registerDevPortalV3Route=RI;var OI=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Mm.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Um.Pipeline({processors:[km.metricsProcessor],handler:n,gateway:e}),s=new Fm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Mm}(.*)`,systemRouteName:kl.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");_n.registerDevPortalLegacyRedirectRoute=OI});var Fl=b(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.API_KEY=En.SYSTEM_LOGGER=void 0;En.SYSTEM_LOGGER="system-logger";En.API_KEY="api-key"});var qm=b(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.CoreLogger=void 0;var Hl=0,ql=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){Hl>=Number.MAX_SAFE_INTEGER&&(Hl=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:Hl++};this.#t[e](c,a)}};ys.CoreLogger=ql});var Jt=b(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.LogPlugin=void 0;var NI=Rt(),$l=class extends NI.RuntimePlugin{static{o(this,"LogPlugin")}};bs.LogPlugin=$l});var $m=b(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.LoggingContext=void 0;var jl=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)}};_s.LoggingContext=jl});var jm=b(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.RequestLogger=void 0;var Vl=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)}};Es.RequestLogger=Vl});var Gr=b(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.cleanStack=dr.serializeError=dr.NonError=void 0;var Vm=st(),CI=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),xI=new Map(CI),Bl=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)}}};dr.NonError=Bl;var LI=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Gl=Symbol(".toJSON was called"),DI=o(t=>{t[Gl]=!0;let e=t.toJSON();return delete t[Gl],e},"toJSON"),MI=o(t=>xI.get(t)??Error,"getErrorConstructor"),Bm=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,Vm.isErrorLike)(t)){let l=MI(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[Gl]!==!0)return DI(t);let u=o(l=>Bm({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 LI)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,Vm.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function UI(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?Bm({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(UI,"serializeError");dr.serializeError=UI;var kI=/file:\/\/\/(.*?)\/dist\//g,FI=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,HI="at async Event.respondWith";function qI(t){return typeof t!="string"?t:t.split(`
50
+ `).filter(e=>!e.trim().startsWith("at async file")).map((e,r)=>{let n=e.replaceAll(kI,"").replaceAll(FI,"").replaceAll(HI,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(e=>e.length>0).join(`
51
+ `)}o(qI,"cleanStack");dr.cleanStack=qI});var Gm=b(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var Kl=st();function $I(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 f=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let g=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return g.length<=c.inlineCharacterLimit?g:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
54
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,Kl.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((g,_)=>{let T=a.length-1===_?p.newline:","+p.newlineOrSpace,A=s(g,c,u+d,l+1);return c.transform&&(A=c.transform(a,_,A)),p.indent+A+T}).join("")+p.pad+"]";return n.pop(),f(h)}if((0,Kl.isObject)(a)){let h=(0,Kl.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(_=>c.filter?.(a,_))),h.length===0)return"{}";n.push(a);let g="{"+p.newline+h.map((_,T)=>{let A=h.length-1===T?p.newline:","+p.newlineOrSpace,y=typeof _=="symbol",S=!y&&/^[a-z$_][$\w]*$/i.test(_),O=y||S?_:s(_,c,"",l+1),V=s(a[_],c,u+d,l+1);return c.transform&&(V=c.transform(a,_,V)),p.indent+String(O)+": "+V+A}).join("")+p.pad+"}";return n.pop(),f(g)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
55
- `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(t,e,r,0)}o(qI,"stringifyObject");Jl.default=qI});var Nt=b(Ke=>{"use strict";var $I=Ke&&Ke.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.stringifyNonStringToText=Ke.stringifyNonString=Ke.messagesToMultilineText=Ke.extractBestMessage=Ke.makeErrorsSerializable=void 0;var zl=Gr(),Km=$I(Gm()),Jm=st();function jI(t){return t.map(e=>(0,zl.serializeError)(e))}o(jI,"makeErrorsSerializable");Ke.makeErrorsSerializable=jI;function VI(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:zm((0,zl.serializeError)(e))}o(VI,"extractBestMessage");Ke.extractBestMessage=VI;function BI(t){let e=[];return t.forEach(r=>{if(typeof r=="string")e.push(r);else if((0,Jm.isErrorLike)(r))if(r.stack)e.push(r.stack);else{let n=(0,Km.default)((0,zl.serializeError)(r));e.push(n)}else if(typeof r=="object"){let n=(0,Km.default)(r);e.push(n)}else{let n=Wm(r);e.push(n)}}),e.join(`
56
- `)}o(BI,"messagesToMultilineText");Ke.messagesToMultilineText=BI;function zm(t){return typeof t=="string"?t:JSON.stringify(t)}o(zm,"stringifyNonString");Ke.stringifyNonString=zm;function Wm(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,Jm.toString)(t):"unknown"}o(Wm,"stringifyNonStringToText");Ke.stringifyNonStringToText=Wm});var G,me,Ce=L(()=>{G=crypto,me=o(t=>t instanceof CryptoKey,"isCryptoKey")});var GI,ws,Wl=L(()=>{Ce();GI=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await G.subtle.digest(r,e))},"digest"),ws=GI});function xe(...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 Qm(t,e){return xe(ae.encode(t),new Uint8Array([0]),e)}function Ql(t,e,r){if(e<0||e>=vs)throw new RangeError(`value must be >= 0 and <= ${vs-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function Ts(t){let e=Math.floor(t/vs),r=t%vs,n=new Uint8Array(8);return Ql(n,e,0),Ql(n,r,4),n}function Ss(t){let e=new Uint8Array(4);return Ql(e,t),e}function Is(t){return xe(Ss(t.length),t)}async function Ym(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(Ss(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await ws("sha256",a),s*32)}return i.slice(0,e>>3)}var ae,ye,vs,Ie=L(()=>{Wl();ae=new TextEncoder,ye=new TextDecoder,vs=2**32;o(xe,"concat");o(Qm,"p2s");o(Ql,"writeUInt32BE");o(Ts,"uint64be");o(Ss,"uint32be");o(Is,"lengthAndInput");o(Ym,"concatKdf")});var Ps,ce,Yl,de,Le=L(()=>{Ie();Ps=o(t=>{let e=t;typeof e=="string"&&(e=ae.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"),ce=o(t=>Ps(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Yl=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"),de=o(t=>{let e=t;e instanceof Uint8Array&&(e=ye.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Yl(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Zl={};Ro(Zl,{JOSEAlgNotAllowed:()=>pr,JOSEError:()=>ve,JOSENotSupported:()=>J,JWEDecryptionFailed:()=>zt,JWEInvalid:()=>F,JWKInvalid:()=>Ri,JWKSInvalid:()=>fr,JWKSMultipleMatchingKeys:()=>Oi,JWKSNoMatchingKey:()=>Kr,JWKSTimeout:()=>Ni,JWSInvalid:()=>ne,JWSSignatureVerificationFailed:()=>Jr,JWTClaimValidationFailed:()=>Ae,JWTExpired:()=>wn,JWTInvalid:()=>_e});var ve,Ae,wn,pr,J,zt,F,ne,_e,Ri,fr,Kr,Oi,Ni,Jr,Y=L(()=>{ve=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)}},Ae=class extends ve{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}},wn=class extends ve{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}},pr=class extends ve{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},J=class extends ve{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},zt=class extends ve{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"}},F=class extends ve{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},ne=class extends ve{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},_e=class extends ve{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Ri=class extends ve{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},fr=class extends ve{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Kr=class extends ve{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"}},Oi=class extends ve{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"}},Ni=class extends ve{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Jr=class extends ve{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 hr,Ci=L(()=>{Ce();hr=G.getRandomValues.bind(G)});function Xl(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 J(`Unsupported JWE Algorithm: ${t}`)}}var As,Rs=L(()=>{Y();Ci();o(Xl,"bitLength");As=o(t=>hr(new Uint8Array(Xl(t)>>3)),"default")});var KI,Os,ed=L(()=>{Y();Rs();KI=o((t,e)=>{if(e.length<<3!==Xl(t))throw new F("Invalid Initialization Vector length")},"checkIvLength"),Os=KI});var JI,vn,td=L(()=>{Y();JI=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new F(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),vn=JI});var zI,Xm,eg=L(()=>{zI=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"),Xm=zI});function De(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function mr(t,e){return t.name===e}function Ns(t){return parseInt(t.name.slice(4),10)}function WI(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function tg(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 rg(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!mr(t.algorithm,"HMAC"))throw De("HMAC");let n=parseInt(e.slice(2),10);if(Ns(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!mr(t.algorithm,"RSASSA-PKCS1-v1_5"))throw De("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Ns(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!mr(t.algorithm,"RSA-PSS"))throw De("RSA-PSS");let n=parseInt(e.slice(2),10);if(Ns(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw De("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!mr(t.algorithm,"ECDSA"))throw De("ECDSA");let n=WI(e);if(t.algorithm.namedCurve!==n)throw De(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}tg(t,r)}function Je(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!mr(t.algorithm,"AES-GCM"))throw De("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw De(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!mr(t.algorithm,"AES-KW"))throw De("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw De(n,"algorithm.length");break}case"ECDH":{switch(t.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw De("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!mr(t.algorithm,"PBKDF2"))throw De("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!mr(t.algorithm,"RSA-OAEP"))throw De("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Ns(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}tg(t,r)}var gr=L(()=>{o(De,"unusable");o(mr,"isAlgorithm");o(Ns,"getHashLength");o(WI,"getNamedCurve");o(tg,"checkUsage");o(rg,"checkSigCryptoKey");o(Je,"checkEncCryptoKey")});function ng(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 rd(t,e,...r){return ng(`Key for the ${t} algorithm must be `,e,...r)}var fe,bt=L(()=>{o(ng,"message");fe=o((t,...e)=>ng("Key must be ",t,...e),"default");o(rd,"withAlg")});var nd,oe,_t=L(()=>{Ce();nd=o(t=>me(t),"default"),oe=["CryptoKey"]});async function QI(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(fe(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await G.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await G.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=xe(s,n,r,Ts(s.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Xm(i,d)}catch{}if(!p)throw new zt;let f;try{f=new Uint8Array(await G.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!f)throw new zt;return f}async function YI(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await G.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(Je(e,t,"decrypt"),a=e);try{return new Uint8Array(await G.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,xe(r,i)))}catch{throw new zt}}var ZI,Cs,id=L(()=>{Ie();ed();td();eg();Y();Ce();gr();bt();_t();o(QI,"cbcDecrypt");o(YI,"gcmDecrypt");ZI=o(async(t,e,r,n,i,s)=>{if(!me(e)&&!(e instanceof Uint8Array))throw new TypeError(fe(e,...oe,"Uint8Array"));switch(Os(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&vn(e,parseInt(t.slice(-3),10)),QI(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&vn(e,parseInt(t.slice(1,4),10)),YI(t,e,r,n,i,s);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Cs=ZI});var ig,og,od=L(()=>{Y();ig=o(async()=>{throw new J('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"),og=o(async()=>{throw new J('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 XI,Ct,Tn=L(()=>{XI=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"),Ct=XI});function eP(t){return typeof t=="object"&&t!==null}function se(t){if(!eP(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 ze=L(()=>{o(eP,"isObjectLike");o(se,"isObject")});var tP,Sn,sd=L(()=>{tP=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Sn=tP});function sg(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function ag(t,e,r){if(me(t))return Je(t,e,r),t;if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(fe(t,...oe,"Uint8Array"))}var xi,Li,xs=L(()=>{sd();Ce();gr();bt();_t();o(sg,"checkKeySize");o(ag,"getCryptoKey");xi=o(async(t,e,r)=>{let n=await ag(e,t,"wrapKey");sg(n,t);let i=await G.subtle.importKey("raw",r,...Sn);return new Uint8Array(await G.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),Li=o(async(t,e,r)=>{let n=await ag(e,t,"unwrapKey");sg(n,t);let i=await G.subtle.unwrapKey("raw",r,n,"AES-KW",...Sn);return new Uint8Array(await G.subtle.exportKey("raw",i))},"unwrap")});async function Ls(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!me(t))throw new TypeError(fe(t,...oe));if(Je(t,"ECDH"),!me(e))throw new TypeError(fe(e,...oe));Je(e,"ECDH","deriveBits");let a=xe(Is(ae.encode(r)),Is(i),Is(s),Ss(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 G.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return Ym(u,n,a)}async function cg(t){if(!me(t))throw new TypeError(fe(t,...oe));return G.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function Ds(t){if(!me(t))throw new TypeError(fe(t,...oe));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var ad=L(()=>{Ie();Ce();gr();bt();_t();o(Ls,"deriveKey");o(cg,"generateEpk");o(Ds,"ecdhAllowed")});function cd(t){if(!(t instanceof Uint8Array)||t.length<8)throw new F("PBES2 Salt Input must be 8 or more octets")}var lg=L(()=>{Y();o(cd,"checkP2s")});function rP(t,e){if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(me(t))return Je(t,e,"deriveBits","deriveKey"),t;throw new TypeError(fe(t,...oe,"Uint8Array"))}async function dg(t,e,r,n){cd(t);let i=Qm(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 rP(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await G.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return G.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var pg,fg,ud=L(()=>{Ci();Ie();Le();xs();lg();Ce();gr();bt();_t();o(rP,"getCryptoKey");o(dg,"deriveKey");pg=o(async(t,e,r,n=2048,i=hr(new Uint8Array(16)))=>{let s=await dg(i,t,n,e);return{encryptedKey:await xi(t.slice(-6),s,r),p2c:n,p2s:ce(i)}},"encrypt"),fg=o(async(t,e,r,n,i)=>{let s=await dg(i,t,n,e);return Li(t.slice(-6),s,r)},"decrypt")});function In(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var hg=L(()=>{Y();o(In,"subtleRsaEs")});var zr,Ms=L(()=>{zr=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 mg,gg,ld=L(()=>{hg();sd();Ce();gr();Ms();bt();_t();mg=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(Je(e,t,"encrypt","wrapKey"),zr(t,e),e.usages.includes("encrypt"))return new Uint8Array(await G.subtle.encrypt(In(t),e,r));if(e.usages.includes("wrapKey")){let n=await G.subtle.importKey("raw",r,...Sn);return new Uint8Array(await G.subtle.wrapKey("raw",n,e,In(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),gg=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(Je(e,t,"decrypt","unwrapKey"),zr(t,e),e.usages.includes("decrypt"))return new Uint8Array(await G.subtle.decrypt(In(t),e,r));if(e.usages.includes("unwrapKey")){let n=await G.subtle.unwrapKey("raw",r,e,In(t),...Sn);return new Uint8Array(await G.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function Di(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 J(`Unsupported JWE Algorithm: ${t}`)}}var xt,Mi=L(()=>{Y();Ci();o(Di,"bitLength");xt=o(t=>hr(new Uint8Array(Di(t)>>3)),"default")});var dd,yg=L(()=>{dd=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
55
+ `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(t,e,r,0)}o($I,"stringifyObject");Jl.default=$I});var Nt=b(Ke=>{"use strict";var jI=Ke&&Ke.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.stringifyNonStringToText=Ke.stringifyNonString=Ke.messagesToMultilineText=Ke.extractBestMessage=Ke.makeErrorsSerializable=void 0;var zl=Gr(),Km=jI(Gm()),Jm=st();function VI(t){return t.map(e=>(0,zl.serializeError)(e))}o(VI,"makeErrorsSerializable");Ke.makeErrorsSerializable=VI;function BI(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:zm((0,zl.serializeError)(e))}o(BI,"extractBestMessage");Ke.extractBestMessage=BI;function GI(t){let e=[];return t.forEach(r=>{if(typeof r=="string")e.push(r);else if((0,Jm.isErrorLike)(r))if(r.stack)e.push(r.stack);else{let n=(0,Km.default)((0,zl.serializeError)(r));e.push(n)}else if(typeof r=="object"){let n=(0,Km.default)(r);e.push(n)}else{let n=Wm(r);e.push(n)}}),e.join(`
56
+ `)}o(GI,"messagesToMultilineText");Ke.messagesToMultilineText=GI;function zm(t){return typeof t=="string"?t:JSON.stringify(t)}o(zm,"stringifyNonString");Ke.stringifyNonString=zm;function Wm(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,Jm.toString)(t):"unknown"}o(Wm,"stringifyNonStringToText");Ke.stringifyNonStringToText=Wm});var G,me,Ce=L(()=>{G=crypto,me=o(t=>t instanceof CryptoKey,"isCryptoKey")});var KI,ws,Wl=L(()=>{Ce();KI=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await G.subtle.digest(r,e))},"digest"),ws=KI});function xe(...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 Qm(t,e){return xe(ae.encode(t),new Uint8Array([0]),e)}function Ql(t,e,r){if(e<0||e>=vs)throw new RangeError(`value must be >= 0 and <= ${vs-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function Ts(t){let e=Math.floor(t/vs),r=t%vs,n=new Uint8Array(8);return Ql(n,e,0),Ql(n,r,4),n}function Ss(t){let e=new Uint8Array(4);return Ql(e,t),e}function Is(t){return xe(Ss(t.length),t)}async function Ym(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(Ss(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await ws("sha256",a),s*32)}return i.slice(0,e>>3)}var ae,ye,vs,Ie=L(()=>{Wl();ae=new TextEncoder,ye=new TextDecoder,vs=2**32;o(xe,"concat");o(Qm,"p2s");o(Ql,"writeUInt32BE");o(Ts,"uint64be");o(Ss,"uint32be");o(Is,"lengthAndInput");o(Ym,"concatKdf")});var Ps,ce,Yl,de,Le=L(()=>{Ie();Ps=o(t=>{let e=t;typeof e=="string"&&(e=ae.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"),ce=o(t=>Ps(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Yl=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"),de=o(t=>{let e=t;e instanceof Uint8Array&&(e=ye.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Yl(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Zl={};Ro(Zl,{JOSEAlgNotAllowed:()=>pr,JOSEError:()=>ve,JOSENotSupported:()=>J,JWEDecryptionFailed:()=>zt,JWEInvalid:()=>F,JWKInvalid:()=>Ri,JWKSInvalid:()=>fr,JWKSMultipleMatchingKeys:()=>Oi,JWKSNoMatchingKey:()=>Kr,JWKSTimeout:()=>Ni,JWSInvalid:()=>ne,JWSSignatureVerificationFailed:()=>Jr,JWTClaimValidationFailed:()=>Ae,JWTExpired:()=>wn,JWTInvalid:()=>_e});var ve,Ae,wn,pr,J,zt,F,ne,_e,Ri,fr,Kr,Oi,Ni,Jr,Y=L(()=>{ve=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)}},Ae=class extends ve{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}},wn=class extends ve{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}},pr=class extends ve{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},J=class extends ve{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},zt=class extends ve{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"}},F=class extends ve{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},ne=class extends ve{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},_e=class extends ve{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Ri=class extends ve{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},fr=class extends ve{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Kr=class extends ve{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"}},Oi=class extends ve{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"}},Ni=class extends ve{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Jr=class extends ve{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 hr,Ci=L(()=>{Ce();hr=G.getRandomValues.bind(G)});function Xl(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 J(`Unsupported JWE Algorithm: ${t}`)}}var As,Rs=L(()=>{Y();Ci();o(Xl,"bitLength");As=o(t=>hr(new Uint8Array(Xl(t)>>3)),"default")});var JI,Os,ed=L(()=>{Y();Rs();JI=o((t,e)=>{if(e.length<<3!==Xl(t))throw new F("Invalid Initialization Vector length")},"checkIvLength"),Os=JI});var zI,vn,td=L(()=>{Y();zI=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new F(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),vn=zI});var WI,Xm,eg=L(()=>{WI=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"),Xm=WI});function De(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function mr(t,e){return t.name===e}function Ns(t){return parseInt(t.name.slice(4),10)}function QI(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function tg(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 rg(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!mr(t.algorithm,"HMAC"))throw De("HMAC");let n=parseInt(e.slice(2),10);if(Ns(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!mr(t.algorithm,"RSASSA-PKCS1-v1_5"))throw De("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Ns(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!mr(t.algorithm,"RSA-PSS"))throw De("RSA-PSS");let n=parseInt(e.slice(2),10);if(Ns(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw De("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!mr(t.algorithm,"ECDSA"))throw De("ECDSA");let n=QI(e);if(t.algorithm.namedCurve!==n)throw De(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}tg(t,r)}function Je(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!mr(t.algorithm,"AES-GCM"))throw De("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw De(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!mr(t.algorithm,"AES-KW"))throw De("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw De(n,"algorithm.length");break}case"ECDH":{switch(t.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw De("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!mr(t.algorithm,"PBKDF2"))throw De("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!mr(t.algorithm,"RSA-OAEP"))throw De("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Ns(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}tg(t,r)}var gr=L(()=>{o(De,"unusable");o(mr,"isAlgorithm");o(Ns,"getHashLength");o(QI,"getNamedCurve");o(tg,"checkUsage");o(rg,"checkSigCryptoKey");o(Je,"checkEncCryptoKey")});function ng(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 rd(t,e,...r){return ng(`Key for the ${t} algorithm must be `,e,...r)}var fe,bt=L(()=>{o(ng,"message");fe=o((t,...e)=>ng("Key must be ",t,...e),"default");o(rd,"withAlg")});var nd,oe,_t=L(()=>{Ce();nd=o(t=>me(t),"default"),oe=["CryptoKey"]});async function YI(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(fe(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await G.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await G.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=xe(s,n,r,Ts(s.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Xm(i,d)}catch{}if(!p)throw new zt;let f;try{f=new Uint8Array(await G.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!f)throw new zt;return f}async function ZI(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await G.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(Je(e,t,"decrypt"),a=e);try{return new Uint8Array(await G.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,xe(r,i)))}catch{throw new zt}}var XI,Cs,id=L(()=>{Ie();ed();td();eg();Y();Ce();gr();bt();_t();o(YI,"cbcDecrypt");o(ZI,"gcmDecrypt");XI=o(async(t,e,r,n,i,s)=>{if(!me(e)&&!(e instanceof Uint8Array))throw new TypeError(fe(e,...oe,"Uint8Array"));switch(Os(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&vn(e,parseInt(t.slice(-3),10)),YI(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&vn(e,parseInt(t.slice(1,4),10)),ZI(t,e,r,n,i,s);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Cs=XI});var ig,og,od=L(()=>{Y();ig=o(async()=>{throw new J('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"),og=o(async()=>{throw new J('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 eP,Ct,Tn=L(()=>{eP=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"),Ct=eP});function tP(t){return typeof t=="object"&&t!==null}function se(t){if(!tP(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 ze=L(()=>{o(tP,"isObjectLike");o(se,"isObject")});var rP,Sn,sd=L(()=>{rP=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Sn=rP});function sg(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function ag(t,e,r){if(me(t))return Je(t,e,r),t;if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(fe(t,...oe,"Uint8Array"))}var xi,Li,xs=L(()=>{sd();Ce();gr();bt();_t();o(sg,"checkKeySize");o(ag,"getCryptoKey");xi=o(async(t,e,r)=>{let n=await ag(e,t,"wrapKey");sg(n,t);let i=await G.subtle.importKey("raw",r,...Sn);return new Uint8Array(await G.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),Li=o(async(t,e,r)=>{let n=await ag(e,t,"unwrapKey");sg(n,t);let i=await G.subtle.unwrapKey("raw",r,n,"AES-KW",...Sn);return new Uint8Array(await G.subtle.exportKey("raw",i))},"unwrap")});async function Ls(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!me(t))throw new TypeError(fe(t,...oe));if(Je(t,"ECDH"),!me(e))throw new TypeError(fe(e,...oe));Je(e,"ECDH","deriveBits");let a=xe(Is(ae.encode(r)),Is(i),Is(s),Ss(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 G.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return Ym(u,n,a)}async function cg(t){if(!me(t))throw new TypeError(fe(t,...oe));return G.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function Ds(t){if(!me(t))throw new TypeError(fe(t,...oe));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var ad=L(()=>{Ie();Ce();gr();bt();_t();o(Ls,"deriveKey");o(cg,"generateEpk");o(Ds,"ecdhAllowed")});function cd(t){if(!(t instanceof Uint8Array)||t.length<8)throw new F("PBES2 Salt Input must be 8 or more octets")}var lg=L(()=>{Y();o(cd,"checkP2s")});function nP(t,e){if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(me(t))return Je(t,e,"deriveBits","deriveKey"),t;throw new TypeError(fe(t,...oe,"Uint8Array"))}async function dg(t,e,r,n){cd(t);let i=Qm(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 nP(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await G.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return G.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var pg,fg,ud=L(()=>{Ci();Ie();Le();xs();lg();Ce();gr();bt();_t();o(nP,"getCryptoKey");o(dg,"deriveKey");pg=o(async(t,e,r,n=2048,i=hr(new Uint8Array(16)))=>{let s=await dg(i,t,n,e);return{encryptedKey:await xi(t.slice(-6),s,r),p2c:n,p2s:ce(i)}},"encrypt"),fg=o(async(t,e,r,n,i)=>{let s=await dg(i,t,n,e);return Li(t.slice(-6),s,r)},"decrypt")});function In(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var hg=L(()=>{Y();o(In,"subtleRsaEs")});var zr,Ms=L(()=>{zr=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 mg,gg,ld=L(()=>{hg();sd();Ce();gr();Ms();bt();_t();mg=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(Je(e,t,"encrypt","wrapKey"),zr(t,e),e.usages.includes("encrypt"))return new Uint8Array(await G.subtle.encrypt(In(t),e,r));if(e.usages.includes("wrapKey")){let n=await G.subtle.importKey("raw",r,...Sn);return new Uint8Array(await G.subtle.wrapKey("raw",n,e,In(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),gg=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(Je(e,t,"decrypt","unwrapKey"),zr(t,e),e.usages.includes("decrypt"))return new Uint8Array(await G.subtle.decrypt(In(t),e,r));if(e.usages.includes("unwrapKey")){let n=await G.subtle.unwrapKey("raw",r,e,In(t),...Sn);return new Uint8Array(await G.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function Di(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 J(`Unsupported JWE Algorithm: ${t}`)}}var xt,Mi=L(()=>{Y();Ci();o(Di,"bitLength");xt=o(t=>hr(new Uint8Array(Di(t)>>3)),"default")});var dd,yg=L(()=>{dd=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${e}-----
58
58
  ${r}
59
- -----END ${e}-----`},"default")});function _g(t){let e=[],r=0;for(;r<t.length;){let n=Ig(t.subarray(r));e.push(n),r+=n.byteLength}return e}function Ig(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 nP(t){let e=_g(_g(Ig(t).contents)[0].contents);return Ps(e[e[0].raw[0]===160?6:5].raw)}function iP(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Yl(e);return dd(nP(r),"PUBLIC KEY")}var Eg,wg,vg,yr,bg,Tg,Sg,pd,Pg,Us=L(()=>{Ce();bt();Le();yg();Y();_t();Eg=o(async(t,e,r)=>{if(!me(r))throw new TypeError(fe(r,...oe));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return dd(Ps(new Uint8Array(await G.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),wg=o(t=>Eg("public","spki",t),"toSPKI"),vg=o(t=>Eg("private","pkcs8",t),"toPKCS8"),yr=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])||yr(t,e,n+1)},"findOid"),bg=o(t=>{switch(!0){case yr(t,[42,134,72,206,61,3,1,7]):return"P-256";case yr(t,[43,129,4,0,34]):return"P-384";case yr(t,[43,129,4,0,35]):return"P-521";case yr(t,[43,101,110]):return"X25519";case yr(t,[43,101,111]):return"X448";case yr(t,[43,101,112]):return"Ed25519";case yr(t,[43,101,113]):return"Ed448";default:throw new J("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Tg=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=bg(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:bg(u)},c=l?["verify"]:["sign"];break;default:throw new J('Invalid or unsupported "alg" (Algorithm) value')}return G.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),Sg=o((t,e,r)=>Tg(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),pd=o((t,e,r)=>Tg(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(_g,"getElement");o(Ig,"parseElement");o(nP,"spkiFromX509");o(iP,"getSPKI");Pg=o((t,e,r)=>{let n;try{n=iP(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return pd(n,e,r)},"fromX509")});function oP(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 J(`${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 J('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 J('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 J('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 J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new J('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var sP,fd,Ag=L(()=>{Ce();Y();Le();o(oP,"subtleMapping");sP=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}=oP(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 G.subtle.importKey("raw",de(t.k),...s);let a={...t};return delete a.alg,delete a.use,G.subtle.importKey("jwk",a,...s)},"parse"),fd=sP});async function Rg(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return pd(t,e,r)}async function Og(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Pg(t,e,r)}async function Ng(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Sg(t,e,r)}async function br(t,e,r){var n;if(!se(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?fd({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):de(t.k);case"RSA":if(t.oth!==void 0)throw new J('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return fd({...t,alg:e});default:throw new J('Unsupported "kty" (Key Type) Parameter value')}}var Ui=L(()=>{Le();Us();Ag();Y();ze();o(Rg,"importSPKI");o(Og,"importX509");o(Ng,"importPKCS8");o(br,"importJWK")});var aP,cP,uP,_r,ki=L(()=>{bt();_t();aP=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!nd(e))throw new TypeError(rd(t,e,...oe,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${oe.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),cP=o((t,e,r)=>{if(!nd(e))throw new TypeError(rd(t,e,...oe));if(e.type==="secret")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),uP=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?aP(t,e):cP(t,e,r)},"checkKeyType"),_r=uP});async function lP(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(fe(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await G.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await G.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await G.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=xe(i,n,u,Ts(i.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function dP(t,e,r,n,i){let s;r instanceof Uint8Array?s=await G.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Je(r,t,"encrypt"),s=r);let a=new Uint8Array(await G.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 pP,Fi,hd=L(()=>{Ie();ed();td();Ce();gr();bt();Y();_t();o(lP,"cbcEncrypt");o(dP,"gcmEncrypt");pP=o(async(t,e,r,n,i)=>{if(!me(r)&&!(r instanceof Uint8Array))throw new TypeError(fe(r,...oe,"Uint8Array"));switch(Os(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&vn(r,parseInt(t.slice(-3),10)),lP(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&vn(r,parseInt(t.slice(1,4),10)),dP(t,e,r,n,i);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Fi=pP});async function Cg(t,e,r,n){let i=t.slice(0,7);n||(n=As(i));let{ciphertext:s,tag:a}=await Fi(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:ce(n),tag:ce(a)}}async function xg(t,e,r,n,i){let s=t.slice(0,7);return Cs(s,e,r,n,i,new Uint8Array(0))}var md=L(()=>{hd();id();Rs();Le();o(Cg,"wrap");o(xg,"unwrap")});async function fP(t,e,r,n,i){switch(_r(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");return e}case"ECDH-ES":if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!se(n.epk))throw new F('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Ds(e))throw new J("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await br(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new F('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=de(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new F('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=de(n.apv)}let u=await Ls(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?Di(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new F("JWE Encrypted Key missing");return Li(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 F("JWE Encrypted Key missing");return gg(t,e,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new F('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new F('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new F('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return fg(t,e,r,n.p2c,de(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");return Li(t,e,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new F('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new F('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=de(n.iv),a=de(n.tag);return xg(t,e,r,s,a)}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Lg,Dg=L(()=>{xs();ad();ud();ld();Le();Y();Mi();Ui();ki();ze();md();o(fP,"decryptKeyManagement");Lg=fP});function hP(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 J(`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 Lt,Pn=L(()=>{Y();o(hP,"validateCrit");Lt=hP});var mP,Hi,gd=L(()=>{mP=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"),Hi=mP});async function An(t,e,r){var n;if(!se(t))throw new F("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new F("JOSE Header missing");if(typeof t.iv!="string")throw new F("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new F("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new F("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new F("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new F("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new F("JWE AAD incorrect type");if(t.header!==void 0&&!se(t.header))throw new F("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!se(t.unprotected))throw new F("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let S=de(t.protected);i=JSON.parse(ye.decode(S))}catch{throw new F("JWE Protected Header is invalid")}if(!Ct(i,t.header,t.unprotected))throw new F("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(Lt(F,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new F("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new F("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&Hi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&Hi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new pr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new pr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=de(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let f;try{f=await Lg(a,e,d,s,r)}catch(S){if(S instanceof TypeError||S instanceof F||S instanceof J)throw S;f=xt(c)}let h=de(t.iv),g=de(t.tag),_=ae.encode((n=t.protected)!==null&&n!==void 0?n:""),T;t.aad!==void 0?T=xe(_,ae.encode("."),ae.encode(t.aad)):T=_;let A=await Cs(c,f,de(t.ciphertext),h,g,T);s.zip==="DEF"&&(A=await(r?.inflateRaw||ig)(A));let y={plaintext:A};return t.protected!==void 0&&(y.protectedHeader=i),t.aad!==void 0&&(y.additionalAuthenticatedData=de(t.aad)),t.unprotected!==void 0&&(y.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(y.unprotectedHeader=t.header),p?{...y,key:e}:y}var ks=L(()=>{Le();id();od();Y();Tn();ze();Dg();Ie();Mi();Pn();gd();o(An,"flattenedDecrypt")});async function Fs(t,e,r){if(t instanceof Uint8Array&&(t=ye.decode(t)),typeof t!="string")throw new F("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 F("Invalid Compact JWE");let l=await An({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},e,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof e=="function"?{...d,key:l.key}:d}var yd=L(()=>{ks();Y();Ie();o(Fs,"compactDecrypt")});async function Mg(t,e,r){if(!se(t))throw new F("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(se))throw new F("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new F("JWE Recipients has no members");for(let n of t.recipients)try{return await An({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 zt}var Ug=L(()=>{ks();Y();ze();o(Mg,"generalDecrypt")});var gP,kg,Fg=L(()=>{Ce();bt();Le();_t();gP=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:ce(t)};if(!me(t))throw new TypeError(fe(t,...oe,"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 G.subtle.exportKey("jwk",t);return s},"keyToJWK"),kg=gP});async function Hg(t){return wg(t)}async function qg(t){return vg(t)}async function Hs(t){return kg(t)}var bd=L(()=>{Us();Us();Fg();o(Hg,"exportSPKI");o(qg,"exportPKCS8");o(Hs,"exportJWK")});async function yP(t,e,r,n,i={}){let s,a,c;switch(_r(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(!Ds(r))throw new J("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 cg(r)).privateKey);let{x:p,y:f,crv:h,kty:g}=await Hs(d),_=await Ls(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?Di(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=f),u&&(a.apu=ce(u)),l&&(a.apv=ce(l)),t==="ECDH-ES"){c=_;break}c=n||xt(e);let T=t.slice(-6);s=await xi(T,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||xt(e),s=await mg(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||xt(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await pg(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||xt(e),s=await xi(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||xt(e);let{iv:u}=i;({encryptedKey:s,...a}=await Cg(t,r,c,u));break}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var qs,_d=L(()=>{xs();ad();ud();ld();Le();Mi();Y();bd();ki();md();o(yP,"encryptKeyManagement");qs=yP});var Ed,Wt,$s=L(()=>{Le();hd();od();Rs();_d();Y();Tn();Ie();Pn();Ed=Symbol(),Wt=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 F("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Ct(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new F("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(Lt(F,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new F('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 g;({cek:c,encryptedKey:a,parameters:g}=await qs(i,s,e,this._cek,this._keyManagementParameters)),g&&(r&&Ed in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=As(s));let u,l,d;this._protectedHeader?l=ae.encode(ce(JSON.stringify(this._protectedHeader))):l=ae.encode(""),this._aad?(d=ce(this._aad),u=xe(l,ae.encode("."),ae.encode(d))):u=l;let p,f;if(n.zip==="DEF"){let g=await(r?.deflateRaw||og)(this._plaintext);({ciphertext:p,tag:f}=await Fi(s,g,c,this._iv,u))}else({ciphertext:p,tag:f}=await Fi(s,this._plaintext,c,this._iv,u));let h={ciphertext:ce(p),iv:ce(this._iv),tag:ce(f)};return a&&(h.encrypted_key=ce(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ye.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var wd,js,$g=L(()=>{$s();Y();Mi();Tn();_d();Le();Pn();wd=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}},js=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new wd(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 F("at least one recipient must be added");if(e={deflateRaw:e?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Wt(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(!Ct(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new F("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 F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new F('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(Lt(F,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=xt(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 f={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Wt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:f}).encrypt(l.key,{...l.options,...e,[Ed]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await qs(((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:f});d.encrypted_key=ce(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function qi(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 J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var vd=L(()=>{Y();o(qi,"subtleDsa")});function $i(t,e,r){if(me(e))return rg(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(fe(e,...oe));return G.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(fe(e,...oe,"Uint8Array"))}var Td=L(()=>{Ce();gr();bt();_t();o($i,"getCryptoKey")});var bP,jg,Vg=L(()=>{vd();Ce();Ms();Td();bP=o(async(t,e,r,n)=>{let i=await $i(t,e,"verify");zr(t,i);let s=qi(t,i.algorithm);try{return await G.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),jg=bP});async function Rn(t,e,r){var n;if(!se(t))throw new ne("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new ne('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new ne("JWS Protected Header incorrect type");if(t.payload===void 0)throw new ne("JWS Payload missing");if(typeof t.signature!="string")throw new ne("JWS Signature missing or incorrect type");if(t.header!==void 0&&!se(t.header))throw new ne("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let T=de(t.protected);i=JSON.parse(ye.decode(T))}catch{throw new ne("JWS Protected Header is invalid")}if(!Ct(i,t.header))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=Lt(ne,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&Hi("algorithms",r.algorithms);if(l&&!l.has(u))throw new pr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new ne("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new ne("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),_r(u,e,"verify");let p=xe(ae.encode((n=t.protected)!==null&&n!==void 0?n:""),ae.encode("."),typeof t.payload=="string"?ae.encode(t.payload):t.payload),f=de(t.signature);if(!await jg(u,e,f,p))throw new Jr;let g;c?g=de(t.payload):typeof t.payload=="string"?g=ae.encode(t.payload):g=t.payload;let _={payload:g};return t.protected!==void 0&&(_.protectedHeader=i),t.header!==void 0&&(_.unprotectedHeader=t.header),d?{..._,key:e}:_}var Vs=L(()=>{Le();Vg();Y();Ie();Tn();ze();ki();Pn();gd();o(Rn,"flattenedVerify")});async function Bs(t,e,r){if(t instanceof Uint8Array&&(t=ye.decode(t)),typeof t!="string")throw new ne("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new ne("Invalid Compact JWS");let c=await Rn({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 Sd=L(()=>{Vs();Y();Ie();o(Bs,"compactVerify")});async function Bg(t,e,r){if(!se(t))throw new ne("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(se))throw new ne("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await Rn({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Jr}var Gg=L(()=>{Vs();Y();ze();o(Bg,"generalVerify")});var On,Id=L(()=>{On=o(t=>Math.floor(t.getTime()/1e3),"default")});var _P,Nn,Pd=L(()=>{_P=/^(\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=_P.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 Kg,EP,Cn,Gs=L(()=>{Y();Ie();Id();Pd();ze();Kg=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),EP=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),Cn=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||Kg(t.typ)!==Kg(n)))throw new Ae('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ye.decode(e))}catch{}if(!se(i))throw new _e("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new Ae(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new Ae('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new Ae('unexpected "sub" claim value',"sub","check_failed");if(u&&!EP(i.aud,typeof u=="string"?[u]:u))throw new Ae('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,f=On(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new Ae('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new Ae('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>f+d)throw new Ae('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new Ae('"exp" claim must be a number',"exp","invalid");if(i.exp<=f-d)throw new wn('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=f-i.iat,g=typeof l=="number"?l:Nn(l);if(h-d>g)throw new wn('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new Ae('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Jg(t,e,r){var n;let i=await Bs(t,e,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new _e("JWTs MUST NOT use unencoded payload");let a={payload:Cn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var zg=L(()=>{Sd();Gs();Y();o(Jg,"jwtVerify")});async function Wg(t,e,r){let n=await Fs(t,e,r),i=Cn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new Ae('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new Ae('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new Ae('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var Qg=L(()=>{yd();Gs();Y();o(Wg,"jwtDecrypt")});var xn,Ad=L(()=>{$s();xn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Wt(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 wP,Yg,Zg=L(()=>{vd();Ce();Ms();Td();wP=o(async(t,e,r)=>{let n=await $i(t,e,"sign");zr(t,n);let i=await G.subtle.sign(qi(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Yg=wP});var Er,Ks=L(()=>{Le();Zg();Tn();Y();Ie();ki();Pn();Er=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 ne("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Ct(this._protectedHeader,this._unprotectedHeader))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=Lt(ne,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');_r(a,e,"sign");let c=this._payload;s&&(c=ae.encode(ce(c)));let u;this._protectedHeader?u=ae.encode(ce(JSON.stringify(this._protectedHeader))):u=ae.encode("");let l=xe(u,ae.encode("."),c),d=await Yg(a,e,l),p={signature:ce(d),payload:""};return s&&(p.payload=ye.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ye.decode(u)),p}}});var Ln,Rd=L(()=>{Ks();Ln=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new Er(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 Od,Js,Xg=L(()=>{Ks();Y();Od=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}},Js=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new Od(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new ne("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 Er(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 ne("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var wr,zs=L(()=>{Id();ze();Pd();wr=class{static{o(this,"ProduceJWT")}constructor(e){if(!se(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:On(new Date)+Nn(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:On(new Date)+Nn(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:On(new Date)}:this._payload={...this._payload,iat:e},this}}});var Ws,ey=L(()=>{Rd();Y();Ie();zs();Ws=class extends wr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new Ln(ae.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 _e("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var Qs,ty=L(()=>{Ad();Ie();zs();Qs=class extends wr{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 xn(ae.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 Nd(t,e){if(!se(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":vr(t.crv,'"crv" (Curve) Parameter'),vr(t.x,'"x" (X Coordinate) Parameter'),vr(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":vr(t.crv,'"crv" (Subtype of Key Pair) Parameter'),vr(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":vr(t.e,'"e" (Exponent) Parameter'),vr(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":vr(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new J('"kty" (Key Type) Parameter missing or unsupported')}let n=ae.encode(JSON.stringify(r));return ce(await ws(e,n))}async function ry(t,e){e??(e="sha256");let r=await Nd(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var vr,ny=L(()=>{Wl();Le();Y();Ie();ze();vr=o((t,e)=>{if(typeof t!="string"||!t)throw new Ri(`${e} missing or invalid`)},"check");o(Nd,"calculateJwkThumbprint");o(ry,"calculateJwkThumbprintUri")});async function iy(t,e){let r={...t,...e?.header};if(!se(r.jwk))throw new ne('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await br({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new ne('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var oy=L(()=>{Ui();ze();Y();o(iy,"EmbeddedJWK")});function vP(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 J('Unsupported "alg" value for a JSON Web Key Set')}}function Cd(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(TP)}function TP(t){return se(t)}function SP(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function sy(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await br({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new fr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function ay(t){let e=new ji(t);return async function(r,n){return e.getKey(r,n)}}var ji,xd=L(()=>{Ui();Y();ze();o(vP,"getKtyFromAlg");o(Cd,"isJWKSLike");o(TP,"isJWKLike");o(SP,"clone");ji=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!Cd(e))throw new fr("JSON Web Key Set malformed");this._jwks=SP(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=vP(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 Kr;if(u!==1){let l=new Oi,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await sy(d,p,n)}catch{continue}},l}return sy(this._cached,c,n)}};o(sy,"importWithAlgCache");o(ay,"createLocalJWKSet")});var IP,cy,uy=L(()=>{Y();IP=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 Ni:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new ve("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new ve("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),cy=IP});function PP(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function ly(t,e){let r=new Ld(t,e);return async function(n,i){return r.getKey(n,i)}}var Ld,dy=L(()=>{uy();Y();xd();o(PP,"isCloudflareWorkers");Ld=class extends ji{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 Kr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&PP()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=cy(this._url,this._timeoutDuration,this._options).then(e=>{if(!Cd(e))throw new fr("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(ly,"createRemoteJWKSet")});var Ys,py=L(()=>{Le();Ie();Y();Gs();zs();Ys=class extends wr{static{o(this,"UnsecuredJWT")}encode(){let e=ce(JSON.stringify({alg:"none"})),r=ce(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new _e("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new _e("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ye.decode(de(n))),c.alg!=="none")throw new Error}catch{throw new _e("Invalid Unsecured JWT")}return{payload:Cn(c,de(i),r),header:c}}}});var Dd={};Ro(Dd,{decode:()=>Vi,encode:()=>AP});var AP,Vi,Zs=L(()=>{Le();AP=ce,Vi=de});function fy(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(ye.decode(Vi(e)));if(!se(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var hy=L(()=>{Zs();Ie();ze();o(fy,"decodeProtectedHeader")});function my(t){if(typeof t!="string")throw new _e("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.split(".");if(r===5)throw new _e("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new _e("Invalid JWT");if(!e)throw new _e("JWTs must contain a payload");let n;try{n=Vi(e)}catch{throw new _e("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ye.decode(n))}catch{throw new _e("Failed to parse the decoded payload as JSON")}if(!se(i))throw new _e("Invalid JWT Claims Set");return i}var gy=L(()=>{Zs();Ie();ze();Y();o(my,"decodeJwt")});async function yy(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),hr(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 J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function Md(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new J("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function by(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:Md(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:Md(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:Md(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 J("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 J("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var Ud=L(()=>{Ce();Y();Ci();o(yy,"generateSecret");o(Md,"getModulusLengthOption");o(by,"generateKeyPair")});async function _y(t,e){return by(t,e)}var Ey=L(()=>{Ud();o(_y,"generateKeyPair")});async function wy(t,e){return yy(t,e)}var vy=L(()=>{Ud();o(wy,"generateSecret")});var Xs={};Ro(Xs,{CompactEncrypt:()=>xn,CompactSign:()=>Ln,EmbeddedJWK:()=>iy,EncryptJWT:()=>Qs,FlattenedEncrypt:()=>Wt,FlattenedSign:()=>Er,GeneralEncrypt:()=>js,GeneralSign:()=>Js,SignJWT:()=>Ws,UnsecuredJWT:()=>Ys,base64url:()=>Dd,calculateJwkThumbprint:()=>Nd,calculateJwkThumbprintUri:()=>ry,compactDecrypt:()=>Fs,compactVerify:()=>Bs,createLocalJWKSet:()=>ay,createRemoteJWKSet:()=>ly,decodeJwt:()=>my,decodeProtectedHeader:()=>fy,errors:()=>Zl,exportJWK:()=>Hs,exportPKCS8:()=>qg,exportSPKI:()=>Hg,flattenedDecrypt:()=>An,flattenedVerify:()=>Rn,generalDecrypt:()=>Mg,generalVerify:()=>Bg,generateKeyPair:()=>_y,generateSecret:()=>wy,importJWK:()=>br,importPKCS8:()=>Ng,importSPKI:()=>Rg,importX509:()=>Og,jwtDecrypt:()=>Wg,jwtVerify:()=>Jg});var ea=L(()=>{yd();ks();Ug();$g();Sd();Vs();Gg();zg();Qg();Ad();$s();Rd();Ks();Xg();ey();ty();ny();oy();xd();dy();py();bd();Ui();hy();gy();Y();Ey();vy();Zs()});var Dn=b(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.fetchRetry=void 0;var RP=k();async function OP(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 RP.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(OP,"fetchRetry");ta.fetchRetry=OP});var Mn=b(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.GcpServiceAccount=at.fetchToken=at.exchangeGgpJwtForIdToken=at.exchangeFirebaseJwtForIdToken=at.getTokenFromGcpServiceAccount=void 0;var Ty=(ea(),Oo(Xs)),NP=k(),CP=Dn();async function xP({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new Ty.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(xP,"getTokenFromGcpServiceAccount");at.getTokenFromGcpServiceAccount=xP;async function LP(t,e,r){return Fd(t,{token:e,returnSecureToken:!0},r)}o(LP,"exchangeFirebaseJwtForIdToken");at.exchangeFirebaseJwtForIdToken=LP;async function DP(t,e,r){return Fd(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(DP,"exchangeGgpJwtForIdToken");at.exchangeGgpJwtForIdToken=DP;async function Fd(t,e,r){let n=await(0,CP.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 NP.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Fd,"fetchToken");at.fetchToken=Fd;var kd=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,Ty.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}};at.GcpServiceAccount=kd});var na=b(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.GoogleLogTransport=Qt.ZuploToGCPMap=Qt.GoogleCloudLoggingPlugin=void 0;var MP=k(),UP=Pe(),Hd=ie(),qd=Mn(),kP=Jt(),Sy=Nt(),$d=class extends kP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new ra(this.options)}};Qt.GoogleCloudLoggingPlugin=$d;var FP="https://logging.googleapis.com/v2/entries:write?alt=json";Qt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var ra=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Hd.Environment.instance.loggingEnvironmentType,this.#o=Hd.Environment.instance.loggingEnvironmentStage,this.#n=Hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await qd.GcpServiceAccount.init(this.#e)}log(e,r){if(!this.#t)throw new MP.SystemError("Invalid state - Google log transport is not initialized");if(e.messages.length===0)return;let n={allMessages:(0,Sy.makeErrorsSerializable)(e.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Qt.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,Sy.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 qd.GcpServiceAccount.init(this.#e));let r=await(0,qd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(FP,{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 UP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Qt.GoogleLogTransport=ra});var jd=b(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.gcpLogFormat=Un.GCP_LOG_FORMAT=void 0;var Iy=Nt(),HP=na();Un.GCP_LOG_FORMAT="gcp";function qP(t){let e={allMessages:(0,Iy.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,Iy.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:HP.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(qP,"gcpLogFormat");Un.gcpLogFormat=qP});var Ay=b(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.ConsoleTransport=void 0;var Py=jd(),Vd=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;log(e){if(this.#t===Py.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Py.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}])}};ia.ConsoleTransport=Vd});var Wd=b(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.DataDogTransport=kn.DataDogLoggingPlugin=void 0;var $P=Pe(),Bd=ie(),jP=Jt(),Ry=Nt(),zd=class extends jP.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new oa(this.options)}};kn.DataDogLoggingPlugin=zd;var Gd="__ddtags",Kd="__ddattr",Jd=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),VP=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(Jd(n)):r.push(`${Jd(n)}:${Jd(i.toString())}`)}),r.join(",")},"formatTags"),oa=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=Bd.Environment.instance.loggingEnvironmentType,this.#i=Bd.Environment.instance.loggingEnvironmentStage,this.#r=Bd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n={},i=r.custom[Gd];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(h=>h[Gd]!==void 0);a>-1&&(Object.assign(n,s[a][Gd]),s.splice(a,1));let c={},u=r.custom[Kd];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(h=>h[Kd]!==void 0);l>-1&&(Object.assign(c,s[l][Kd]),s.splice(l,1));let d=(0,Ry.makeErrorsSerializable)(s),f={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Ry.extractBestMessage)(d),service:e.loggingId,ddtags:VP(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(f,c),this.batcher.enqueue(f),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 $P.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};kn.DataDogTransport=oa});var Ny=b(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.ProcessTransport=void 0;var Oy=jd(),Qd=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;log(e){if(this.#t===Oy.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Oy.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}])}};sa.ProcessTransport=Qd});var xy=b(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.RemoteLogTransport=void 0;var BP=Pe(),Cy=ie(),GP=Nt(),KP=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,GP.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Cy.Environment.instance.systemUserAgent,"zp-dn":Cy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),aa,Yd=class{static{o(this,"RemoteLogTransport")}constructor(e){aa||(aa=new BP.BatchDispatch("remote-log-transport",1,KP(e)))}log(e,r){aa.enqueue(e),r.waitUntil(aa.waitUntilFlushed())}};ca.RemoteLogTransport=Yd});var Ly=b(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.unifiedFormatter=Wr.SeverityNumberOpenTelemetryMap=void 0;Wr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var JP=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:Wr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Wr.unifiedFormatter=JP});var My=b(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.UnifiedLogTransport=void 0;var zP=Pe(),Dy=ie(),WP=Ly(),QP=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,WP.unifiedFormatter)(r,n);try{await fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Dy.Environment.instance.systemUserAgent,"zp-dn":Dy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),ua,Zd=class{static{o(this,"UnifiedLogTransport")}constructor(e){ua||(ua=new zP.BatchDispatch("unified-log-transport",1,QP(e)))}async log(e,r){ua.enqueue(e),r.waitUntil(ua.waitUntilFlushed())}};la.UnifiedLogTransport=Zd});var jy=b(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.LogInitializer=void 0;var YP=Fr(),ZP=Rt(),Uy=Fl(),ky=ie(),Fy=qm(),XP=Jt(),eA=$m(),Hy=jm(),qy=Ay(),tA=Wd(),rA=na(),$y=Ny(),nA=xy(),iA=My(),Xd=(0,YP.debug)("zuplo:logging"),ep=class t{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:e,userCoreLogger:r}){this.systemCoreLogger=e,this.userCoreLogger=r}static async init(e){let r=await t.setupSystemCoreLogger(ky.Environment.instance,e),n=await t.setupUserCoreLogger(ky.Environment.instance,e);return new t({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(e,r){let{build:n}=e;Xd("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(Uy.SYSTEM_LOGGER);return s?i.push(new $y.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new qy.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new iA.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new Fy.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(e,r){Xd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=e,a=r.getService(Uy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new $y.ProcessTransport(a.logger,e.logFormat)):e.isDeno&&n.push(new qy.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&n.push(new nA.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new rA.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new tA.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return ZP.plugins.forEach(c=>{c instanceof XP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Fy.CoreLogger(e.userLogLevel,"user",e.loggingId,s.BUILD_ID,n)}createRequestLoggers(e,r,n,i,s){Xd("Gateway.createRequestLoggers");let a=new eA.LoggingContext(n,i,s),c=new Hy.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Hy.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};da.LogInitializer=ep});var rp=b(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.UserRouteConfiguration=void 0;var tp=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};pa.UserRouteConfiguration=tp});var ip=b(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.Router=Dt.RouterError=Dt.LookupResult=Dt.RouterEntry=void 0;var Vy=k(),oA=gt(),sA=rp(),fa=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};Dt.RouterEntry=fa;var Bi=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Dt.LookupResult=Bi;var ha=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};Dt.RouterError=ha;var np=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof sA.UserRouteConfiguration||e instanceof oA.SystemRouteConfiguration))throw new Vy.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 fa(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new ha(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Vy.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 Bi(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 Bi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Dt.Router=np});var ma=b(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.getGlobalZuploEventContext=Fn.setGlobalZuploEventContext=void 0;var op;function aA(t){op=t}o(aA,"setGlobalZuploEventContext");Fn.setGlobalZuploEventContext=aA;function cA(){if(op===void 0)throw new Error("global ZuploEventContext has not been defined - invalid runtime state");return op}o(cA,"getGlobalZuploEventContext");Fn.getGlobalZuploEventContext=cA});var Hr=b(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.Gateway=void 0;var uA=Fr(),By=mm(),Gy=Tm(),lA=Sm(),Ky=Im(),Jy=Om(),Yt=ln(),ga=qr(),zy=Hm(),Ut=k(),Gi=Rt(),dA=jy(),pA=Bt(),fA=pe(),hA=Nl(),mA=ar(),gA=yn(),yA=Ge(),bA=ip(),sp=gt(),Wy=rp(),_A=Ze(),EA=cs(),ap=ie(),Qy=Gr(),Yy=ll(),wA=ma(),Mt=(0,uA.debug)("zuplo:runtime"),vA=o(t=>{let e=t.findIndex(r=>r.name===sp.systemNoVersion.name);return e>-1?[...t.splice(e),sp.systemNoVersion]:[...t,sp.systemNoVersion]},"setupSystemNoVersion"),cp=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,Mt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(e,r,n,i,s){if(Mt("Gateway.initialize"),!t.#e){await(0,Gi.initializeRuntime)(s);let a=await dA.LogInitializer.init(n),c=e(),u={...c,corsPolicies:(0,EA.parseCorsPolicies)(c.corsPolicies)},l=new t(u,r,a,i);t.#e=l}return t.#e}static purgeGatewayCache(){Mt("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new Ut.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[gA.policyProcessor,hA.corsProcessor,mA.metricsProcessor];#i;setupRoutes=()=>{Mt("Gateway.setupRoutes");let e=this.routeData,r=vA(e.versions),n=new bA.Router(r);if(e.routes.length===0)return(0,By.registerBuildRoute)(n,this),(0,Jy.registerPingRoute)(n,this),(0,Gy.registerCorsRoute)(n,this),(0,lA.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,zy.registerDevPortalLegacyRedirectRoute)(n,this),(0,zy.registerDevPortalV3Route)(n,this)),(0,By.registerBuildRoute)(n,this),(0,Jy.registerPingRoute)(n,this),(0,Gy.registerCorsRoute)(n,this);for(let s of Gi.plugins)s instanceof Gi.SystemRuntimePlugin&&s.registerRoutes(n,this);return e.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Ut.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new pA.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Wy.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Ky.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 Ut.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 Mt("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){Mt("Gateway.internalErrorResponse");let i={};if(ap.Environment.instance.isDeno){if(n instanceof Ut.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Qy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Qy.cleanStack)(s.stack)),i={cause:s}}}return fA.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){let r=new Headers(e.headers);return Yt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),ap.Environment.instance.isDeno&&Yt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(e,{headers:r})}async handleRequest(e,r){let n=e.headers.get(Yt.REQUEST_ID_HEADER)??e.headers.get(Yt.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(Yt.RAY_ID_HEADER);if((0,wA.setGlobalZuploEventContext)(r),!n){n=crypto.randomUUID();let T=new Headers(e.headers);T.set(Yt.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(Yt.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 Ut.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new ga.HeaderIncomingRequestProperties(e.headers),f=this.#s(e),h=new yA.ZuploRequest(f,{params:d.params}),g=new ga.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,event:r,custom:s,incomingRequestProperties:p}),_=ga.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Ky.notFoundRouteConfiguration&&Gi.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=T.map(A=>A.routeConfiguration).filter(A=>A instanceof Wy.UserRouteConfiguration)}try{if(_A.SystemLogMap.addLogger(g,c),ap.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Yy.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let y=await(0,Gi.invokeOnRequestExtensions)(h,g);if(y instanceof Response)return y;{let S=ga.ZuploContextExtensions.getContextExtensions(g);h=y,S.latestRequest=h}}(0,Yy.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let T=d.executableHandler;TA(T,d,e),Mt("Gateway.handleRequest - call user handler");let A=await T(h,g);if(Mt("Gateway.handleRequest - user handler"),!(A instanceof Response))throw new Ut.RuntimeError(`Invalid Response type from the request handler: ${typeof A}`);if(A.bodyUsed)throw new Ut.RuntimeError("The response object has already been used. Return a new response instead.");if(A.headers.get(Yt.REQUEST_ID_HEADER)===null&&!A.webSocket){let y=new Headers(A.headers);return y.set(Yt.REQUEST_ID_HEADER,n),new Response(A.body,{status:A.status,statusText:A.statusText,headers:y,cf:A.cf})}else return A}catch(T){return Mt("Gateway - error executing handler",T),T instanceof Ut.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,g,T)}}};ya.Gateway=cp;function TA(t,e,r){if(Mt("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new Ut.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Ut.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${e.routeConfiguration.path}'`)}o(TA,"checkHandler")});var Zy=b(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.invokeInboundPolicy=void 0;var SA=k(),IA=Hr(),PA=yn(),AA=o(async(t,e,r)=>{let n=IA.Gateway.instance.routeData.policies,i=(0,PA.getInboundPolicyInstances)([t],n);if(i.length===0)throw new SA.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);return i[0].handler(e,r)},"invokeInboundPolicy");ba.invokeInboundPolicy=AA});var qr=b(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.SystemZuploContext=ct.ZuploContextExtensions=ct.ResponseSentEvent=ct.ResponseSendingEvent=ct.HeaderIncomingRequestProperties=void 0;var Re=ln(),RA=k(),OA=Zy(),up=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(Re.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}catch{}}get asOrganization(){return this.#e.get(Re.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(Re.CF_IP_CITY_HEADER)??this.#e.get(Re.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(Re.CF_IP_CONTINENT_HEADER)??this.#e.get(Re.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(Re.CF_IP_COUNTRY_HEADER)??this.#e.get(Re.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(Re.CF_IP_LATITUDE_HEADER)??this.#e.get(Re.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(Re.CF_IP_LONGITUDE_HEADER)??this.#e.get(Re.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(Re.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(Re.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(Re.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(Re.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(Re.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(Re.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}}};ct.HeaderIncomingRequestProperties=up;var lp=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};ct.ResponseSendingEvent=lp;var dp=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};ct.ResponseSentEvent=dp;var Ki=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 RA.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}};ct.ZuploContextExtensions=Ki;var pp=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,event: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,OA.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ki.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ki.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;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)}};ct.SystemZuploContext=pp});var hp=b(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.ContextData=void 0;var fp=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),t.#e.set(e,i)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};_a.ContextData=fp});var Ji=b(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.environment=Tr.isZuploReadableEnvVariableName=Tr.isRestrictedEnvVariableName=void 0;var NA=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Xy(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!NA.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(Xy,"isRestrictedEnvVariableName");Tr.isRestrictedEnvVariableName=Xy;function eb(t){return!!t.startsWith("ZUPLO_")}o(eb,"isZuploReadableEnvVariableName");Tr.isZuploReadableEnvVariableName=eb;var CA=new Proxy({},{get(t,e){if(Xy(String(e))&&!eb(String(e)))return;let r=globalThis,n;return r.process?n=r.process.env[e]:n=r[e],n}});Tr.environment=CA});var mp=b(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.externalServiceHandler=Hn.externalServiceTunnelConfig=void 0;var xA=Fr(),Qr=k(),LA=gp(),zi=ie(),Et=(0,xA.debug)("zuplo:runtime:external-service");function rb(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=zi.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(rb,"getServiceAuth");async function DA(t){let e=rb();if(!e)throw Et("There is no external service auth configured for this zup."),new Qr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw Et("Cannot call external service with Request object"),new Qr.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(zi.Environment.instance.useSha256ServiceRouting){Et("Using sha256 service routing");let a=zi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await nb(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw Et("Cannot use sha256 service routing, missing build variables"),new Qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(DA,"externalServiceTunnelConfig");Hn.externalServiceTunnelConfig=DA;async function MA(t,e){let r=rb();if(r)if(Et(`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(zi.Environment.instance.useSha256ServiceRouting){Et("Using sha256 service routing");let d=zi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await nb(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw Et("Cannot use sha256 service routing, missing build variables"),new Qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);Et(`Calling external service: ${u.toString()}`);let l=await(0,LA.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 Qr.RuntimeError("Could not connect to secure tunnel.");return l}else throw Et("Cannot call external service with Request object"),new Qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw Et("There is no external service auth configured for this zup."),new Qr.RuntimeError("There are no external services configured for this zup.")}o(MA,"externalServiceHandler");Hn.externalServiceHandler=MA;async function nb(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=UA(n);Et(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await tb(`${s}-${i}`),l=await tb(`${s}-${a}-${c}`);return`${u}.${l}`}o(nb,"hashServiceName");async function tb(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(tb,"hashSegment");function UA(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(UA,"sanitizeEnvironmentType")});var gp=b(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.originalFetch=void 0;var kA=mp(),ib=new Map;ib.set("service:",kA.externalServiceHandler);qn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=FA(e);if(typeof t=="string"){let n=new URL(t),i=ib.get(n.protocol);return i?i(t,r):(0,qn.originalFetch)(t,r)}else return(0,qn.originalFetch)(t,r)};var FA=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 ab=b($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.Handler=$n.purgeGatewayCache=void 0;var HA=k(),sb=Hr(),ob=ie(),qA=o(()=>{sb.Gateway.purgeGatewayCache()},"purgeGatewayCache");$n.purgeGatewayCache=qA;var yp=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeLoader=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{ob.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await sb.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof HA.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:ob.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};$n.Handler=yp});var db=b(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.pathToRegexp=Ue.tokensToRegexp=Ue.regexpToFunction=Ue.match=Ue.tokensToFunction=Ue.compile=Ue.parse=void 0;function $A(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($A,"lexer");function bp(t,e){e===void 0&&(e={});for(var r=$A(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(jn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(w){if(u<r.length&&r[u].type===w)return r[u++].value},"tryConsume"),p=o(function(w){var v=d(w);if(v!==void 0)return v;var C=r[u],E=C.type,P=C.index;throw new TypeError("Unexpected ".concat(E," at ").concat(P,", expected ").concat(w))},"mustConsume"),f=o(function(){for(var w="",v;v=d("CHAR")||d("ESCAPED_CHAR");)w+=v;return w},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:T,suffix:"",pattern:_||s,modifier:d("MODIFIER")||""});continue}var A=h||d("ESCAPED_CHAR");if(A){l+=A;continue}l&&(a.push(l),l="");var y=d("OPEN");if(y){var T=f(),S=d("NAME")||"",O=d("PATTERN")||"",V=f();p("CLOSE"),a.push({name:S||(O?c++:""),pattern:S&&!O?s:O,prefix:T,suffix:V,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(bp,"parse");Ue.parse=bp;function jA(t,e){return cb(bp(t,e),e)}o(jA,"compile");Ue.compile=jA;function cb(t,e){e===void 0&&(e={});var r=_p(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 f=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(f)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(f.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<f.length;_++){var T=i(f[_],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 f=="string"||typeof f=="number"){var T=i(String(f),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var A=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(A))}}return l}}o(cb,"tokensToFunction");Ue.tokensToFunction=cb;function VA(t,e){var r=[],n=Ep(t,r,e);return ub(n,r,e)}o(VA,"match");Ue.match=VA;function ub(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(f){if(a[f]===void 0)return"continue";var h=e[f-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[f].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[f],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(ub,"regexpToFunction");Ue.regexpToFunction=ub;function jn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(jn,"escapeString");function _p(t){return t&&t.sensitive?"":"i"}o(_p,"flags");function BA(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(BA,"regexpToRegexp");function GA(t,e,r){var n=t.map(function(i){return Ep(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),_p(r))}o(GA,"arrayToRegexp");function KA(t,e,r){return lb(bp(t,r),e,r)}o(KA,"stringToRegexp");function lb(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(P){return P}:l,p=r.delimiter,f=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(jn(g),"]|$"),T="[".concat(jn(f),"]"),A=a?"^":"",y=0,S=t;y<S.length;y++){var O=S[y];if(typeof O=="string")A+=jn(d(O));else{var V=jn(d(O.prefix)),w=jn(d(O.suffix));if(O.pattern)if(e&&e.push(O),V||w)if(O.modifier==="+"||O.modifier==="*"){var v=O.modifier==="*"?"?":"";A+="(?:".concat(V,"((?:").concat(O.pattern,")(?:").concat(w).concat(V,"(?:").concat(O.pattern,"))*)").concat(w,")").concat(v)}else A+="(?:".concat(V,"(").concat(O.pattern,")").concat(w,")").concat(O.modifier);else O.modifier==="+"||O.modifier==="*"?A+="((?:".concat(O.pattern,")").concat(O.modifier,")"):A+="(".concat(O.pattern,")").concat(O.modifier);else A+="(?:".concat(V).concat(w,")").concat(O.modifier)}}if(u)i||(A+="".concat(T,"?")),A+=r.endsWith?"(?=".concat(_,")"):"$";else{var C=t[t.length-1],E=typeof C=="string"?T.indexOf(C[C.length-1])>-1:C===void 0;i||(A+="(?:".concat(T,"(?=").concat(_,"))?")),E||(A+="(?=".concat(T,"|").concat(_,")"))}return new RegExp(A,_p(r))}o(lb,"tokensToRegexp");Ue.tokensToRegexp=lb;function Ep(t,e,r){return t instanceof RegExp?BA(t,e):Array.isArray(t)?GA(t,e,r):KA(t,e,r)}o(Ep,"pathToRegexp");Ue.pathToRegexp=Ep});var Sp=b(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.AwsV4Signer=Vn.AwsClient=void 0;var JA=Fr(),mb=k(),zA=(0,JA.debug)("zuplo:runtime"),vp=new TextEncoder,pb={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"},WA=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Tp=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 Ea(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){zA("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 mb.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};Vn.AwsClient=Tp;var Ea=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:f,appendSessionToken:h,allHeaders:g,singleEncode:_}){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,A;(!u||!l)&&([T,A]=QA(this.url,this.headers)),this.service=u||T||"",this.region=l||A||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=f,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let y=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"),y.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&y.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(O=>g||!WA.includes(O)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(O=>O+":"+(O==="host"?this.url.host:(this.headers.get(O)||"").replace(/\s+/g," "))).join(`
59
+ -----END ${e}-----`},"default")});function _g(t){let e=[],r=0;for(;r<t.length;){let n=Ig(t.subarray(r));e.push(n),r+=n.byteLength}return e}function Ig(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 iP(t){let e=_g(_g(Ig(t).contents)[0].contents);return Ps(e[e[0].raw[0]===160?6:5].raw)}function oP(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Yl(e);return dd(iP(r),"PUBLIC KEY")}var Eg,wg,vg,yr,bg,Tg,Sg,pd,Pg,Us=L(()=>{Ce();bt();Le();yg();Y();_t();Eg=o(async(t,e,r)=>{if(!me(r))throw new TypeError(fe(r,...oe));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return dd(Ps(new Uint8Array(await G.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),wg=o(t=>Eg("public","spki",t),"toSPKI"),vg=o(t=>Eg("private","pkcs8",t),"toPKCS8"),yr=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])||yr(t,e,n+1)},"findOid"),bg=o(t=>{switch(!0){case yr(t,[42,134,72,206,61,3,1,7]):return"P-256";case yr(t,[43,129,4,0,34]):return"P-384";case yr(t,[43,129,4,0,35]):return"P-521";case yr(t,[43,101,110]):return"X25519";case yr(t,[43,101,111]):return"X448";case yr(t,[43,101,112]):return"Ed25519";case yr(t,[43,101,113]):return"Ed448";default:throw new J("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Tg=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=bg(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:bg(u)},c=l?["verify"]:["sign"];break;default:throw new J('Invalid or unsupported "alg" (Algorithm) value')}return G.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),Sg=o((t,e,r)=>Tg(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),pd=o((t,e,r)=>Tg(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(_g,"getElement");o(Ig,"parseElement");o(iP,"spkiFromX509");o(oP,"getSPKI");Pg=o((t,e,r)=>{let n;try{n=oP(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return pd(n,e,r)},"fromX509")});function sP(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 J(`${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 J('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 J('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 J('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 J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new J('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var aP,fd,Ag=L(()=>{Ce();Y();Le();o(sP,"subtleMapping");aP=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}=sP(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 G.subtle.importKey("raw",de(t.k),...s);let a={...t};return delete a.alg,delete a.use,G.subtle.importKey("jwk",a,...s)},"parse"),fd=aP});async function Rg(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return pd(t,e,r)}async function Og(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Pg(t,e,r)}async function Ng(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Sg(t,e,r)}async function br(t,e,r){var n;if(!se(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?fd({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):de(t.k);case"RSA":if(t.oth!==void 0)throw new J('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return fd({...t,alg:e});default:throw new J('Unsupported "kty" (Key Type) Parameter value')}}var Ui=L(()=>{Le();Us();Ag();Y();ze();o(Rg,"importSPKI");o(Og,"importX509");o(Ng,"importPKCS8");o(br,"importJWK")});var cP,uP,lP,_r,ki=L(()=>{bt();_t();cP=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!nd(e))throw new TypeError(rd(t,e,...oe,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${oe.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),uP=o((t,e,r)=>{if(!nd(e))throw new TypeError(rd(t,e,...oe));if(e.type==="secret")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),lP=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?cP(t,e):uP(t,e,r)},"checkKeyType"),_r=lP});async function dP(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(fe(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await G.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await G.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await G.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=xe(i,n,u,Ts(i.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function pP(t,e,r,n,i){let s;r instanceof Uint8Array?s=await G.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Je(r,t,"encrypt"),s=r);let a=new Uint8Array(await G.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 fP,Fi,hd=L(()=>{Ie();ed();td();Ce();gr();bt();Y();_t();o(dP,"cbcEncrypt");o(pP,"gcmEncrypt");fP=o(async(t,e,r,n,i)=>{if(!me(r)&&!(r instanceof Uint8Array))throw new TypeError(fe(r,...oe,"Uint8Array"));switch(Os(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&vn(r,parseInt(t.slice(-3),10)),dP(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&vn(r,parseInt(t.slice(1,4),10)),pP(t,e,r,n,i);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Fi=fP});async function Cg(t,e,r,n){let i=t.slice(0,7);n||(n=As(i));let{ciphertext:s,tag:a}=await Fi(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:ce(n),tag:ce(a)}}async function xg(t,e,r,n,i){let s=t.slice(0,7);return Cs(s,e,r,n,i,new Uint8Array(0))}var md=L(()=>{hd();id();Rs();Le();o(Cg,"wrap");o(xg,"unwrap")});async function hP(t,e,r,n,i){switch(_r(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");return e}case"ECDH-ES":if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!se(n.epk))throw new F('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Ds(e))throw new J("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await br(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new F('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=de(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new F('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=de(n.apv)}let u=await Ls(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?Di(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new F("JWE Encrypted Key missing");return Li(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 F("JWE Encrypted Key missing");return gg(t,e,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new F('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new F('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new F('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return fg(t,e,r,n.p2c,de(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");return Li(t,e,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new F('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new F('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=de(n.iv),a=de(n.tag);return xg(t,e,r,s,a)}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Lg,Dg=L(()=>{xs();ad();ud();ld();Le();Y();Mi();Ui();ki();ze();md();o(hP,"decryptKeyManagement");Lg=hP});function mP(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 J(`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 Lt,Pn=L(()=>{Y();o(mP,"validateCrit");Lt=mP});var gP,Hi,gd=L(()=>{gP=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"),Hi=gP});async function An(t,e,r){var n;if(!se(t))throw new F("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new F("JOSE Header missing");if(typeof t.iv!="string")throw new F("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new F("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new F("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new F("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new F("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new F("JWE AAD incorrect type");if(t.header!==void 0&&!se(t.header))throw new F("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!se(t.unprotected))throw new F("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let S=de(t.protected);i=JSON.parse(ye.decode(S))}catch{throw new F("JWE Protected Header is invalid")}if(!Ct(i,t.header,t.unprotected))throw new F("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(Lt(F,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new F("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new F("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&Hi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&Hi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new pr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new pr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=de(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let f;try{f=await Lg(a,e,d,s,r)}catch(S){if(S instanceof TypeError||S instanceof F||S instanceof J)throw S;f=xt(c)}let h=de(t.iv),g=de(t.tag),_=ae.encode((n=t.protected)!==null&&n!==void 0?n:""),T;t.aad!==void 0?T=xe(_,ae.encode("."),ae.encode(t.aad)):T=_;let A=await Cs(c,f,de(t.ciphertext),h,g,T);s.zip==="DEF"&&(A=await(r?.inflateRaw||ig)(A));let y={plaintext:A};return t.protected!==void 0&&(y.protectedHeader=i),t.aad!==void 0&&(y.additionalAuthenticatedData=de(t.aad)),t.unprotected!==void 0&&(y.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(y.unprotectedHeader=t.header),p?{...y,key:e}:y}var ks=L(()=>{Le();id();od();Y();Tn();ze();Dg();Ie();Mi();Pn();gd();o(An,"flattenedDecrypt")});async function Fs(t,e,r){if(t instanceof Uint8Array&&(t=ye.decode(t)),typeof t!="string")throw new F("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 F("Invalid Compact JWE");let l=await An({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},e,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof e=="function"?{...d,key:l.key}:d}var yd=L(()=>{ks();Y();Ie();o(Fs,"compactDecrypt")});async function Mg(t,e,r){if(!se(t))throw new F("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(se))throw new F("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new F("JWE Recipients has no members");for(let n of t.recipients)try{return await An({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 zt}var Ug=L(()=>{ks();Y();ze();o(Mg,"generalDecrypt")});var yP,kg,Fg=L(()=>{Ce();bt();Le();_t();yP=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:ce(t)};if(!me(t))throw new TypeError(fe(t,...oe,"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 G.subtle.exportKey("jwk",t);return s},"keyToJWK"),kg=yP});async function Hg(t){return wg(t)}async function qg(t){return vg(t)}async function Hs(t){return kg(t)}var bd=L(()=>{Us();Us();Fg();o(Hg,"exportSPKI");o(qg,"exportPKCS8");o(Hs,"exportJWK")});async function bP(t,e,r,n,i={}){let s,a,c;switch(_r(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(!Ds(r))throw new J("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 cg(r)).privateKey);let{x:p,y:f,crv:h,kty:g}=await Hs(d),_=await Ls(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?Di(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=f),u&&(a.apu=ce(u)),l&&(a.apv=ce(l)),t==="ECDH-ES"){c=_;break}c=n||xt(e);let T=t.slice(-6);s=await xi(T,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||xt(e),s=await mg(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||xt(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await pg(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||xt(e),s=await xi(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||xt(e);let{iv:u}=i;({encryptedKey:s,...a}=await Cg(t,r,c,u));break}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var qs,_d=L(()=>{xs();ad();ud();ld();Le();Mi();Y();bd();ki();md();o(bP,"encryptKeyManagement");qs=bP});var Ed,Wt,$s=L(()=>{Le();hd();od();Rs();_d();Y();Tn();Ie();Pn();Ed=Symbol(),Wt=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 F("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Ct(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new F("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(Lt(F,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new F('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 g;({cek:c,encryptedKey:a,parameters:g}=await qs(i,s,e,this._cek,this._keyManagementParameters)),g&&(r&&Ed in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=As(s));let u,l,d;this._protectedHeader?l=ae.encode(ce(JSON.stringify(this._protectedHeader))):l=ae.encode(""),this._aad?(d=ce(this._aad),u=xe(l,ae.encode("."),ae.encode(d))):u=l;let p,f;if(n.zip==="DEF"){let g=await(r?.deflateRaw||og)(this._plaintext);({ciphertext:p,tag:f}=await Fi(s,g,c,this._iv,u))}else({ciphertext:p,tag:f}=await Fi(s,this._plaintext,c,this._iv,u));let h={ciphertext:ce(p),iv:ce(this._iv),tag:ce(f)};return a&&(h.encrypted_key=ce(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ye.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var wd,js,$g=L(()=>{$s();Y();Mi();Tn();_d();Le();Pn();wd=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}},js=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new wd(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 F("at least one recipient must be added");if(e={deflateRaw:e?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Wt(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(!Ct(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new F("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 F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new F('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(Lt(F,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=xt(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 f={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Wt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:f}).encrypt(l.key,{...l.options,...e,[Ed]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await qs(((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:f});d.encrypted_key=ce(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function qi(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 J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var vd=L(()=>{Y();o(qi,"subtleDsa")});function $i(t,e,r){if(me(e))return rg(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(fe(e,...oe));return G.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(fe(e,...oe,"Uint8Array"))}var Td=L(()=>{Ce();gr();bt();_t();o($i,"getCryptoKey")});var _P,jg,Vg=L(()=>{vd();Ce();Ms();Td();_P=o(async(t,e,r,n)=>{let i=await $i(t,e,"verify");zr(t,i);let s=qi(t,i.algorithm);try{return await G.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),jg=_P});async function Rn(t,e,r){var n;if(!se(t))throw new ne("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new ne('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new ne("JWS Protected Header incorrect type");if(t.payload===void 0)throw new ne("JWS Payload missing");if(typeof t.signature!="string")throw new ne("JWS Signature missing or incorrect type");if(t.header!==void 0&&!se(t.header))throw new ne("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let T=de(t.protected);i=JSON.parse(ye.decode(T))}catch{throw new ne("JWS Protected Header is invalid")}if(!Ct(i,t.header))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=Lt(ne,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&Hi("algorithms",r.algorithms);if(l&&!l.has(u))throw new pr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new ne("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new ne("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),_r(u,e,"verify");let p=xe(ae.encode((n=t.protected)!==null&&n!==void 0?n:""),ae.encode("."),typeof t.payload=="string"?ae.encode(t.payload):t.payload),f=de(t.signature);if(!await jg(u,e,f,p))throw new Jr;let g;c?g=de(t.payload):typeof t.payload=="string"?g=ae.encode(t.payload):g=t.payload;let _={payload:g};return t.protected!==void 0&&(_.protectedHeader=i),t.header!==void 0&&(_.unprotectedHeader=t.header),d?{..._,key:e}:_}var Vs=L(()=>{Le();Vg();Y();Ie();Tn();ze();ki();Pn();gd();o(Rn,"flattenedVerify")});async function Bs(t,e,r){if(t instanceof Uint8Array&&(t=ye.decode(t)),typeof t!="string")throw new ne("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new ne("Invalid Compact JWS");let c=await Rn({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 Sd=L(()=>{Vs();Y();Ie();o(Bs,"compactVerify")});async function Bg(t,e,r){if(!se(t))throw new ne("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(se))throw new ne("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await Rn({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Jr}var Gg=L(()=>{Vs();Y();ze();o(Bg,"generalVerify")});var On,Id=L(()=>{On=o(t=>Math.floor(t.getTime()/1e3),"default")});var EP,Nn,Pd=L(()=>{EP=/^(\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=EP.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 Kg,wP,Cn,Gs=L(()=>{Y();Ie();Id();Pd();ze();Kg=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),wP=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),Cn=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||Kg(t.typ)!==Kg(n)))throw new Ae('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ye.decode(e))}catch{}if(!se(i))throw new _e("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new Ae(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new Ae('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new Ae('unexpected "sub" claim value',"sub","check_failed");if(u&&!wP(i.aud,typeof u=="string"?[u]:u))throw new Ae('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,f=On(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new Ae('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new Ae('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>f+d)throw new Ae('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new Ae('"exp" claim must be a number',"exp","invalid");if(i.exp<=f-d)throw new wn('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=f-i.iat,g=typeof l=="number"?l:Nn(l);if(h-d>g)throw new wn('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new Ae('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Jg(t,e,r){var n;let i=await Bs(t,e,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new _e("JWTs MUST NOT use unencoded payload");let a={payload:Cn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var zg=L(()=>{Sd();Gs();Y();o(Jg,"jwtVerify")});async function Wg(t,e,r){let n=await Fs(t,e,r),i=Cn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new Ae('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new Ae('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new Ae('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var Qg=L(()=>{yd();Gs();Y();o(Wg,"jwtDecrypt")});var xn,Ad=L(()=>{$s();xn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Wt(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 vP,Yg,Zg=L(()=>{vd();Ce();Ms();Td();vP=o(async(t,e,r)=>{let n=await $i(t,e,"sign");zr(t,n);let i=await G.subtle.sign(qi(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Yg=vP});var Er,Ks=L(()=>{Le();Zg();Tn();Y();Ie();ki();Pn();Er=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 ne("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Ct(this._protectedHeader,this._unprotectedHeader))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=Lt(ne,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');_r(a,e,"sign");let c=this._payload;s&&(c=ae.encode(ce(c)));let u;this._protectedHeader?u=ae.encode(ce(JSON.stringify(this._protectedHeader))):u=ae.encode("");let l=xe(u,ae.encode("."),c),d=await Yg(a,e,l),p={signature:ce(d),payload:""};return s&&(p.payload=ye.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ye.decode(u)),p}}});var Ln,Rd=L(()=>{Ks();Ln=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new Er(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 Od,Js,Xg=L(()=>{Ks();Y();Od=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}},Js=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new Od(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new ne("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 Er(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 ne("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var wr,zs=L(()=>{Id();ze();Pd();wr=class{static{o(this,"ProduceJWT")}constructor(e){if(!se(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:On(new Date)+Nn(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:On(new Date)+Nn(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:On(new Date)}:this._payload={...this._payload,iat:e},this}}});var Ws,ey=L(()=>{Rd();Y();Ie();zs();Ws=class extends wr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new Ln(ae.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 _e("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var Qs,ty=L(()=>{Ad();Ie();zs();Qs=class extends wr{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 xn(ae.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 Nd(t,e){if(!se(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":vr(t.crv,'"crv" (Curve) Parameter'),vr(t.x,'"x" (X Coordinate) Parameter'),vr(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":vr(t.crv,'"crv" (Subtype of Key Pair) Parameter'),vr(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":vr(t.e,'"e" (Exponent) Parameter'),vr(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":vr(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new J('"kty" (Key Type) Parameter missing or unsupported')}let n=ae.encode(JSON.stringify(r));return ce(await ws(e,n))}async function ry(t,e){e??(e="sha256");let r=await Nd(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var vr,ny=L(()=>{Wl();Le();Y();Ie();ze();vr=o((t,e)=>{if(typeof t!="string"||!t)throw new Ri(`${e} missing or invalid`)},"check");o(Nd,"calculateJwkThumbprint");o(ry,"calculateJwkThumbprintUri")});async function iy(t,e){let r={...t,...e?.header};if(!se(r.jwk))throw new ne('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await br({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new ne('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var oy=L(()=>{Ui();ze();Y();o(iy,"EmbeddedJWK")});function TP(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 J('Unsupported "alg" value for a JSON Web Key Set')}}function Cd(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(SP)}function SP(t){return se(t)}function IP(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function sy(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await br({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new fr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function ay(t){let e=new ji(t);return async function(r,n){return e.getKey(r,n)}}var ji,xd=L(()=>{Ui();Y();ze();o(TP,"getKtyFromAlg");o(Cd,"isJWKSLike");o(SP,"isJWKLike");o(IP,"clone");ji=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!Cd(e))throw new fr("JSON Web Key Set malformed");this._jwks=IP(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=TP(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 Kr;if(u!==1){let l=new Oi,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await sy(d,p,n)}catch{continue}},l}return sy(this._cached,c,n)}};o(sy,"importWithAlgCache");o(ay,"createLocalJWKSet")});var PP,cy,uy=L(()=>{Y();PP=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 Ni:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new ve("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new ve("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),cy=PP});function AP(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function ly(t,e){let r=new Ld(t,e);return async function(n,i){return r.getKey(n,i)}}var Ld,dy=L(()=>{uy();Y();xd();o(AP,"isCloudflareWorkers");Ld=class extends ji{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 Kr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&AP()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=cy(this._url,this._timeoutDuration,this._options).then(e=>{if(!Cd(e))throw new fr("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(ly,"createRemoteJWKSet")});var Ys,py=L(()=>{Le();Ie();Y();Gs();zs();Ys=class extends wr{static{o(this,"UnsecuredJWT")}encode(){let e=ce(JSON.stringify({alg:"none"})),r=ce(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new _e("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new _e("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ye.decode(de(n))),c.alg!=="none")throw new Error}catch{throw new _e("Invalid Unsecured JWT")}return{payload:Cn(c,de(i),r),header:c}}}});var Dd={};Ro(Dd,{decode:()=>Vi,encode:()=>RP});var RP,Vi,Zs=L(()=>{Le();RP=ce,Vi=de});function fy(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(ye.decode(Vi(e)));if(!se(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var hy=L(()=>{Zs();Ie();ze();o(fy,"decodeProtectedHeader")});function my(t){if(typeof t!="string")throw new _e("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.split(".");if(r===5)throw new _e("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new _e("Invalid JWT");if(!e)throw new _e("JWTs must contain a payload");let n;try{n=Vi(e)}catch{throw new _e("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ye.decode(n))}catch{throw new _e("Failed to parse the decoded payload as JSON")}if(!se(i))throw new _e("Invalid JWT Claims Set");return i}var gy=L(()=>{Zs();Ie();ze();Y();o(my,"decodeJwt")});async function yy(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),hr(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 J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function Md(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new J("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function by(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:Md(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:Md(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:Md(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 J("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 J("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var Ud=L(()=>{Ce();Y();Ci();o(yy,"generateSecret");o(Md,"getModulusLengthOption");o(by,"generateKeyPair")});async function _y(t,e){return by(t,e)}var Ey=L(()=>{Ud();o(_y,"generateKeyPair")});async function wy(t,e){return yy(t,e)}var vy=L(()=>{Ud();o(wy,"generateSecret")});var Xs={};Ro(Xs,{CompactEncrypt:()=>xn,CompactSign:()=>Ln,EmbeddedJWK:()=>iy,EncryptJWT:()=>Qs,FlattenedEncrypt:()=>Wt,FlattenedSign:()=>Er,GeneralEncrypt:()=>js,GeneralSign:()=>Js,SignJWT:()=>Ws,UnsecuredJWT:()=>Ys,base64url:()=>Dd,calculateJwkThumbprint:()=>Nd,calculateJwkThumbprintUri:()=>ry,compactDecrypt:()=>Fs,compactVerify:()=>Bs,createLocalJWKSet:()=>ay,createRemoteJWKSet:()=>ly,decodeJwt:()=>my,decodeProtectedHeader:()=>fy,errors:()=>Zl,exportJWK:()=>Hs,exportPKCS8:()=>qg,exportSPKI:()=>Hg,flattenedDecrypt:()=>An,flattenedVerify:()=>Rn,generalDecrypt:()=>Mg,generalVerify:()=>Bg,generateKeyPair:()=>_y,generateSecret:()=>wy,importJWK:()=>br,importPKCS8:()=>Ng,importSPKI:()=>Rg,importX509:()=>Og,jwtDecrypt:()=>Wg,jwtVerify:()=>Jg});var ea=L(()=>{yd();ks();Ug();$g();Sd();Vs();Gg();zg();Qg();Ad();$s();Rd();Ks();Xg();ey();ty();ny();oy();xd();dy();py();bd();Ui();hy();gy();Y();Ey();vy();Zs()});var Dn=b(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.fetchRetry=void 0;var OP=k();async function NP(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 OP.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(NP,"fetchRetry");ta.fetchRetry=NP});var Mn=b(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.GcpServiceAccount=at.fetchToken=at.exchangeGgpJwtForIdToken=at.exchangeFirebaseJwtForIdToken=at.getTokenFromGcpServiceAccount=void 0;var Ty=(ea(),Oo(Xs)),CP=k(),xP=Dn();async function LP({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new Ty.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(LP,"getTokenFromGcpServiceAccount");at.getTokenFromGcpServiceAccount=LP;async function DP(t,e,r){return Fd(t,{token:e,returnSecureToken:!0},r)}o(DP,"exchangeFirebaseJwtForIdToken");at.exchangeFirebaseJwtForIdToken=DP;async function MP(t,e,r){return Fd(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(MP,"exchangeGgpJwtForIdToken");at.exchangeGgpJwtForIdToken=MP;async function Fd(t,e,r){let n=await(0,xP.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 CP.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Fd,"fetchToken");at.fetchToken=Fd;var kd=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,Ty.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}};at.GcpServiceAccount=kd});var na=b(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.GoogleLogTransport=Qt.ZuploToGCPMap=Qt.GoogleCloudLoggingPlugin=void 0;var UP=k(),kP=Pe(),Hd=ie(),qd=Mn(),FP=Jt(),Sy=Nt(),$d=class extends FP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new ra(this.options)}};Qt.GoogleCloudLoggingPlugin=$d;var HP="https://logging.googleapis.com/v2/entries:write?alt=json";Qt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var ra=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Hd.Environment.instance.loggingEnvironmentType,this.#o=Hd.Environment.instance.loggingEnvironmentStage,this.#n=Hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await qd.GcpServiceAccount.init(this.#e)}log(e,r){if(!this.#t)throw new UP.SystemError("Invalid state - Google log transport is not initialized");if(e.messages.length===0)return;let n={allMessages:(0,Sy.makeErrorsSerializable)(e.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Qt.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,Sy.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 qd.GcpServiceAccount.init(this.#e));let r=await(0,qd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(HP,{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 kP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Qt.GoogleLogTransport=ra});var jd=b(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.gcpLogFormat=Un.GCP_LOG_FORMAT=void 0;var Iy=Nt(),qP=na();Un.GCP_LOG_FORMAT="gcp";function $P(t){let e={allMessages:(0,Iy.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,Iy.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:qP.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($P,"gcpLogFormat");Un.gcpLogFormat=$P});var Ay=b(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.ConsoleTransport=void 0;var Py=jd(),Vd=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;log(e){if(this.#t===Py.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Py.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}])}};ia.ConsoleTransport=Vd});var Wd=b(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.DataDogTransport=kn.DataDogLoggingPlugin=void 0;var jP=Pe(),Bd=ie(),VP=Jt(),Ry=Nt(),zd=class extends VP.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new oa(this.options)}};kn.DataDogLoggingPlugin=zd;var Gd="__ddtags",Kd="__ddattr",Jd=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),BP=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(Jd(n)):r.push(`${Jd(n)}:${Jd(i.toString())}`)}),r.join(",")},"formatTags"),oa=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=Bd.Environment.instance.loggingEnvironmentType,this.#i=Bd.Environment.instance.loggingEnvironmentStage,this.#r=Bd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n={},i=r.custom[Gd];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(h=>h[Gd]!==void 0);a>-1&&(Object.assign(n,s[a][Gd]),s.splice(a,1));let c={},u=r.custom[Kd];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(h=>h[Kd]!==void 0);l>-1&&(Object.assign(c,s[l][Kd]),s.splice(l,1));let d=(0,Ry.makeErrorsSerializable)(s),f={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Ry.extractBestMessage)(d),service:e.loggingId,ddtags:BP(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(f,c),this.batcher.enqueue(f),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 jP.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};kn.DataDogTransport=oa});var Ny=b(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.ProcessTransport=void 0;var Oy=jd(),Qd=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;log(e){if(this.#t===Oy.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Oy.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}])}};sa.ProcessTransport=Qd});var xy=b(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.RemoteLogTransport=void 0;var GP=Pe(),Cy=ie(),KP=Nt(),JP=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,KP.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Cy.Environment.instance.systemUserAgent,"zp-dn":Cy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),aa,Yd=class{static{o(this,"RemoteLogTransport")}constructor(e){aa||(aa=new GP.BatchDispatch("remote-log-transport",1,JP(e)))}log(e,r){aa.enqueue(e),r.waitUntil(aa.waitUntilFlushed())}};ca.RemoteLogTransport=Yd});var Ly=b(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.unifiedFormatter=Wr.SeverityNumberOpenTelemetryMap=void 0;Wr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var zP=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:Wr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Wr.unifiedFormatter=zP});var My=b(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.UnifiedLogTransport=void 0;var WP=Pe(),Dy=ie(),QP=Ly(),YP=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,QP.unifiedFormatter)(r,n);try{await fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Dy.Environment.instance.systemUserAgent,"zp-dn":Dy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),ua,Zd=class{static{o(this,"UnifiedLogTransport")}constructor(e){ua||(ua=new WP.BatchDispatch("unified-log-transport",1,YP(e)))}async log(e,r){ua.enqueue(e),r.waitUntil(ua.waitUntilFlushed())}};la.UnifiedLogTransport=Zd});var jy=b(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.LogInitializer=void 0;var ZP=Fr(),XP=Rt(),Uy=Fl(),ky=ie(),Fy=qm(),eA=Jt(),tA=$m(),Hy=jm(),qy=Ay(),rA=Wd(),nA=na(),$y=Ny(),iA=xy(),oA=My(),Xd=(0,ZP.debug)("zuplo:logging"),ep=class t{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:e,userCoreLogger:r}){this.systemCoreLogger=e,this.userCoreLogger=r}static async init(e){let r=await t.setupSystemCoreLogger(ky.Environment.instance,e),n=await t.setupUserCoreLogger(ky.Environment.instance,e);return new t({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(e,r){let{build:n}=e;Xd("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(Uy.SYSTEM_LOGGER);return s?i.push(new $y.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new qy.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new oA.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new Fy.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(e,r){Xd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=e,a=r.getService(Uy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new $y.ProcessTransport(a.logger,e.logFormat)):e.isDeno&&n.push(new qy.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&n.push(new iA.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new nA.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new rA.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return XP.plugins.forEach(c=>{c instanceof eA.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Fy.CoreLogger(e.userLogLevel,"user",e.loggingId,s.BUILD_ID,n)}createRequestLoggers(e,r,n,i,s){Xd("Gateway.createRequestLoggers");let a=new tA.LoggingContext(n,i,s),c=new Hy.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Hy.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};da.LogInitializer=ep});var rp=b(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.UserRouteConfiguration=void 0;var tp=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};pa.UserRouteConfiguration=tp});var ip=b(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.Router=Dt.RouterError=Dt.LookupResult=Dt.RouterEntry=void 0;var Vy=k(),sA=gt(),aA=rp(),fa=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};Dt.RouterEntry=fa;var Bi=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Dt.LookupResult=Bi;var ha=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};Dt.RouterError=ha;var np=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof aA.UserRouteConfiguration||e instanceof sA.SystemRouteConfiguration))throw new Vy.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 fa(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new ha(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Vy.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 Bi(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 Bi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Dt.Router=np});var ma=b(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.getGlobalZuploEventContext=Fn.setGlobalZuploEventContext=void 0;var op;function cA(t){op=t}o(cA,"setGlobalZuploEventContext");Fn.setGlobalZuploEventContext=cA;function uA(){if(op===void 0)throw new Error("global ZuploEventContext has not been defined - invalid runtime state");return op}o(uA,"getGlobalZuploEventContext");Fn.getGlobalZuploEventContext=uA});var Hr=b(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.Gateway=void 0;var lA=Fr(),By=mm(),Gy=Tm(),dA=Sm(),Ky=Im(),Jy=Om(),Yt=ln(),ga=qr(),zy=Hm(),Ut=k(),Gi=Rt(),pA=jy(),fA=Bt(),hA=pe(),mA=Nl(),gA=ar(),yA=yn(),bA=Ge(),_A=ip(),sp=gt(),Wy=rp(),EA=Ze(),wA=cs(),ap=ie(),Qy=Gr(),Yy=ll(),vA=ma(),Mt=(0,lA.debug)("zuplo:runtime"),TA=o(t=>{let e=t.findIndex(r=>r.name===sp.systemNoVersion.name);return e>-1?[...t.splice(e),sp.systemNoVersion]:[...t,sp.systemNoVersion]},"setupSystemNoVersion"),cp=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,Mt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(e,r,n,i,s){if(Mt("Gateway.initialize"),!t.#e){await(0,Gi.initializeRuntime)(s);let a=await pA.LogInitializer.init(n),c=e(),u={...c,corsPolicies:(0,wA.parseCorsPolicies)(c.corsPolicies)},l=new t(u,r,a,i);t.#e=l}return t.#e}static purgeGatewayCache(){Mt("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new Ut.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[yA.policyProcessor,mA.corsProcessor,gA.metricsProcessor];#i;setupRoutes=()=>{Mt("Gateway.setupRoutes");let e=this.routeData,r=TA(e.versions),n=new _A.Router(r);if(e.routes.length===0)return(0,By.registerBuildRoute)(n,this),(0,Jy.registerPingRoute)(n,this),(0,Gy.registerCorsRoute)(n,this),(0,dA.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,zy.registerDevPortalLegacyRedirectRoute)(n,this),(0,zy.registerDevPortalV3Route)(n,this)),(0,By.registerBuildRoute)(n,this),(0,Jy.registerPingRoute)(n,this),(0,Gy.registerCorsRoute)(n,this);for(let s of Gi.plugins)s instanceof Gi.SystemRuntimePlugin&&s.registerRoutes(n,this);return e.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Ut.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new fA.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Wy.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Ky.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 Ut.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 Mt("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){Mt("Gateway.internalErrorResponse");let i={};if(ap.Environment.instance.isDeno){if(n instanceof Ut.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Qy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Qy.cleanStack)(s.stack)),i={cause:s}}}return hA.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){let r=new Headers(e.headers);return Yt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),ap.Environment.instance.isDeno&&Yt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(e,{headers:r})}async handleRequest(e,r){let n=e.headers.get(Yt.REQUEST_ID_HEADER)??e.headers.get(Yt.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(Yt.RAY_ID_HEADER);if((0,vA.setGlobalZuploEventContext)(r),!n){n=crypto.randomUUID();let T=new Headers(e.headers);T.set(Yt.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(Yt.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 Ut.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new ga.HeaderIncomingRequestProperties(e.headers),f=this.#s(e),h=new bA.ZuploRequest(f,{params:d.params}),g=new ga.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,event:r,custom:s,incomingRequestProperties:p}),_=ga.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Ky.notFoundRouteConfiguration&&Gi.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=T.map(A=>A.routeConfiguration).filter(A=>A instanceof Wy.UserRouteConfiguration)}try{if(EA.SystemLogMap.addLogger(g,c),ap.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Yy.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let y=await(0,Gi.invokeOnRequestExtensions)(h,g);if(y instanceof Response)return y;{let S=ga.ZuploContextExtensions.getContextExtensions(g);h=y,S.latestRequest=h}}(0,Yy.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let T=d.executableHandler;SA(T,d,e),Mt("Gateway.handleRequest - call user handler");let A=await T(h,g);if(Mt("Gateway.handleRequest - user handler"),!(A instanceof Response))throw new Ut.RuntimeError(`Invalid Response type from the request handler: ${typeof A}`);if(A.bodyUsed)throw new Ut.RuntimeError("The response object has already been used. Return a new response instead.");if(A.headers.get(Yt.REQUEST_ID_HEADER)===null&&!A.webSocket){let y=new Headers(A.headers);return y.set(Yt.REQUEST_ID_HEADER,n),new Response(A.body,{status:A.status,statusText:A.statusText,headers:y,cf:A.cf})}else return A}catch(T){return Mt("Gateway - error executing handler",T),T instanceof Ut.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,g,T)}}};ya.Gateway=cp;function SA(t,e,r){if(Mt("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new Ut.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Ut.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${e.routeConfiguration.path}'`)}o(SA,"checkHandler")});var Zy=b(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.invokeInboundPolicy=void 0;var IA=k(),PA=Hr(),AA=yn(),RA=o(async(t,e,r)=>{let n=PA.Gateway.instance.routeData.policies,i=(0,AA.getInboundPolicyInstances)([t],n);if(i.length===0)throw new IA.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);return i[0].handler(e,r)},"invokeInboundPolicy");ba.invokeInboundPolicy=RA});var qr=b(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.SystemZuploContext=ct.ZuploContextExtensions=ct.ResponseSentEvent=ct.ResponseSendingEvent=ct.HeaderIncomingRequestProperties=void 0;var Re=ln(),OA=k(),NA=Zy(),up=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(Re.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}catch{}}get asOrganization(){return this.#e.get(Re.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(Re.CF_IP_CITY_HEADER)??this.#e.get(Re.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(Re.CF_IP_CONTINENT_HEADER)??this.#e.get(Re.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(Re.CF_IP_COUNTRY_HEADER)??this.#e.get(Re.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(Re.CF_IP_LATITUDE_HEADER)??this.#e.get(Re.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(Re.CF_IP_LONGITUDE_HEADER)??this.#e.get(Re.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(Re.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(Re.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(Re.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(Re.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(Re.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(Re.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}}};ct.HeaderIncomingRequestProperties=up;var lp=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};ct.ResponseSendingEvent=lp;var dp=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};ct.ResponseSentEvent=dp;var Ki=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 OA.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}};ct.ZuploContextExtensions=Ki;var pp=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,event: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,NA.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ki.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ki.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;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)}};ct.SystemZuploContext=pp});var hp=b(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.ContextData=void 0;var fp=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),t.#e.set(e,i)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};_a.ContextData=fp});var Ji=b(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.environment=Tr.isZuploReadableEnvVariableName=Tr.isRestrictedEnvVariableName=void 0;var CA=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Xy(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!CA.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(Xy,"isRestrictedEnvVariableName");Tr.isRestrictedEnvVariableName=Xy;function eb(t){return!!t.startsWith("ZUPLO_")}o(eb,"isZuploReadableEnvVariableName");Tr.isZuploReadableEnvVariableName=eb;var xA=new Proxy({},{get(t,e){if(Xy(String(e))&&!eb(String(e)))return;let r=globalThis,n;return r.process?n=r.process.env[e]:n=r[e],n}});Tr.environment=xA});var mp=b(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.externalServiceHandler=Hn.externalServiceTunnelConfig=void 0;var LA=Fr(),Qr=k(),DA=gp(),zi=ie(),Et=(0,LA.debug)("zuplo:runtime:external-service");function rb(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=zi.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(rb,"getServiceAuth");async function MA(t){let e=rb();if(!e)throw Et("There is no external service auth configured for this zup."),new Qr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw Et("Cannot call external service with Request object"),new Qr.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(zi.Environment.instance.useSha256ServiceRouting){Et("Using sha256 service routing");let a=zi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await nb(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw Et("Cannot use sha256 service routing, missing build variables"),new Qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(MA,"externalServiceTunnelConfig");Hn.externalServiceTunnelConfig=MA;async function UA(t,e){let r=rb();if(r)if(Et(`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(zi.Environment.instance.useSha256ServiceRouting){Et("Using sha256 service routing");let d=zi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await nb(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw Et("Cannot use sha256 service routing, missing build variables"),new Qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);Et(`Calling external service: ${u.toString()}`);let l=await(0,DA.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 Qr.RuntimeError("Could not connect to secure tunnel.");return l}else throw Et("Cannot call external service with Request object"),new Qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw Et("There is no external service auth configured for this zup."),new Qr.RuntimeError("There are no external services configured for this zup.")}o(UA,"externalServiceHandler");Hn.externalServiceHandler=UA;async function nb(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=kA(n);Et(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await tb(`${s}-${i}`),l=await tb(`${s}-${a}-${c}`);return`${u}.${l}`}o(nb,"hashServiceName");async function tb(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(tb,"hashSegment");function kA(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(kA,"sanitizeEnvironmentType")});var gp=b(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.originalFetch=void 0;var FA=mp(),ib=new Map;ib.set("service:",FA.externalServiceHandler);qn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=HA(e);if(typeof t=="string"){let n=new URL(t),i=ib.get(n.protocol);return i?i(t,r):(0,qn.originalFetch)(t,r)}else return(0,qn.originalFetch)(t,r)};var HA=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 ab=b($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.Handler=$n.purgeGatewayCache=void 0;var qA=k(),sb=Hr(),ob=ie(),$A=o(()=>{sb.Gateway.purgeGatewayCache()},"purgeGatewayCache");$n.purgeGatewayCache=$A;var yp=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeLoader=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{ob.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await sb.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof qA.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:ob.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};$n.Handler=yp});var db=b(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.pathToRegexp=Ue.tokensToRegexp=Ue.regexpToFunction=Ue.match=Ue.tokensToFunction=Ue.compile=Ue.parse=void 0;function jA(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(jA,"lexer");function bp(t,e){e===void 0&&(e={});for(var r=jA(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(jn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(w){if(u<r.length&&r[u].type===w)return r[u++].value},"tryConsume"),p=o(function(w){var v=d(w);if(v!==void 0)return v;var C=r[u],E=C.type,P=C.index;throw new TypeError("Unexpected ".concat(E," at ").concat(P,", expected ").concat(w))},"mustConsume"),f=o(function(){for(var w="",v;v=d("CHAR")||d("ESCAPED_CHAR");)w+=v;return w},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:T,suffix:"",pattern:_||s,modifier:d("MODIFIER")||""});continue}var A=h||d("ESCAPED_CHAR");if(A){l+=A;continue}l&&(a.push(l),l="");var y=d("OPEN");if(y){var T=f(),S=d("NAME")||"",O=d("PATTERN")||"",V=f();p("CLOSE"),a.push({name:S||(O?c++:""),pattern:S&&!O?s:O,prefix:T,suffix:V,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(bp,"parse");Ue.parse=bp;function VA(t,e){return cb(bp(t,e),e)}o(VA,"compile");Ue.compile=VA;function cb(t,e){e===void 0&&(e={});var r=_p(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 f=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(f)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(f.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<f.length;_++){var T=i(f[_],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 f=="string"||typeof f=="number"){var T=i(String(f),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var A=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(A))}}return l}}o(cb,"tokensToFunction");Ue.tokensToFunction=cb;function BA(t,e){var r=[],n=Ep(t,r,e);return ub(n,r,e)}o(BA,"match");Ue.match=BA;function ub(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(f){if(a[f]===void 0)return"continue";var h=e[f-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[f].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[f],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(ub,"regexpToFunction");Ue.regexpToFunction=ub;function jn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(jn,"escapeString");function _p(t){return t&&t.sensitive?"":"i"}o(_p,"flags");function GA(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(GA,"regexpToRegexp");function KA(t,e,r){var n=t.map(function(i){return Ep(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),_p(r))}o(KA,"arrayToRegexp");function JA(t,e,r){return lb(bp(t,r),e,r)}o(JA,"stringToRegexp");function lb(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(P){return P}:l,p=r.delimiter,f=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(jn(g),"]|$"),T="[".concat(jn(f),"]"),A=a?"^":"",y=0,S=t;y<S.length;y++){var O=S[y];if(typeof O=="string")A+=jn(d(O));else{var V=jn(d(O.prefix)),w=jn(d(O.suffix));if(O.pattern)if(e&&e.push(O),V||w)if(O.modifier==="+"||O.modifier==="*"){var v=O.modifier==="*"?"?":"";A+="(?:".concat(V,"((?:").concat(O.pattern,")(?:").concat(w).concat(V,"(?:").concat(O.pattern,"))*)").concat(w,")").concat(v)}else A+="(?:".concat(V,"(").concat(O.pattern,")").concat(w,")").concat(O.modifier);else O.modifier==="+"||O.modifier==="*"?A+="((?:".concat(O.pattern,")").concat(O.modifier,")"):A+="(".concat(O.pattern,")").concat(O.modifier);else A+="(?:".concat(V).concat(w,")").concat(O.modifier)}}if(u)i||(A+="".concat(T,"?")),A+=r.endsWith?"(?=".concat(_,")"):"$";else{var C=t[t.length-1],E=typeof C=="string"?T.indexOf(C[C.length-1])>-1:C===void 0;i||(A+="(?:".concat(T,"(?=").concat(_,"))?")),E||(A+="(?=".concat(T,"|").concat(_,")"))}return new RegExp(A,_p(r))}o(lb,"tokensToRegexp");Ue.tokensToRegexp=lb;function Ep(t,e,r){return t instanceof RegExp?GA(t,e):Array.isArray(t)?KA(t,e,r):JA(t,e,r)}o(Ep,"pathToRegexp");Ue.pathToRegexp=Ep});var Sp=b(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.AwsV4Signer=Vn.AwsClient=void 0;var zA=Fr(),mb=k(),WA=(0,zA.debug)("zuplo:runtime"),vp=new TextEncoder,pb={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"},QA=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Tp=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 Ea(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){WA("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 mb.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};Vn.AwsClient=Tp;var Ea=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:f,appendSessionToken:h,allHeaders:g,singleEncode:_}){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,A;(!u||!l)&&([T,A]=YA(this.url,this.headers)),this.service=u||T||"",this.region=l||A||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=f,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let y=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"),y.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&y.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(O=>g||!QA.includes(O)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(O=>O+":"+(O==="host"?this.url.host:(this.headers.get(O)||"").replace(/\s+/g," "))).join(`
60
60
  `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!y.has("X-Amz-Expires")&&y.set("X-Amz-Expires","86400"),y.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),y.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),y.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,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=hb(this.encodedPath);let S=new Set;this.encodedSearch=[...this.url.searchParams].filter(([O])=>{if(!O)return!1;if(this.service==="s3"){if(S.has(O))return!1;S.add(O)}return!0}).map(O=>O.map(V=>hb(encodeURIComponent(V)))).sort(([O,V],[w,v])=>O<w?-1:O>w?1:V<v?-1:V>v?1:0).map(O=>O.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 Wi("AWS4"+this.secretAccessKey,e),s=await Wi(i,this.region),a=await Wi(s,this.service);n=await Wi(a,"aws4_request"),this.cache.set(r,n)}return wp(await Wi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,wp(await fb(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 mb.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=wp(await fb(this.body||""))}return e}};Vn.AwsV4Signer=Ea;async function Wi(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?vp.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,vp.encode(e))}o(Wi,"hmac");async function fb(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?vp.encode(t):t)}o(fb,"hash");function wp(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(wp,"buf2hex");function hb(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(hb,"encodeRfc3986");function QA(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 pb?[pb[s],a]:[s,a]}o(QA,"guessServiceRegion")});var gb=b(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.convertStringToUtf8Array=kt.convertUtf8ArrayToString=kt.base64Encode=kt.base64Decode=void 0;function YA(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(YA,"b64ToUint6");function ZA(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|=YA(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(ZA,"base64Decode");kt.base64Decode=ZA;function wa(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(wa,"uint6ToB64");function XA(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(wa(i>>>18&63),wa(i>>>12&63),wa(i>>>6&63),wa(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(XA,"base64Encode");kt.base64Encode=XA;function e0(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(e0,"convertUtf8ArrayToString");kt.convertUtf8ArrayToString=e0;function t0(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(t0,"convertStringToUtf8Array");kt.convertStringToUtf8Array=t0});var yb=b(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.toCLFDate=void 0;function Bn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(Bn,"numberToString");function r0(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=Bn(Math.floor(r/60)),s=Bn(r%60);return`${n}${i}${s}`}o(r0,"getCLFOffset");function n0(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=Bn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=Bn(t.getHours()),a=Bn(t.getMinutes()),c=Bn(t.getSeconds()),u=r0(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(n0,"toCLFDate");va.toCLFDate=n0});var Sb=b(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.getResponse=Sr.awsLambdaHandler=Sr.AwsLambdaHandlerExtensions=void 0;var i0=Fr(),bb=db(),Qi=k(),o0=Gt(),s0=Sp(),Eb=gb(),wb=yb(),_b=(0,i0.debug)("zuplo:runtime"),a0="X-Amzn-Trace-Id",c0="x-amzn-errortype",vb=[],u0=o(async(t,e,r)=>{let n=r;for await(let i of vb)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),Xe=class extends Qi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(a0)??void 0,this.errorType=r.get(c0)??void 0}};Sr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{vb.push(t)}};async function l0(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 Qi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Qi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Qi.ConfigurationError("region is not set in the handler options");if(!s)throw new Qi.ConfigurationError("functionName is not set in the handler options");let l=new s0.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(_b(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,f]=await f0(t,{binaryMediaTypes:u}),{options:h}=e.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=p0(t,e):g=await d0(t,e,{useAwsResourcePathStyle:c}),_b("Calling onSendingAwsLambdaEvent hook");let _=await u0(t,e,g);_.body=p,_.isBase64Encoded=f;let T=await l.fetch(d,{body:JSON.stringify(_)});try{return Tb(T)}catch(A){if(A instanceof Xe){let y=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&A.traceId?{AMZN_TRACE_ID_HEADER:A.traceId}:void 0;return o0.HttpProblems.internalServerError(t,e,void 0,y)}throw A}}o(l0,"awsLambdaHandler");Sr.awsLambdaHandler=l0;async function Tb(t){let e;try{e=await t.json()}catch{throw new Xe("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 Xe(e.message,t.headers):new Xe(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new Xe(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 Xe(`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 Xe(`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 Xe(`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 Xe("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new Xe("Response was set to base64 encoded but body was not a string",t.headers);n=(0,Eb.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 Xe(`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(Tb,"getResponse");Sr.getResponse=Tb;async function d0(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,wb.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:m0(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(d0,"buildEventVersion1");function p0(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,wb.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(p0,"buildEventVersion2");async function f0(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&&h0(e,i)){let s=await t.arrayBuffer();r=(0,Eb.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(f0,"getBodyResult");function h0(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(h0,"matchesContentType");function m0(t,e=!1){if(!e)return t;let r=(0,bb.parse)(t),n=(0,bb.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(m0,"getResourcePath")});var Kn=b(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.getHandlerUserLogFunction=Gn.logBadGatewayResponses=void 0;var g0=Ze(),y0=ie(),b0=[502,503,504];async function _0(t,e){if(b0.includes(t.status)){let r=g0.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(_0,"logBadGatewayResponses");Gn.logBadGatewayResponses=_0;var Ip;function E0(t){if(Ip===void 0){let r=y0.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Ip=r}return t.log[Ip]}o(E0,"getHandlerUserLogFunction");Gn.getHandlerUserLogFunction=E0});var Pb=b(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.openApiSpecHandler=void 0;var Ib=k(),w0=pe(),Pp=ie(),v0=Kn();async function T0(t,e){let r=Pp.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Pp.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Ib.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=S0(s);if(!a.isValid)throw new Ib.ConfigurationError(a.error);let c;Pp.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 w0.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,v0.logBadGatewayResponses)(l,e),l}o(T0,"openApiSpecHandler");Ta.openApiSpecHandler=T0;var S0=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 Ab=b(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.redirectHandler=void 0;var I0=k();async function P0(t,e){let r=e.route.handler.options;if(!r.location)throw new I0.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(P0,"redirectHandler");Sa.redirectHandler=P0});var Ob=b(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.urlForwardHandler=void 0;var A0=k(),Rb=Kn();function R0(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(R0,"join");async function O0(t,e){let r=(0,Rb.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 A0.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=R0(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}),f=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${f}ms`),(0,Rb.logBadGatewayResponses)(p,e),p}o(O0,"urlForwardHandler");Ia.urlForwardHandler=O0});var Cb=b(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.urlRewriteHandler=void 0;var N0=k(),Nb=Kn(),C0=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 x0(t,e){let r=(0,Nb.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new N0.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?C0(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,Nb.logBadGatewayResponses)(d,e),d}o(x0,"urlRewriteHandler");Pa.urlRewriteHandler=x0});var Lb=b(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.webSocketHandler=void 0;var xb=k(),L0=mp(),D0=Gt(),M0=ie(),U0=Kn();async function k0(t,e){let r=M0.Environment.instance,n=e.route.handler.options,i=(0,U0.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new xb.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return D0.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new xb.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 h=await(0,L0.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let f=JSON.stringify({url:c});return new Response(f,{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(),f=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(f)}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(k0,"webSocketHandler");Aa.webSocketHandler=k0});var Db=b(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.webSocketPolicyProcessor=Jn.getWebSocketPolicyFunctions=void 0;var F0=k(),H0=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 F0.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Jn.getWebSocketPolicyFunctions=H0;var q0=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");Jn.webSocketPolicyProcessor=q0});var Ub=b(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.webSocketPipelineHandler=void 0;var Ap=k(),$0=Gt(),j0=ie(),V0=Kn(),Rp=Db();function Mb(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{let c=o(async u=>{let l=await(0,Rp.webSocketPolicyProcessor)(u,t,e,r,n,i);l!==void 0&&e.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(Mb,"wireUpListeners");async function B0(t,e){let r=j0.Environment.instance,n=e.route.handler.options,i=(0,V0.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new Ap.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return $0.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Ap.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 Ap.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 A=await l.text(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${A}'`;throw new Error(y)}let d=new WebSocketPair,[p,f]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),f.accept();let _=n.policies&&n.policies.inbound?(0,Rp.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Rp.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Mb(f,g,t,e,_),Mb(g,f,t,e,T),new Response(null,{status:101,webSocket:p})}o(B0,"webSocketPipelineHandler");Ra.webSocketPipelineHandler=B0});var kb=b(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.DynaTraceLoggingPlugin=void 0;var G0=Pe(),Op=ie(),K0=Gr(),J0=Jt(),z0=Nt(),Np=class extends J0.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Cp(this.options)}};Oa.DynaTraceLoggingPlugin=Np;var Cp=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.apiToken,this.#n=Op.Environment.instance.loggingEnvironmentType,this.#i=Op.Environment.instance.loggingEnvironmentStage,this.#r=Op.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,z0.stringifyNonString)((0,K0.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 G0.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Fb=b(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.LokiLoggingPlugin=void 0;var W0=Pe(),xp=ie(),Q0=Gr(),Y0=Jt(),Z0=Nt(),Lp=class extends Y0.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Mp(this.options)}};Na.LokiLoggingPlugin=Lp;var Dp=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 X0(t,e){return btoa(`${t}:${e}`)}o(X0,"createBasicDigest");var Mp=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=X0(e.username,e.password),this.#n=xp.Environment.instance.loggingEnvironmentType,this.#i=xp.Environment.instance.loggingEnvironmentStage,this.#r=xp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n=new Dp(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,Z0.stringifyNonString)((0,Q0.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 W0.BatchDispatch("loki-log-transport",10,this.#s)}});var Hb=b(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.SumoLogicLoggingPlugin=void 0;var eR=Pe(),Up=ie(),tR=Gr(),rR=Jt(),nR=Nt(),kp=class extends rR.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Fp(this.options)}};Ca.SumoLogicLoggingPlugin=kp;var Fp=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=Up.Environment.instance.loggingEnvironmentType,this.#n=Up.Environment.instance.loggingEnvironmentStage,this.#t=Up.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,nR.stringifyNonString)((0,tR.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 eR.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var $b=b(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.VMWareLogInsightTransport=zn.VMWareLogInsightLoggingPlugin=void 0;var iR=k(),oR=Pe(),Hp=ie(),sR=Jt(),qb=Nt(),aR="d3a5b78f823648f5b1df4fe269d41172",qp=class extends sR.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new xa(this.options)}};zn.VMWareLogInsightLoggingPlugin=qp;var xa=class{static{o(this,"VMWareLogInsightTransport")}constructor(e){let r;try{r=new URL(e.url),r.pathname==="/"&&(r.pathname=`/api/v1/events/ingest/${e.agentId??aR}`)}catch{throw new iR.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${e.url}'`)}this.#e=r.toString(),this.#n=Hp.Environment.instance.loggingEnvironmentType,this.#i=Hp.Environment.instance.loggingEnvironmentStage,this.#r=Hp.Environment.instance.deploymentName,this.#o=e.onMessageSending,this.#t=e.textReplacements,e.fields&&(this.#s=Object.entries(e.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;#s;log(e,r){let n=this.buildEntry(e,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(e,r){let n=(0,qb.messagesToMultilineText)(e.messages);this.#t?.forEach(s=>{n=n.replaceAll(s[0],s[1])});let i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:e.level.toUpperCase()},{name:"request_id",content:e.requestId},{name:"environment_type",content:this.#n},{name:"environment_stage",content:this.#i},{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.#r&&i.fields.push({name:"environment",content:this.#r}),this.#s&&i.fields.push(...this.#s),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,qb.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#o&&(i=this.#o(i)),i}#a=async e=>{if(e.length===0)return;let r=await fetch(this.#e,{method:"POST",body:JSON.stringify({events: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 oR.BatchDispatch("vmware-log-insights-log-transport",10,this.#a)};zn.VMWareLogInsightTransport=xa});var Vb=b(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.AWSLogTransport=Wn.AWSLoggingPlugin=void 0;var cR=Sp(),uR=Pe(),jb=ie(),lR=Gr(),dR=Jt(),pR=Nt(),$p=class extends dR.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new La(this.options)}};Wn.AWSLoggingPlugin=$p;var La=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new uR.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 cR.AwsClient({accessKeyId:e,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=jb.Environment.instance.loggingEnvironmentType,this.environment=jb.Environment.instance.deploymentName}log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,pR.stringifyNonString)((0,lR.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())}};Wn.AWSLogTransport=La});var Bb=b(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.AWSLoggingPlugin=ke.VMWareLogInsightLoggingPlugin=ke.SumoLogicLoggingPlugin=ke.LokiLoggingPlugin=ke.GoogleCloudLoggingPlugin=ke.DynaTraceLoggingPlugin=ke.DataDogLoggingPlugin=void 0;var fR=Wd();Object.defineProperty(ke,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return fR.DataDogLoggingPlugin}});var hR=kb();Object.defineProperty(ke,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return hR.DynaTraceLoggingPlugin}});var mR=na();Object.defineProperty(ke,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return mR.GoogleCloudLoggingPlugin}});var gR=Fb();Object.defineProperty(ke,"LokiLoggingPlugin",{enumerable:!0,get:function(){return gR.LokiLoggingPlugin}});var yR=Hb();Object.defineProperty(ke,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return yR.SumoLogicLoggingPlugin}});var bR=$b();Object.defineProperty(ke,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return bR.VMWareLogInsightLoggingPlugin}});var _R=Vb();Object.defineProperty(ke,"AWSLoggingPlugin",{enumerable:!0,get:function(){return _R.AWSLoggingPlugin}})});var Gb=b(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DataDogMetricsError=Ir.DataDogMetricsTransport=Ir.DataDogMetricsPlugin=void 0;var ER=Ze(),wR=Pe(),vR=Zo(),jp=new WeakMap,TR={tags:[]},Vp=class extends vR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Da(this.options)}static setContext(e,r){let n=jp.get(e);n||(n=TR);let i=Object.assign({...n},r);jp.set(e,i)}};Ir.DataDogMetricsPlugin=Vp;var Da=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 wR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,ER.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()/1e3),i=this.#n.concat(jp.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 Ma(await n.text())}};Ir.DataDogMetricsTransport=Da;var Ma=class t extends Error{static{o(this,"DataDogMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Ir.DataDogMetricsError=Ma});var Kb=b(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.DynaTraceMetricsError=Pr.DynaTraceMetricsTransport=Pr.DynatraceMetricsPlugin=void 0;var SR=Ze(),IR=Pe(),PR=Zo(),Bp=new WeakMap,AR={dimensions:[]},Gp=class extends PR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ua(this.options)}static setContext(e,r){let n=Bp.get(e);n||(n=AR);let i=Object.assign({...n},r);Bp.set(e,i)}};Pr.DynatraceMetricsPlugin=Gp;var Ua=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 IR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,SR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()),i=this.dimensions.concat(Bp.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 ka(await n.text())}};Pr.DynaTraceMetricsTransport=Ua;var ka=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Pr.DynaTraceMetricsError=ka});var Jb=b(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.DynatraceMetricsPlugin=Qn.DataDogMetricsPlugin=void 0;var RR=Gb();Object.defineProperty(Qn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return RR.DataDogMetricsPlugin}});var OR=Kb();Object.defineProperty(Qn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return OR.DynatraceMetricsPlugin}})});var zb=b(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.AuditLogDataStaxProvider=void 0;var Kp=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)})}))}};Fa.AuditLogDataStaxProvider=Kp});var Qb=b(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.AuditLogPlugin=void 0;var NR=Rt(),CR=Pe(),Jp=class extends NR.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new zp(e,this.#e,this.#t)}};Ha.AuditLogPlugin=Jp;var Wb=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),xR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},zp=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...xR};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 CR.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?Wb(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?Wb(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(f=>{r.log.error(f)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var Yb=b(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.StripeSignatureVerificationError=Yn.StripeError=void 0;var qa=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(e={}){super(e.message),this.type=this.constructor.name,this.raw=e,this.rawType=e.type,this.code=e.code,this.doc_url=e.doc_url,this.param=e.param,this.detail=e.detail,this.headers=e.headers,this.requestId=e.requestId,this.statusCode=e.statusCode,this.message=e.message,this.charge=e.charge,this.decline_code=e.decline_code,this.payment_intent=e.payment_intent,this.payment_method=e.payment_method,this.payment_method_type=e.payment_method_type,this.setup_intent=e.setup_intent,this.source=e.source}};Yn.StripeError=qa;var Wp=class extends qa{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(e,r,n={}){super(n),this.header=e,this.payload=r}};Yn.StripeSignatureVerificationError=Wp});var Xb=b(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.computeHMACSignatureAsync=Zn.constructEventAsync=void 0;var Yr=Yb(),LR="v1",DR=300;async function MR(t,e,r,n=DR,i){return await kR(t,e,r,n,i),t instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(t)):JSON.parse(t)}o(MR,"constructEventAsync");Zn.constructEventAsync=MR;function UR(t,e){return`${e.timestamp}.${t}`}o(UR,"makeHMACContent");async function kR(t,e,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=FR(t,e,LR),l=/\s/.test(r),d=await Zb(UR(a,c),r);return HR(a,s,c,d,n,u,l,i)}o(kR,"verifyHeaderAsync");function FR(t,e,r){if(!t)throw new Yr.StripeSignatureVerificationError(e,t,{message:"No webhook payload was provided."});let n=typeof t!="string"&&!(t instanceof Uint8Array),i=new TextDecoder("utf8"),s=t instanceof Uint8Array?i.decode(t):t;if(Array.isArray(e))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(e==null||e=="")throw new Yr.StripeSignatureVerificationError(e,t,{message:"No stripe-signature header value was provided."});let a=e instanceof Uint8Array?i.decode(e):e,c=qR(a,r);if(!c||c.timestamp===-1)throw new Yr.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Yr.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o(FR,"parseEventDetails");function HR(t,e,r,n,i,s,a,c){let u=!!r.signatures.filter(f=>$R(f,n)).length,l=`
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 mb.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=wp(await fb(this.body||""))}return e}};Vn.AwsV4Signer=Ea;async function Wi(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?vp.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,vp.encode(e))}o(Wi,"hmac");async function fb(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?vp.encode(t):t)}o(fb,"hash");function wp(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(wp,"buf2hex");function hb(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(hb,"encodeRfc3986");function YA(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 pb?[pb[s],a]:[s,a]}o(YA,"guessServiceRegion")});var gb=b(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.convertStringToUtf8Array=kt.convertUtf8ArrayToString=kt.base64Encode=kt.base64Decode=void 0;function ZA(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(ZA,"b64ToUint6");function XA(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|=ZA(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(XA,"base64Decode");kt.base64Decode=XA;function wa(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(wa,"uint6ToB64");function e0(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(wa(i>>>18&63),wa(i>>>12&63),wa(i>>>6&63),wa(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(e0,"base64Encode");kt.base64Encode=e0;function t0(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(t0,"convertUtf8ArrayToString");kt.convertUtf8ArrayToString=t0;function r0(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(r0,"convertStringToUtf8Array");kt.convertStringToUtf8Array=r0});var yb=b(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.toCLFDate=void 0;function Bn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(Bn,"numberToString");function n0(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=Bn(Math.floor(r/60)),s=Bn(r%60);return`${n}${i}${s}`}o(n0,"getCLFOffset");function i0(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=Bn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=Bn(t.getHours()),a=Bn(t.getMinutes()),c=Bn(t.getSeconds()),u=n0(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(i0,"toCLFDate");va.toCLFDate=i0});var Sb=b(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.getResponse=Sr.awsLambdaHandler=Sr.AwsLambdaHandlerExtensions=void 0;var o0=Fr(),bb=db(),Qi=k(),s0=Gt(),a0=Sp(),Eb=gb(),wb=yb(),_b=(0,o0.debug)("zuplo:runtime"),c0="X-Amzn-Trace-Id",u0="x-amzn-errortype",vb=[],l0=o(async(t,e,r)=>{let n=r;for await(let i of vb)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),Xe=class extends Qi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(c0)??void 0,this.errorType=r.get(u0)??void 0}};Sr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{vb.push(t)}};async function d0(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 Qi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Qi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Qi.ConfigurationError("region is not set in the handler options");if(!s)throw new Qi.ConfigurationError("functionName is not set in the handler options");let l=new a0.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(_b(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,f]=await h0(t,{binaryMediaTypes:u}),{options:h}=e.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=f0(t,e):g=await p0(t,e,{useAwsResourcePathStyle:c}),_b("Calling onSendingAwsLambdaEvent hook");let _=await l0(t,e,g);_.body=p,_.isBase64Encoded=f;let T=await l.fetch(d,{body:JSON.stringify(_)});try{return Tb(T)}catch(A){if(A instanceof Xe){let y=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&A.traceId?{AMZN_TRACE_ID_HEADER:A.traceId}:void 0;return s0.HttpProblems.internalServerError(t,e,void 0,y)}throw A}}o(d0,"awsLambdaHandler");Sr.awsLambdaHandler=d0;async function Tb(t){let e;try{e=await t.json()}catch{throw new Xe("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 Xe(e.message,t.headers):new Xe(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new Xe(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 Xe(`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 Xe(`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 Xe(`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 Xe("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new Xe("Response was set to base64 encoded but body was not a string",t.headers);n=(0,Eb.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 Xe(`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(Tb,"getResponse");Sr.getResponse=Tb;async function p0(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,wb.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:g0(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(p0,"buildEventVersion1");function f0(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,wb.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(f0,"buildEventVersion2");async function h0(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&&m0(e,i)){let s=await t.arrayBuffer();r=(0,Eb.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(h0,"getBodyResult");function m0(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(m0,"matchesContentType");function g0(t,e=!1){if(!e)return t;let r=(0,bb.parse)(t),n=(0,bb.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(g0,"getResourcePath")});var Kn=b(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.getHandlerUserLogFunction=Gn.logBadGatewayResponses=void 0;var y0=Ze(),b0=ie(),_0=[502,503,504];async function E0(t,e){if(_0.includes(t.status)){let r=y0.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(E0,"logBadGatewayResponses");Gn.logBadGatewayResponses=E0;var Ip;function w0(t){if(Ip===void 0){let r=b0.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Ip=r}return t.log[Ip]}o(w0,"getHandlerUserLogFunction");Gn.getHandlerUserLogFunction=w0});var Pb=b(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.openApiSpecHandler=void 0;var Ib=k(),v0=pe(),Pp=ie(),T0=Kn();async function S0(t,e){let r=Pp.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Pp.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Ib.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=I0(s);if(!a.isValid)throw new Ib.ConfigurationError(a.error);let c;Pp.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 v0.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,T0.logBadGatewayResponses)(l,e),l}o(S0,"openApiSpecHandler");Ta.openApiSpecHandler=S0;var I0=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 Ab=b(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.redirectHandler=void 0;var P0=k();async function A0(t,e){let r=e.route.handler.options;if(!r.location)throw new P0.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(A0,"redirectHandler");Sa.redirectHandler=A0});var Ob=b(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.urlForwardHandler=void 0;var R0=k(),Rb=Kn();function O0(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(O0,"join");async function N0(t,e){let r=(0,Rb.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 R0.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=O0(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}),f=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${f}ms`),(0,Rb.logBadGatewayResponses)(p,e),p}o(N0,"urlForwardHandler");Ia.urlForwardHandler=N0});var Cb=b(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.urlRewriteHandler=void 0;var C0=k(),Nb=Kn(),x0=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 L0(t,e){let r=(0,Nb.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new C0.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?x0(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,Nb.logBadGatewayResponses)(d,e),d}o(L0,"urlRewriteHandler");Pa.urlRewriteHandler=L0});var Lb=b(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.webSocketHandler=void 0;var xb=k(),D0=mp(),M0=Gt(),U0=ie(),k0=Kn();async function F0(t,e){let r=U0.Environment.instance,n=e.route.handler.options,i=(0,k0.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new xb.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return M0.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new xb.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 h=await(0,D0.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let f=JSON.stringify({url:c});return new Response(f,{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(),f=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(f)}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(F0,"webSocketHandler");Aa.webSocketHandler=F0});var Db=b(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.webSocketPolicyProcessor=Jn.getWebSocketPolicyFunctions=void 0;var H0=k(),q0=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 H0.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Jn.getWebSocketPolicyFunctions=q0;var $0=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");Jn.webSocketPolicyProcessor=$0});var Ub=b(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.webSocketPipelineHandler=void 0;var Ap=k(),j0=Gt(),V0=ie(),B0=Kn(),Rp=Db();function Mb(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{let c=o(async u=>{let l=await(0,Rp.webSocketPolicyProcessor)(u,t,e,r,n,i);l!==void 0&&e.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(Mb,"wireUpListeners");async function G0(t,e){let r=V0.Environment.instance,n=e.route.handler.options,i=(0,B0.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new Ap.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return j0.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Ap.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 Ap.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 A=await l.text(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${A}'`;throw new Error(y)}let d=new WebSocketPair,[p,f]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),f.accept();let _=n.policies&&n.policies.inbound?(0,Rp.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Rp.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Mb(f,g,t,e,_),Mb(g,f,t,e,T),new Response(null,{status:101,webSocket:p})}o(G0,"webSocketPipelineHandler");Ra.webSocketPipelineHandler=G0});var kb=b(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.DynaTraceLoggingPlugin=void 0;var K0=Pe(),Op=ie(),J0=Gr(),z0=Jt(),W0=Nt(),Np=class extends z0.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Cp(this.options)}};Oa.DynaTraceLoggingPlugin=Np;var Cp=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.apiToken,this.#n=Op.Environment.instance.loggingEnvironmentType,this.#i=Op.Environment.instance.loggingEnvironmentStage,this.#r=Op.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,W0.stringifyNonString)((0,J0.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 K0.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Fb=b(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.LokiLoggingPlugin=void 0;var Q0=Pe(),xp=ie(),Y0=Gr(),Z0=Jt(),X0=Nt(),Lp=class extends Z0.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Mp(this.options)}};Na.LokiLoggingPlugin=Lp;var Dp=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 eR(t,e){return btoa(`${t}:${e}`)}o(eR,"createBasicDigest");var Mp=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=eR(e.username,e.password),this.#n=xp.Environment.instance.loggingEnvironmentType,this.#i=xp.Environment.instance.loggingEnvironmentStage,this.#r=xp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n=new Dp(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,X0.stringifyNonString)((0,Y0.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 Q0.BatchDispatch("loki-log-transport",10,this.#s)}});var Hb=b(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.SumoLogicLoggingPlugin=void 0;var tR=Pe(),Up=ie(),rR=Gr(),nR=Jt(),iR=Nt(),kp=class extends nR.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Fp(this.options)}};Ca.SumoLogicLoggingPlugin=kp;var Fp=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=Up.Environment.instance.loggingEnvironmentType,this.#n=Up.Environment.instance.loggingEnvironmentStage,this.#t=Up.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,iR.stringifyNonString)((0,rR.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 tR.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var $b=b(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.VMWareLogInsightTransport=zn.VMWareLogInsightLoggingPlugin=void 0;var oR=k(),sR=Pe(),Hp=ie(),aR=Jt(),qb=Nt(),cR="d3a5b78f823648f5b1df4fe269d41172",qp=class extends aR.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new xa(this.options)}};zn.VMWareLogInsightLoggingPlugin=qp;var xa=class{static{o(this,"VMWareLogInsightTransport")}constructor(e){let r;try{r=new URL(e.url),r.pathname==="/"&&(r.pathname=`/api/v1/events/ingest/${e.agentId??cR}`)}catch{throw new oR.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${e.url}'`)}this.#e=r.toString(),this.#n=Hp.Environment.instance.loggingEnvironmentType,this.#i=Hp.Environment.instance.loggingEnvironmentStage,this.#r=Hp.Environment.instance.deploymentName,this.#o=e.onMessageSending,this.#t=e.textReplacements,e.fields&&(this.#s=Object.entries(e.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;#s;log(e,r){let n=this.buildEntry(e,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(e,r){let n=(0,qb.messagesToMultilineText)(e.messages);this.#t?.forEach(s=>{n=n.replaceAll(s[0],s[1])});let i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:e.level.toUpperCase()},{name:"request_id",content:e.requestId},{name:"environment_type",content:this.#n},{name:"environment_stage",content:this.#i},{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.#r&&i.fields.push({name:"environment",content:this.#r}),this.#s&&i.fields.push(...this.#s),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,qb.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#o&&(i=this.#o(i)),i}#a=async e=>{if(e.length===0)return;let r=await fetch(this.#e,{method:"POST",body:JSON.stringify({events: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 sR.BatchDispatch("vmware-log-insights-log-transport",10,this.#a)};zn.VMWareLogInsightTransport=xa});var Vb=b(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.AWSLogTransport=Wn.AWSLoggingPlugin=void 0;var uR=Sp(),lR=Pe(),jb=ie(),dR=Gr(),pR=Jt(),fR=Nt(),$p=class extends pR.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new La(this.options)}};Wn.AWSLoggingPlugin=$p;var La=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new lR.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 uR.AwsClient({accessKeyId:e,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=jb.Environment.instance.loggingEnvironmentType,this.environment=jb.Environment.instance.deploymentName}log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,fR.stringifyNonString)((0,dR.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())}};Wn.AWSLogTransport=La});var Bb=b(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.AWSLoggingPlugin=ke.VMWareLogInsightLoggingPlugin=ke.SumoLogicLoggingPlugin=ke.LokiLoggingPlugin=ke.GoogleCloudLoggingPlugin=ke.DynaTraceLoggingPlugin=ke.DataDogLoggingPlugin=void 0;var hR=Wd();Object.defineProperty(ke,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return hR.DataDogLoggingPlugin}});var mR=kb();Object.defineProperty(ke,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return mR.DynaTraceLoggingPlugin}});var gR=na();Object.defineProperty(ke,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return gR.GoogleCloudLoggingPlugin}});var yR=Fb();Object.defineProperty(ke,"LokiLoggingPlugin",{enumerable:!0,get:function(){return yR.LokiLoggingPlugin}});var bR=Hb();Object.defineProperty(ke,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return bR.SumoLogicLoggingPlugin}});var _R=$b();Object.defineProperty(ke,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return _R.VMWareLogInsightLoggingPlugin}});var ER=Vb();Object.defineProperty(ke,"AWSLoggingPlugin",{enumerable:!0,get:function(){return ER.AWSLoggingPlugin}})});var Gb=b(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DataDogMetricsError=Ir.DataDogMetricsTransport=Ir.DataDogMetricsPlugin=void 0;var wR=Ze(),vR=Pe(),TR=Zo(),jp=new WeakMap,SR={tags:[]},Vp=class extends TR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Da(this.options)}static setContext(e,r){let n=jp.get(e);n||(n=SR);let i=Object.assign({...n},r);jp.set(e,i)}};Ir.DataDogMetricsPlugin=Vp;var Da=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 vR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,wR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()/1e3),i=this.#n.concat(jp.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 Ma(await n.text())}};Ir.DataDogMetricsTransport=Da;var Ma=class t extends Error{static{o(this,"DataDogMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Ir.DataDogMetricsError=Ma});var Kb=b(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.DynaTraceMetricsError=Pr.DynaTraceMetricsTransport=Pr.DynatraceMetricsPlugin=void 0;var IR=Ze(),PR=Pe(),AR=Zo(),Bp=new WeakMap,RR={dimensions:[]},Gp=class extends AR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ua(this.options)}static setContext(e,r){let n=Bp.get(e);n||(n=RR);let i=Object.assign({...n},r);Bp.set(e,i)}};Pr.DynatraceMetricsPlugin=Gp;var Ua=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 PR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,IR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()),i=this.dimensions.concat(Bp.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 ka(await n.text())}};Pr.DynaTraceMetricsTransport=Ua;var ka=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Pr.DynaTraceMetricsError=ka});var Jb=b(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.DynatraceMetricsPlugin=Qn.DataDogMetricsPlugin=void 0;var OR=Gb();Object.defineProperty(Qn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return OR.DataDogMetricsPlugin}});var NR=Kb();Object.defineProperty(Qn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return NR.DynatraceMetricsPlugin}})});var zb=b(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.AuditLogDataStaxProvider=void 0;var Kp=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)})}))}};Fa.AuditLogDataStaxProvider=Kp});var Qb=b(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.AuditLogPlugin=void 0;var CR=Rt(),xR=Pe(),Jp=class extends CR.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new zp(e,this.#e,this.#t)}};Ha.AuditLogPlugin=Jp;var Wb=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),LR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},zp=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...LR};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 xR.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?Wb(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?Wb(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(f=>{r.log.error(f)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var Yb=b(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.StripeSignatureVerificationError=Yn.StripeError=void 0;var qa=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(e={}){super(e.message),this.type=this.constructor.name,this.raw=e,this.rawType=e.type,this.code=e.code,this.doc_url=e.doc_url,this.param=e.param,this.detail=e.detail,this.headers=e.headers,this.requestId=e.requestId,this.statusCode=e.statusCode,this.message=e.message,this.charge=e.charge,this.decline_code=e.decline_code,this.payment_intent=e.payment_intent,this.payment_method=e.payment_method,this.payment_method_type=e.payment_method_type,this.setup_intent=e.setup_intent,this.source=e.source}};Yn.StripeError=qa;var Wp=class extends qa{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(e,r,n={}){super(n),this.header=e,this.payload=r}};Yn.StripeSignatureVerificationError=Wp});var Xb=b(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.computeHMACSignatureAsync=Zn.constructEventAsync=void 0;var Yr=Yb(),DR="v1",MR=300;async function UR(t,e,r,n=MR,i){return await FR(t,e,r,n,i),t instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(t)):JSON.parse(t)}o(UR,"constructEventAsync");Zn.constructEventAsync=UR;function kR(t,e){return`${e.timestamp}.${t}`}o(kR,"makeHMACContent");async function FR(t,e,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=HR(t,e,DR),l=/\s/.test(r),d=await Zb(kR(a,c),r);return qR(a,s,c,d,n,u,l,i)}o(FR,"verifyHeaderAsync");function HR(t,e,r){if(!t)throw new Yr.StripeSignatureVerificationError(e,t,{message:"No webhook payload was provided."});let n=typeof t!="string"&&!(t instanceof Uint8Array),i=new TextDecoder("utf8"),s=t instanceof Uint8Array?i.decode(t):t;if(Array.isArray(e))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(e==null||e=="")throw new Yr.StripeSignatureVerificationError(e,t,{message:"No stripe-signature header value was provided."});let a=e instanceof Uint8Array?i.decode(e):e,c=$R(a,r);if(!c||c.timestamp===-1)throw new Yr.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Yr.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o(HR,"parseEventDetails");function qR(t,e,r,n,i,s,a,c){let u=!!r.signatures.filter(f=>jR(f,n)).length,l=`
66
66
  Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
67
67
 
68
68
  Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new Yr.StripeSignatureVerificationError(e,t,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
@@ -71,23 +71,23 @@ Signature verification is impossible without access to the original signed mater
71
71
  `+d}):new Yr.StripeSignatureVerificationError(e,t,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
72
72
  If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
73
73
  `+l+`
74
- `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Yr.StripeSignatureVerificationError(e,t,{message:"Timestamp outside the tolerance zone"});return!0}o(HR,"validateComputedSignature");function qR(t,e){return typeof t!="string"?null:t.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===e&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(qR,"parseHeader");function $R(t,e){if(t.length!==e.length)return!1;let r=t.length,n=0;for(let i=0;i<r;++i)n|=t.charCodeAt(i)^e.charCodeAt(i);return n===0}o($R,"secureCompare");async function Zb(t,e){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(t)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=Qp[s[c]];return a.join("")}o(Zb,"computeHMACSignatureAsync");Zn.computeHMACSignatureAsync=Zb;var Qp=new Array(256);for(let t=0;t<Qp.length;t++)Qp[t]=t.toString(16).padStart(2,"0")});var ut=b($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.optionValidator=void 0;var Xn=k(),jR=st();function VR(t,e,r="policy"){let n=`${r} '${e}'`;if(!(0,jR.isObject)(t))throw new Xn.ConfigurationError(`Options on ${n} is expected to be an object. Received the type '${typeof t}'.`);let i=o((c,u,l)=>{let d=t[c];if(!(l&&d===void 0)){if(d===void 0)throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(u==="array"&&Array.isArray(d))throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} must be an array. Received type ${typeof d}.`);if(typeof d!==u)throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} must be of type ${u}. Received type ${typeof d}.`);if(typeof d=="string"&&d.length===0)throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof d=="number"&&isNaN(d))throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),s=o((c,u)=>(i(c,u,!0),{optional:s,required:a}),"optional"),a=o((c,u)=>(i(c,u,!1),{optional:s,required:a}),"required");return{optional:s,required:a}}o(VR,"optionValidator");$a.optionValidator=VR});var Zp=b(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.StripeWebhookVerificationInboundPolicy=void 0;var BR=gn(),GR=pe(),KR=Xb(),JR=ut(),Yp=class extends BR.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(e,r){(0,JR.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=e.headers.get("stripe-signature");try{let i=await e.clone().text();await(0,KR.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){let s=i.message;if(i.type&&i.type==="StripeSignatureVerificationError"){let a=i.message,u=/Note:(.*)/g.exec(a);s=u?u[1].trim():a}return r.log.error("Error validating stripe webhook",s),GR.HttpProblems.badRequest(e,r,{title:"Webhook Error",detail:s})}return e}};ja.StripeWebhookVerificationInboundPolicy=Yp});var t_=b(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.isStripeWebhookEvent=void 0;var e_=st();function zR(t){return t!==null&&typeof t=="object"&&"id"in t&&(0,e_.isString)(t.id)&&"type"in t&&(0,e_.isString)(t.type)}o(zR,"isStripeWebhookEvent");Va.isStripeWebhookEvent=zR});var r_=b(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.MeteringPlugin=void 0;var WR=Rt(),Xp=class extends WR.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Ba.MeteringPlugin=Xp});var rf=b(tf=>{"use strict";Object.defineProperty(tf,"__esModule",{value:!0});var ef=k(),QR={getSubscription:async({subscriptionId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new ef.RuntimeError(s)}return i},getCustomer:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new ef.RuntimeError(s)}return i},getUpcomingInvoice:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/invoices/upcoming?customer=${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer upcoming invoice from Stripe API.";throw r.error(s,i),new ef.RuntimeError(s)}return i}};tf.default=QR});var n_=b(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.deleteConsumer=Ar.createConsumerInvite=Ar.createConsumer=void 0;var nf=k(),of=Ze(),sf=ie(),af=Dn(),cf="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function YR({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=sf.Environment.instance,u=new URL(`/v1/buckets/${t}/consumers`,cf);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,af.fetchRetry)({retryDelayMs:5,retries:2,logger:of.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),f=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,f),new nf.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:e,stripeProductId:r}),l}o(YR,"createConsumer");Ar.createConsumer=YR;async function ZR({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=sf.Environment.instance,c=new URL(`/v1/buckets/${t}/consumers`,cf);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,af.fetchRetry)({retryDelayMs:5,retries:2,logger:of.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let f="Error creating API Key Consumer";throw s.log.error(f,p),new nf.RuntimeError(f)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:e,stripeProductId:r}),u}o(ZR,"createConsumerInvite");Ar.createConsumerInvite=ZR;async function XR({apiKeyBucketName:t,consumerId:e,context:r}){let{authApiJWT:n}=sf.Environment.instance,i=new URL(`/v1/buckets/${t}/consumers/${e}`,cf);i.searchParams.set("with-api-key","true");let s=await(0,af.fetchRetry)({retryDelayMs:5,retries:2,logger:of.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new nf.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${e}`),e}o(XR,"deleteConsumer");Ar.deleteConsumer=XR});var Ga=b(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.getSubscription=Or.updateSubscription=Or.createSubscription=void 0;var Rr=k(),uf=Ze(),lf=ie(),df=Dn(),pf=st();async function eO({context:t,stripeSubscriptionId:e,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:e,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=lf.Environment.instance;if(!(0,pf.isNonEmptyString)(l))throw new Rr.SystemError("No Zuplo JWT token set.");let p=await(0,df.fetchRetry)({retryDelayMs:5,retries:2,logger:uf.SystemLogMap.getLogger(t)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let f="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw t.log.error(f,h),new Rr.RuntimeError(f)}t.log.info("Successfully created/updated metering subscription.",u)}o(eO,"createSubscription");Or.createSubscription=eO;async function tO({context:t,meteringSubscriptionId:e,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=lf.Environment.instance;if(!(0,pf.isNonEmptyString)(i))throw new Rr.SystemError("No Zuplo JWT token set.");let a=await(0,df.fetchRetry)({retryDelayMs:5,retries:2,logger:uf.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${r}/subscriptions/${e}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw t.log.error(c,u),new Rr.RuntimeError(c)}t.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(tO,"updateSubscription");Or.updateSubscription=tO;async function rO({context:t,stripeSubscriptionId:e,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=lf.Environment.instance;if(!(0,pf.isNonEmptyString)(i))throw new Rr.SystemError("No Zuplo JWT token set.");let a=await(0,df.fetchRetry)({retryDelayMs:5,retries:2,logger:uf.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${e}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":t.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw t.log.error(u,l),new Rr.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw t.log.error(u),new Rr.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw t.log.error(u),new Rr.RuntimeError(u)}return c.data[0]}o(rO,"getSubscription");Or.getSubscription=rO});var ff=b(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.stripeStatusToMeteringStatus=void 0;function nO(t){return t.replaceAll("_","-")}o(nO,"stripeStatusToMeteringStatus");Ka.stripeStatusToMeteringStatus=nO});var i_=b(Yi=>{"use strict";var iO=Yi&&Yi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yi,"__esModule",{value:!0});var Zr=pe(),oO=iO(rf()),hf=n_(),sO=Ga(),aO=ff();async function cO(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Zr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return e.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),Zr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Zr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,hf.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:e});else{let l=await oO.default.getCustomer({logger:e.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return e.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),Zr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,hf.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:e})}if(!u)return Zr.HttpProblems.internalServerError(t,e,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,aO.stripeStatusToMeteringStatus)(r.data.object.status);await(0,sO.createSubscription)({context:e,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,hf.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:e}),Zr.HttpProblems.internalServerError(t,e,{detail:l.message})}return Zr.HttpProblems.ok(t,e)}o(cO,"onCustomerSubscriptionCreated");Yi.default=cO});var s_=b(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});var mf=pe(),o_=Ga();async function uO(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),mf.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),mf.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,o_.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,o_.updateSubscription)({context:e,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),mf.HttpProblems.ok(t,e)}o(uO,"onCustomerSubscriptionDeleted");gf.default=uO});var a_=b(Xi=>{"use strict";var lO=Xi&&Xi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Xi,"__esModule",{value:!0});var Zi=pe(),dO=lO(rf()),Ja=Ga(),pO=ff();async function fO(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Zi.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Zi.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){e.log.debug(`Processing subscription status change from Stripe event '${r.id}'.`);let c=await(0,Ja.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,pO.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,Ja.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Zi.HttpProblems.ok(t,e)}if(a.plan&&a.plan.product!==r.data.object.plan.product){e.log.debug(`Processing subscription plan change from Stripe event '${r.id}'.`);let c=await(0,Ja.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=r.data.object.plan.product,d=(await dO.default.getUpcomingInvoice({customerId:s,logger:e.log,stripeSecretKey:n.stripeSecretKey})).lines.data.filter(f=>f.proration&&f.price.product===u),p=0;return d.length===0?e.log.warn(`The plan change does not include proration details. Subscription event '${r.id}'`):p=parseFloat(d[0].unit_amount_excluding_tax)/d[0].price.unit_amount,await(0,Ja.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[u],prorate:p}}),Zi.HttpProblems.ok(t,e)}}return e.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Zi.HttpProblems.badRequest(t,e,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(fO,"onCustomerSubscriptionUpdated");Xi.default=fO});var u_=b(ei=>{"use strict";var bf=ei&&ei.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ei,"__esModule",{value:!0});ei.StripeMonetizationPlugin=void 0;var za=Ji(),Wa=k(),hO=Bt(),mO=Zp(),c_=pe(),gO=ar(),yO=yn(),bO=bl(),_O=gt(),EO=ie(),wO=t_(),vO=ut(),TO=r_(),SO=bf(i_()),IO=bf(s_()),PO=bf(a_()),yf=class extends TO.MeteringPlugin{static{o(this,"StripeMonetizationPlugin")}options;constructor(e){super(),this.options=e}registerRoutes(e,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(za.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=za.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Wa.ConfigurationError("StripeMonetizationPlugin - No 'meteringBucketId' property provided");if(!d)if(za.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=za.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Wa.ConfigurationError("StripeMonetizationPlugin - No 'apiKeyBucketName' property provided");if(!EO.Environment.instance.build.ACCOUNT_NAME)throw new Wa.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!AO(p))throw new Wa.ConfigurationError(`StripeMonetizationPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let f=await c.json();if(!(0,wO.isStripeWebhookEvent)(f))return c_.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${f.type}' with ID '${f.id}'.`),f.type){case"customer.subscription.created":return await(0,SO.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,PO.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,IO.default)(c,u,f,{meteringBucketId:l});default:return c_.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe monetization plugin webhook."})}},"stripeWebhookHandler"),i=(0,yO.createInternalPolicyProcessor)({inboundPolicies:[new mO.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]});(0,vO.optionValidator)(this.options.webhooks,"StripeMonetizationPlugin","plugin").required("signingSecret","string").optional("tolerance","number");let s=new hO.Pipeline({processors:[gO.metricsProcessor,i],handler:n,gateway:r}),a=new _O.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:bO.SystemRouteName.StripePlugin});e.addRoute(a,s.execute)}};ei.StripeMonetizationPlugin=yf;function AO(t){return t!==null&&typeof t=="string"&&["us-central1","europe-west4"].includes(t)}o(AO,"isMetricsRegion")});var h_=b(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});ti.AmberfloMeteringInboundPolicy=ti.AmberfloMeteringPolicy=void 0;var l_=k(),RO=Pe(),d_=Kt(),f_=new WeakMap,p_={},_f=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){f_.set(e,r)}};ti.AmberfloMeteringPolicy=_f;async function OO(t,e,r,n){if(!r.statusCodes)throw new l_.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=(0,d_.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=f_.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new l_.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,d_.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)},f=p_[r.apiKey];if(!f){let h=r.apiKey,g=t.headers.get("zm-test-id")??"";f=new RO.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let T=r.url??"https://app.amberflo.io/ingest",A=await fetch(T,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});A.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${A.status}: ${await A.text()}`)}catch(T){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),p_[h]=f}f.enqueue(p),e.waitUntil(f.waitUntilFlushed())}}),t}o(OO,"AmberfloMeteringInboundPolicy");ti.AmberfloMeteringInboundPolicy=OO});var Ef=b(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.sha256=void 0;async function NO(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(NO,"sha256");Qa.sha256=NO});var Zt=b(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.getPolicyCacheName=void 0;var CO=Ef(),m_=new Map;async function xO(t,e){let r,n=m_.get(t);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,CO.sha256)(JSON.stringify({policyName:t,options:e}))}`,m_.set(t,r)),r}o(xO,"getPolicyCacheName");Ya.getPolicyCacheName=xO});var Tf=b(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.ApiKeyInboundPolicy=void 0;var LO=Zt(),DO=nr(),g_=Ji(),wf=k(),MO=Gt(),y_=Ze(),vf=ie(),UO=Dn(),b_="key-metadata-cache-type";function kO(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(kO,"getKeyValue");async function FO(t,e,r,n){if(!r.bucketName)if(g_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=g_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new wf.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 wf.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?t:MO.HttpProblems.unauthorized(t,e,{detail:T}),"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=kO(a,i);if(!c||c==="")return s("No key present");let u=await HO(c),l=await(0,LO.getPolicyCacheName)(n,i),d=new DO.MemoryZoneReadThroughCache(l,e),p=await d.get(u);if(p&&p.isValid===!0)return t.user=p.user,t;if(p&&!p.isValid)return p.typeId!==b_&&y_.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let f={key:c},h=await(0,UO.fetchRetry)({retryDelayMs:5,retries:2,logger:y_.SystemLogMap.getLogger(e)},`${vf.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":vf.Environment.instance.deploymentName??"unknown","User-Agent":vf.Environment.instance.systemUserAgent},body:JSON.stringify(f)});if(h.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),A=JSON.parse(T);e.log.error("Unexpected response from key service",A)}catch{e.log.error("Invalid response from key service")}throw new wf.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:b_,user:{sub:g.name,data:g.metadata}};return t.user=_.user,d.put(u,_,i.cacheTtlSeconds),t}o(FO,"ApiKeyInboundPolicy");Za.ApiKeyInboundPolicy=FO;async function HO(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(HO,"hashValue")});var __=b(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ApiAuthKeyInboundPolicy=void 0;var qO=Tf();Xa.ApiAuthKeyInboundPolicy=qO.ApiKeyInboundPolicy});var Xt=b(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.OpenIdJwtInboundPolicy=void 0;var If=(ea(),Oo(Xs)),Pf=k(),$O=pe(),Sf={},jO=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new Pf.ConfigurationError("Invalid State - jwkUrl not set");Sf[e.jwkUrl]||(Sf[e.jwkUrl]=(0,If.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,If.jwtVerify)(t,Sf[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),VO=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,If.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),BO=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(f=>$O.HttpProblems.unauthorized(t,e,{detail:f}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Pf.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Pf.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?jO:VO,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 f=i.substring(s.length);if(!f||f.length===0)return a("No bearer token on authorization header");try{return await c(f,r)}catch(h){let g=new URL(t.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${g.pathname} `,h):e.log.warn(`Invalid token on: ${t.method} ${g.pathname}`,h),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");ec.OpenIdJwtInboundPolicy=BO});var E_=b(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.Auth0JwtInboundPolicy=void 0;var GO=Xt(),KO=o(async(t,e,r,n)=>(0,GO.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");tc.Auth0JwtInboundPolicy=KO});var w_=b(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.BasicAuthInboundPolicy=void 0;var JO=pe(),zO=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>JO.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 f=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===f&&_.password===h);return g||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");rc.BasicAuthInboundPolicy=zO});var v_=b(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.CachingInboundPolicy=void 0;var WO=Zt(),QO=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function YO(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(YO,"digestMessage");var ZO=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 YO(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 XO(t,e,r,n){let i=await(0,WO.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await ZO(t,r),u=await s.match(c);return u||(e.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(t.method.toUpperCase()))return;let f=r?.expirationSecondsTtl??60,h=new Response(p.body,p);QO.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${f}`),e.waitUntil(s.put(c,h))}catch(d){e.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),t)}o(XO,"CachingInboundPolicy");nc.CachingInboundPolicy=XO});var T_=b(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.ChangeMethodInboundPolicy=void 0;var eN=k(),tN=Ge(),rN=o(async(t,e,r,n)=>{if(!r.method)throw new eN.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new tN.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");ic.ChangeMethodInboundPolicy=rN});var S_=b(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.ClearHeadersInboundPolicy=void 0;var nN=Ge(),iN=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 nN.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");oc.ClearHeadersInboundPolicy=iN});var I_=b(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.ClearHeadersOutboundPolicy=void 0;var oN=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");sc.ClearHeadersOutboundPolicy=oN});var P_=b(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.ClerkJwtInboundPolicy=void 0;var sN=Xt(),aN=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,sN.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");ac.ClerkJwtInboundPolicy=aN});var R_=b(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.CognitoJwtInboundPolicy=void 0;var A_=k(),cN=Xt(),uN=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new A_.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new A_.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,cN.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");cc.CognitoJwtInboundPolicy=uN});var N_=b(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.CompositeInboundPolicy=void 0;var lN=k(),dN=Hr(),O_=yn(),pN=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new lN.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=dN.Gateway.instance,s=(0,O_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,O_.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");uc.CompositeInboundPolicy=pN});var C_=b(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.CurityPhantomTokenInboundPolicy=void 0;var fN=Zt(),hN=nr(),lc=pe(),mN=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization");if(!i)return lc.HttpProblems.unauthorized(t,e,{detail:"No authorization header"});let s=gN(i);if(!s)return lc.HttpProblems.unauthorized(t,e,{detail:"Failed to parse token from Authorization header"});let a=await(0,fN.getPolicyCacheName)(n,r),c=new hN.MemoryZoneReadThroughCache(a,e),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(e.log.error(`Error introspecting token - ${l.status}: '${d}'`),lc.HttpProblems.internalServerError(t,e,{detail:"Problem encountered authorizing the HTTP request"})):lc.HttpProblems.unauthorized(t,e)}return t.headers.set("Authorization",`Bearer ${u}`),t},"CurityPhantomTokenInboundPolicy");dc.CurityPhantomTokenInboundPolicy=mN;function gN(t){return t.split(" ")[0]==="Bearer"?t.split(" ")[1]:null}o(gN,"getToken")});var x_=b(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.FirebaseJwtInboundPolicy=void 0;var yN=ut(),bN=Xt(),_N=o(async(t,e,r,n)=>((0,yN.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,bN.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");pc.FirebaseJwtInboundPolicy=_N});var L_=b(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.FormDataToJsonInboundPolicy=void 0;var EN=Ge(),wN=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 EN.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");fc.FormDataToJsonInboundPolicy=wN});var D_=b(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.GeoFilterInboundPolicy=void 0;var vN=k(),TN=pe(),ri="__unknown__",SN=o(async(t,e,r,n)=>{let i={allow:{countries:ii(r.allow?.countries,"allow.countries",n),regionCodes:ii(r.allow?.regionCodes,"allow.regionCode",n),asns:ii(r.allow?.asns,"allow.asOrganization",n)},block:{countries:ii(r.block?.countries,"block.countries",n),regionCodes:ii(r.block?.regionCodes,"block.regionCode",n),asns:ii(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??ri,a=e.incomingRequestProperties.regionCode?.toLowerCase()??ri,c=e.incomingRequestProperties.asn?.toString()??ri,u=i.ignoreUnknown&&s===ri,l=i.ignoreUnknown&&a===ri,d=i.ignoreUnknown&&c===ri,p=i.allow.countries,f=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||f.length>0&&!f.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return ni(t,e,n,s,a,c);let g=i.block.countries,_=i.block.regionCodes,T=i.block.asns;return g.length>0&&g.includes(s)&&!u||_.length>0&&_.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?ni(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");hc.GeoFilterInboundPolicy=SN;function ni(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),TN.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(ni,"blockedResponse");function ii(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 vN.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(ii,"toLowerStringArray")});var M_=b(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.JWTScopeValidationInboundPolicy=void 0;var IN=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");mc.JWTScopeValidationInboundPolicy=IN});var k_=b(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.MockApiInboundPolicy=void 0;var PN=pe(),AN=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return Af(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 Af(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(f=>{a.push({responseName:c,contentName:l,exampleName:f,exampleValue:d[f]})})})}),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 U_(a[c])}else return a.length>0?U_(a[0]):Af(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");gc.MockApiInboundPolicy=AN;function U_(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.set("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(U_,"generateResponse");var Af=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return PN.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var j_=b(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.MoesifInboundPolicy=oi.setMoesifContext=void 0;var RN=k(),ON=Pe(),NN="Incoming",CN={logRequestBody:!0,logResponseBody:!0};function F_(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(F_,"headersToObject");function H_(){return new Date().toISOString()}o(H_,"timestamp");var Rf=new WeakMap,xN={};function LN(t,e){let r=Rf.get(t);r||(r=xN);let n=Object.assign({...r},e);Rf.set(t,n)}o(LN,"setMoesifContext");oi.setMoesifContext=LN;async function q_(t,e){let r=t.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await t.clone().json()}catch(i){e.log.error(i)}let n=await t.clone().text();return e.log.debug({textBody:n}),n}o(q_,"readBody");var DN={},Of;function $_(){if(!Of)throw new RN.RuntimeError("Invalid State - no _lastLogger");return Of}o($_,"getLastLogger");function MN(t){let e=DN[t];return e||(e=new ON.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);$_().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||$_().error({status:i.status,body:await i.text()})})),e}o(MN,"getDispatcher");async function UN(t,e,r,n){Of=e.log;let i=H_(),s=Object.assign(CN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await q_(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=MN(s.applicationId),d=t.headers.get("true-client-ip"),p=Rf.get(e)??{},f={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:F_(t.headers)},h=s.logResponseBody?await q_(c,e):void 0,g={time:H_(),status:c.status,headers:F_(c.headers),body:h},_={request:f,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:NN};l.enqueue(_),e.waitUntil(l.waitUntilFlushed())}),t}o(UN,"MoesifInboundPolicy");oi.MoesifInboundPolicy=UN});var G_=b(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.consumeSubcriptionQuotas=si.loadSubscription=void 0;var V_=Ze(),B_=ie();async function kN(t,e,r,n){let i=V_.SystemLogMap.getLogger(t),{authApiJWT:s,meteringServiceUrl:a}=B_.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${e}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(kN,"loadSubscription");si.loadSubscription=kN;async function FN(t,e,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=B_.Environment.instance,c=V_.SystemLogMap.getLogger(t);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${e}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(FN,"consumeSubcriptionQuotas");si.consumeSubcriptionQuotas=FN});var K_=b(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.compareMeters=Nr.parseAllowedSubscriptionStatuses=Nr.validateMeters=void 0;var Xr=k(),HN=Kt(),qN=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function $N(t,e){try{let r=[];for(let n in t)typeof t[n]!="number"&&!(Number.isInteger(t[n])&&/^-?\d+$/.test(t[n].toString()))&&r.push(n);if(r.length>0)throw new Xr.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof Xr.ConfigurationError?new Xr.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'meters' is invalid. ${r.message}`):r}}o($N,"validateMeters");Nr.validateMeters=$N;function jN(t,e){if(t)try{if(t.length===0)throw new Xr.ConfigurationError("Must set valid subscription statuses");let r=(0,HN.parseValueToStringArray)(t),n=[];for(let i of r)qN.has(i)||n.push(i);if(n.length>0)throw new Xr.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return t}catch(r){throw r instanceof Xr.ConfigurationError?new Xr.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(jN,"parseAllowedSubscriptionStatuses");Nr.parseAllowedSubscriptionStatuses=jN;function VN(t,e){let r={},n={};for(let i in e)t.hasOwnProperty(i)?r[i]=e[i]:n[i]=e[i];return{metersInSubscription:r,metersNotInSubscription:n}}o(VN,"compareMeters");Nr.compareMeters=VN});var W_=b(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.MonetizationInboundPolicy=void 0;var en=ln(),tn=hp(),yc=Ji(),J_=k(),BN=gn(),rn=pe(),GN=Kt(),KN=ut(),z_=G_(),eo=K_(),Nf=class extends BN.InboundPolicy{static{o(this,"MonetizationInboundPolicy")}static getSubscription(e){return tn.ContextData.get(e,en.METERING_SUBSCRIPTION_CONTEXT_DATA)}static setMeters(e,r){(0,eo.validateMeters)(r,"setMeters"),tn.ContextData.set(e,en.DYNAMIC_METERS_CONTEXT_DATA,r)}async handler(e,r){(0,KN.optionValidator)(this.options,this.policyName).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),this.options.meterOnStatusCodes||(this.options.meterOnStatusCodes="200-399");let n=this.options.allowRequestsOverQuota??!1,i=(0,GN.statusCodesStringToNumberArray)(this.options.meterOnStatusCodes),s=tn.ContextData.get(r,en.DYNAMIC_METERS_CONTEXT_DATA),a={...this.options.meters,...s};(0,eo.validateMeters)(a,this.policyName);let c=this.options.allowRequestsWithoutSubscription??!1,u=(0,eo.parseAllowedSubscriptionStatuses)(this.options.allowedSubscriptionStatuses,this.policyName);r.addResponseSendingFinalHook(async(_,T,A)=>{let y=tn.ContextData.get(A,en.METERING_SUBSCRIPTION_CONTEXT_DATA);if((this.options.allowRequestsWithoutSubscription??!1)&&!y){A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!this.options.bucketId)if(yc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=yc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new J_.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let O=tn.ContextData.get(A,en.DYNAMIC_METERS_CONTEXT_DATA),V={...this.options.meters,...O};if((0,eo.validateMeters)(V,this.policyName),i.includes(_.status)&&y&&V){A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - Updating subscription '${y.id}' with meters '${JSON.stringify(V)} on response status '${_.status}'`);let{metersInSubscription:w,metersNotInSubscription:v}=(0,eo.compareMeters)(y.meters,V);if(v&&Object.keys(v).length>0){let C=Object.keys(v);A.log.warn(`The following meters cannot be applied since they are not present in the subscription: '${C}'`)}await(0,z_.consumeSubcriptionQuotas)(A,y.id,this.policyName,this.options.bucketId,w)}});let l=e.user;if(!l)return c?e:rn.HttpProblems.unauthorized(e,r,{detail:"Unable to check subscription for anonymous user"});if(!this.options.bucketId)if(yc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=yc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new J_.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let{sub:d}=l,p=await(0,z_.loadSubscription)(r,d,this.policyName,this.options.bucketId);if(!p)return r.log.warn("No valid subscription found"),c?e:rn.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});if(!u.includes(p.status)&&!c)return r.log.warn(`Subscription '${p.id}' has status '${p.status}' which is not part of the allowed statuses.`),rn.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});u.includes(p.status)&&(r.log.debug(`Loading subscription '${p.id}' for user sub '${d}' to ContextData`),tn.ContextData.set(r,en.METERING_SUBSCRIPTION_CONTEXT_DATA,p));let f=tn.ContextData.get(r,en.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!f)return c?e:(r.log.warn("Subscription is not available for user"),rn.HttpProblems.paymentRequired(e,r,{detail:"Subscription is not available for user",title:"No Subscription"}));if(f&&Object.keys(f.meters).length===0)return r.log.error(`Quota is not set up for subscription '${f.id}'`),rn.HttpProblems.tooManyRequests(e,r,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let g=Object.keys(a).filter(_=>!Object.keys(f.meters).includes(_));if(g.length>0)return r.log.warn(`The following policy meters are not present in the subscription: ${g.join(", ")}`),rn.HttpProblems.tooManyRequests(e,r,{detail:`The following policy meters are not present in the subscription: ${g.join(", ")}`,title:"Quota Exceeded"});for(let _ of Object.keys(a))if(f.meters[_].consumed<=0&&!n)return rn.HttpProblems.tooManyRequests(e,r,{detail:`Quota exceeded for meter '${_}'`,title:"Quota Exceeded"});return e}};bc.MonetizationInboundPolicy=Nf});var Q_=b(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.OktaJwtInboundPolicy=void 0;var JN=Xt(),zN=o(async(t,e,r,n)=>(0,JN.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");_c.OktaJwtInboundPolicy=zN});var Y_=b(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.PropelAuthJwtInboundPolicy=void 0;var WN=(ea(),Oo(Xs)),QN=Xt(),Cf,YN=o(async(t,e,r,n)=>{if(!Cf)try{Cf=await(0,WN.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,QN.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:Cf,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ec.PropelAuthJwtInboundPolicy=YN});var Z_=b(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.throwIfStateNotObject=Z.throwIfStateNotNumber=Z.throwIfStateNotString=Z.throwIfStateUndefinedOrNull=Z.throwIfStateUndefined=Z.throwIfOptionNotObject=Z.throwIfOptionNotNumber=Z.throwIfOptionNotString=Z.throwIfOptionUndefinedOrNull=Z.throwIfOptionUndefined=Z.OptionTypeError=Z.OptionUndefinedError=Z.throwIfNotNumber=Z.throwIfNotString=Z.throwIfUndefinedOrNull=Z.throwIfUndefined=Z.ArgumentTypeError=Z.ArgumentUndefinedError=Z.ValidationError=void 0;var We=st(),lt=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};Z.ValidationError=lt;var to=class extends lt{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};Z.ArgumentUndefinedError=to;var ro=class extends lt{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};Z.ArgumentTypeError=ro;function ZN(t,e){if((0,We.isUndefined)(t))throw new to(e)}o(ZN,"throwIfUndefined");Z.throwIfUndefined=ZN;function xf(t,e){if((0,We.isUndefinedOrNull)(t))throw new to(e)}o(xf,"throwIfUndefinedOrNull");Z.throwIfUndefinedOrNull=xf;function XN(t,e){if(xf(t,e),!(0,We.isString)(t))throw new ro(e,"string")}o(XN,"throwIfNotString");Z.throwIfNotString=XN;function eC(t,e){if(xf(t,e),!(0,We.isNumber)(t))throw new ro(e,"number")}o(eC,"throwIfNotNumber");Z.throwIfNotNumber=eC;var no=class extends lt{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};Z.OptionUndefinedError=no;var ai=class extends lt{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};Z.OptionTypeError=ai;function tC(t,e,r,n){if((0,We.isUndefined)(n))throw new no(t,e,r)}o(tC,"throwIfOptionUndefined");Z.throwIfOptionUndefined=tC;function wc(t,e,r,n){if((0,We.isUndefinedOrNull)(n))throw new no(t,e,r)}o(wc,"throwIfOptionUndefinedOrNull");Z.throwIfOptionUndefinedOrNull=wc;function rC(t,e,r,n){if(wc(t,e,r,n),!(0,We.isString)(n))throw new ai(t,e,r,"string")}o(rC,"throwIfOptionNotString");Z.throwIfOptionNotString=rC;function nC(t,e,r,n){if(wc(t,e,r,n),!(0,We.isNumber)(n))throw new ai(t,e,r,"number")}o(nC,"throwIfOptionNotNumber");Z.throwIfOptionNotNumber=nC;function iC(t,e,r,n){if(wc(t,e,r,n),!(0,We.isObject)(n))throw new ai(t,e,r,"object")}o(iC,"throwIfOptionNotObject");Z.throwIfOptionNotObject=iC;function oC(t,e){if((0,We.isUndefined)(t))throw new lt(e)}o(oC,"throwIfStateUndefined");Z.throwIfStateUndefined=oC;function vc(t,e){if((0,We.isUndefinedOrNull)(t))throw new lt(e)}o(vc,"throwIfStateUndefinedOrNull");Z.throwIfStateUndefinedOrNull=vc;function sC(t,e){if(vc(t,e),!(0,We.isString)(t))throw new lt(e);return!0}o(sC,"throwIfStateNotString");Z.throwIfStateNotString=sC;function aC(t,e){if(vc(t,e),!(0,We.isNumber)(t))throw new lt(e);return!0}o(aC,"throwIfStateNotNumber");Z.throwIfStateNotNumber=aC;function cC(t,e){if(vc(t,e),!(0,We.isObject)(t))throw new lt(e);return!0}o(cC,"throwIfStateNotObject");Z.throwIfStateNotObject=cC});var X_=b(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.InMemoryRedisClient=ci.StandardRedisClient=void 0;var Lf=k(),Tc=Z_(),Df=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,Tc.throwIfNotString)(e,"redisClientUrl"),(0,Tc.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,Tc.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 Lf.SystemError("Redis client failed with 401: Unauthorized"):new Lf.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};ci.StandardRedisClient=Df;var Mf=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,Tc.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 Lf.SystemError("The in-memory redis client only supports /rate-limit calls")}};ci.InMemoryRedisClient=Mf});var iE=b(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.RateLimitInboundPolicy=void 0;var uC=Fr(),lC=Zt(),dC=Do(),Ft=k(),pC=pe(),eE=Ze(),io=ie(),tE=X_(),rE=st(),Sc=(0,uC.debug)("zuplo:policies:RateLimitInboundPolicy"),fC="strict",hC=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"),mC=o(async t=>({key:`ip-${hC(t)}`}),"getIP"),gC=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),yC=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ic;function bC(t,e){let r;if(Ic)return Ic;if(io.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new tE.InMemoryRedisClient,Ic=r,r;let{authApiJWT:n,redisURL:i}=io.Environment.instance;if(!(0,rE.isString)(i))throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,rE.isString)(n))throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=tE.StandardRedisClient.initialize(i,n,io.Environment.instance.deploymentName??"unknown",io.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ic=r,r}o(bC,"getRedisClient");async function nE(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(nE,"getCountAndUpdateExpiry");function _C(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new Ft.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 Ft.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 Ft.RuntimeError(u)}return c},"outerFunction")}o(_C,"wrapUserFunction");var EC="Retry-After",wC=o(async(t,e,r,n)=>{let i=Date.now(),s=eE.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new Ft.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[EC]=l.toString()),pC.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:_C(r,n),user:gC,ip:mC,all:yC}[r.rateLimitBy],d=await l(t,e,n),p=d.key,f=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=bC(n,s),A=`bucket/${io.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??fC)==="async"){let O=await(0,lC.getPolicyCacheName)(n,r),V=new dC.ZoneCache(O,{logger:eE.SystemLogMap.getLogger(e)}),w=nE(A,h,_,s,e.requestId),v=await V.get(A);if(v!==void 0&&v<=Date.now()){Sc(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${A}' (async mode)`);let C=Math.round((v-Date.now())/1e3);return c(g,C)}return e.addEventListener("responseSending",C=>{try{let E=C,P=E.mutableResponse;E.mutableResponse=(async()=>{let x=await w;if(x.count>f){let X=Date.now()+x.ttlSeconds*1e3,q=V.put(A,X,x.ttlSeconds).catch(D=>{throw s.error(new Ft.SystemError("Error caching rate limit result.",{cause:D})),D});return e.waitUntil(q),Sc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${A}' (async mode)`),c(g,x.ttlSeconds)}return P})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),t}let S=await nE(A,h,_,s,e.requestId);return S.count>f?(Sc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${A}' (strict mode)`),c(g,S.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Sc(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Pc.RateLimitInboundPolicy=wC});var cE=b(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.ReadmeMetricsInboundPolicy=void 0;var vC=Pe(),Uf=ie(),oE=Kt(),kf;function sE(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(sE,"headersToNameValuePairs");function TC(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(TC,"queryToNameValueParis");function SC(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(SC,"parseIntOrUndefined");var aE={};async function IC(t,e,r,n){let i=new Date,s=Date.now();return kf||(kf={name:"zuplo",version:Uf.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Uf.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,oE.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,oE.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Uf.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:kf,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:sE(t.headers),queryString:TC(t.query)},response:{status:a.status,statusText:a.statusText,headers:sE(a.headers),content:{size:SC(t.headers.get("content-length"))}}}]}}},d=aE[r.apiKey];if(!d){let p=r.apiKey;d=new vC.BatchDispatch("readme-metering-inbound-policy",10,async f=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(f),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),aE[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(IC,"ReadmeMetricsInboundPolicy");Ac.ReadmeMetricsInboundPolicy=IC});var uE=b(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.RemoveHeadersInboundPolicy=void 0;var PC=k(),AC=Ge(),RC=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new PC.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 AC.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Rc.RemoveHeadersInboundPolicy=RC});var lE=b(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.RemoveHeadersOutboundPolicy=void 0;var OC=k(),NC=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new OC.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");Oc.RemoveHeadersOutboundPolicy=NC});var dE=b(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.RemoveQueryParamsInboundPolicy=void 0;var CC=k(),xC=Ge(),LC=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new CC.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 xC.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");Nc.RemoveQueryParamsInboundPolicy=LC});var pE=b(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.ReplaceStringOutboundPolicy=void 0;var DC=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");Cc.ReplaceStringOutboundPolicy=DC});var hE=b(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.RequestSizeLimitInboundPolicy=void 0;var fE=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),MC=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?fE():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?fE():t},"RequestSizeLimitInboundPolicy");xc.RequestSizeLimitInboundPolicy=MC});var Lc=b(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.sanitizedIdentifierName=dt.getIdForRefSchema=dt.getIdForRequestBodySchema=dt.getIdForParameterSchema=dt.getRawOperationDataIdentifierName=void 0;function UC(t,e,r){return`_${nn(t+"_"+e+"_"+r)}`}o(UC,"getRawOperationDataIdentifierName");dt.getRawOperationDataIdentifierName=UC;function kC(t,e,r,n){return`_${nn(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(kC,"getIdForParameterSchema");dt.getIdForParameterSchema=kC;function FC(t,e,r){return`_${nn(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${nn(r.toLowerCase())}`}o(FC,"getIdForRequestBodySchema");dt.getIdForRequestBodySchema=FC;function HC(t,e){return`_${nn(t)}__${nn(e)}`}o(HC,"getIdForRefSchema");dt.getIdForRefSchema=HC;function nn(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(nn,"sanitizedIdentifierName");dt.sanitizedIdentifierName=nn});var oo=b($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.getErrorsFromValidator=$e.shouldReject=$e.shouldLog=$e.logErrors=$e.validateParameters=$e.getParametersForOperation=void 0;var qC=Hr(),$C=Lc(),jC=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");$e.getParametersForOperation=jC;var VC=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{let l=u.required||i==="path";if(l&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!e[u.name])){let d=(0,$C.getIdForParameterSchema)(r,n,i,u.name),p=qC.Gateway.instance.schemaValidator[d],f=p(e[u.name]),h=(0,$e.getErrorsFromValidator)(p.errors);f||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");$e.validateParameters=VC;var BC=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");$e.logErrors=BC;var GC=o(t=>t==="log-only"||t==="reject-and-log","shouldLog");$e.shouldLog=GC;var KC=o(t=>t==="reject-only"||t==="reject-and-log","shouldReject");$e.shouldReject=KC;var JC=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");$e.getErrorsFromValidator=JC});var mE=b(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.handleBodyValidation=void 0;var zC=Hr(),Dc=pe(),WC=Lc(),et=oo();async function QC(t,e,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await e.clone().json()}catch(h){let g=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,_=Dc.HttpProblems.badRequest(e,t,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",g,[n],h),(0,et.shouldReject)(r.validateBody))return _}if(!e.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,g=Dc.HttpProblems.badRequest(e,t,{detail:h});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,et.shouldReject)(r.validateBody)?g:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,WC.getIdForRequestBodySchema)(t.route.path,e.method,i),c=zC.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,g=Dc.HttpProblems.badRequest(e,t,{detail:h});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,et.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,et.getErrorsFromValidator)(l),f=Dc.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",d,[n],p),(0,et.shouldReject)(r.validateBody))return f}o(QC,"handleBodyValidation");Mc.handleBodyValidation=QC});var gE=b(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.handleHeadersValidation=void 0;var YC=pe(),so=oo();function ZC(t,e,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,so.getParametersForOperation)(t),s=(0,so.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=YC.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,so.shouldLog)(r.validateHeaders)&&(0,so.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,so.shouldReject)(r.validateHeaders))return c}}o(ZC,"handleHeadersValidation");Uc.handleHeadersValidation=ZC});var yE=b(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.handlePathParameterValidation=void 0;var XC=pe(),ao=oo();function ex(t,e,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,ao.getParametersForOperation)(t),i=(0,ao.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=XC.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,ao.shouldLog)(r.validatePathParameters)&&(0,ao.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,ao.shouldReject)(r.validatePathParameters))return a}}o(ex,"handlePathParameterValidation");kc.handlePathParameterValidation=ex});var bE=b(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.handleQueryParameterValidation=void 0;var tx=pe(),co=oo();function rx(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,co.getParametersForOperation)(t),i=(0,co.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=tx.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,co.shouldLog)(r.validateQueryParameters)&&(0,co.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,co.shouldReject)(r.validateQueryParameters))return a}}o(rx,"handleQueryParameterValidation");Fc.handleQueryParameterValidation=rx});var _E=b(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.SchemaBasedRequestValidation=on.RequestValidationInboundPolicy=void 0;var nx=mE(),ix=gE(),ox=yE(),sx=bE(),ax=o(async(t,e,r)=>{let n=(0,sx.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,ox.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,ix.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,nx.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");on.RequestValidationInboundPolicy=ax;on.SchemaBasedRequestValidation=on.RequestValidationInboundPolicy});var EE=b(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.RequireOriginInboundPolicy=void 0;var cx=k(),ux=pe(),lx=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new cx.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 ux.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");Hc.RequireOriginInboundPolicy=lx});var wE=b(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.SetBodyInboundPolicy=void 0;var dx=Ge(),px=o(async(t,e,r)=>new dx.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");qc.SetBodyInboundPolicy=px});var TE=b($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.SetHeadersInboundPolicy=void 0;var vE=k(),fx=Ge(),hx=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new vE.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 vE.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 fx.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");$c.SetHeadersInboundPolicy=hx});var IE=b(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.SetHeadersOutboundPolicy=void 0;var SE=k(),mx=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new SE.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 SE.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");jc.SetHeadersOutboundPolicy=mx});var AE=b(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.SetQueryParamsInboundPolicy=void 0;var PE=k(),gx=Ge(),yx=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new PE.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 PE.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 gx.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Vc.SetQueryParamsInboundPolicy=yx});var RE=b(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.SetStatusOutboundPolicy=void 0;var bx=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");Bc.SetStatusOutboundPolicy=bx});var OE=b(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.SleepInboundPolicy=void 0;var _x=k(),Ex=o(async t=>new Promise(r=>{setTimeout(r,t)}),"sleep"),wx=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new _x.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await Ex(r.sleepInMs),t},"SleepInboundPolicy");Gc.SleepInboundPolicy=wx});var CE=b(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.SupabaseJwtInboundPolicy=void 0;var NE=k(),vx=pe(),Tx=Ge(),Sx=ut(),Ix=Xt(),Px=o(async(t,e,r,n)=>{(0,Sx.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,Ix.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof Tx.ZuploRequest))throw new NE.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 NE.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?vx.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Kc.SupabaseJwtInboundPolicy=Px});var LE=b(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var Ax=Zt(),Rx=nr(),xE=k(),Ox=Dn(),Nx=ut(),Cx=o(async(t,e,r,n)=>{(0,Nx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,Ax.getPolicyCacheName)(n,r),s=new Rx.MemoryZoneReadThroughCache(i,e),a=await s.get(n);if(!a){let c=await xx(r,e);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");Jc.UpstreamAzureAdServiceAuthInboundPolicy=Cx;async function xx(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,Ox.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 xE.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 xE.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(xx,"getAccessToken")});var ME=b(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var Lx=Zt(),Dx=nr(),Mx=k(),Ff=Mn(),Ux=ut(),DE="https://accounts.google.com/o/oauth2/token",Hf,kx=o(async(t,e,r,n)=>{(0,Ux.optionValidator)(r,n).required("serviceAccountJson","string"),Hf||(Hf=await Ff.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,Lx.getPolicyCacheName)(n,r),a=new Dx.MemoryZoneReadThroughCache(s,e),c=await a.get(n);if(!c){let u=await(0,Ff.getTokenFromGcpServiceAccount)({serviceAccount:Hf,audience:DE,payload:i}),l=await(0,Ff.exchangeGgpJwtForIdToken)(DE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new Mx.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");zc.UpstreamFirebaseAdminAuthInboundPolicy=kx});var UE=b(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var Fx=Zt(),Hx=nr(),ui=k(),qx=Ef(),qf=Mn(),$x=Kt(),jx=ut(),Vx="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",Bx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],$f,Gx=o(async(t,e,r,n)=>{if((0,jx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new ui.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(Bx.indexOf(p)!==-1)throw new ui.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}$f||($f=await qf.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new ui.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 ui.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,$x.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new ui.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,Fx.getPolicyCacheName)(n,r),c=new Hx.MemoryZoneReadThroughCache(a,e),u={uid:s,claims:i},l=await(0,qx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,qf.getTokenFromGcpServiceAccount)({serviceAccount:$f,audience:Vx,payload:u}),f=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,qf.exchangeFirebaseJwtForIdToken)(f,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new ui.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${d}`),t},"UpstreamFirebaseUserAuthInboundPolicy");Wc.UpstreamFirebaseUserAuthInboundPolicy=Gx});var FE=b(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.UpstreamGcpJwtInboundPolicy=void 0;var kE=Mn(),Kx=ut(),jf,Jx=o(async(t,e,r,n)=>{(0,Kx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),jf||(jf=await kE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,kE.getTokenFromGcpServiceAccount)({serviceAccount:jf,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");Qc.UpstreamGcpJwtInboundPolicy=Jx});var qE=b(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.UpstreamGcpServiceAuthInboundPolicy=void 0;var zx=Zt(),Wx=zu(),Qx=nr(),uo=k(),Vf=Mn(),Yx=Kt(),Zx=ut(),HE="https://www.googleapis.com/oauth2/v4/token",Bf,Xx=o(async(t,e,r,n)=>{(0,Zx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Bf||(Bf=await Vf.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new uo.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,Yx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof uo.ConfigurationError?new uo.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,zx.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new Wx.MemoryCache(s):a=new Qx.MemoryZoneReadThroughCache(s,e);let c=await a.get(n);if(!c){let u=await(0,Vf.getTokenFromGcpServiceAccount)({serviceAccount:Bf,audience:HE,payload:i}),l=await(0,Vf.exchangeGgpJwtForIdToken)(HE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new uo.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new uo.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamGcpServiceAuthInboundPolicy");Yc.UpstreamGcpServiceAuthInboundPolicy=Xx});var jE=b(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.ValidateJsonSchemaInbound=void 0;var eL=k(),$E=pe(),tL=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return $E.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 eL.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 $E.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Zc.ValidateJsonSchemaInbound=tL});var GE=b((wJ,BE)=>{"use strict";var rL=Object.defineProperty,nL=Object.getOwnPropertyNames,B=o((t,e)=>rL(t,"name",{value:e,configurable:!0}),"__name"),wt=o((t,e)=>o(function(){return e||(0,t[nL(t)[0]])((e={exports:{}}).exports,e),e.exports},"__require"),"__commonJS"),Gf=wt({"node_modules/fast-xml-parser/src/util.js"(t){"use strict";var e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",n="["+e+"]["+r+"]*",i=new RegExp("^"+n+"$"),s=B(function(c,u){let l=[],d=u.exec(c);for(;d;){let p=[];p.startIndex=u.lastIndex-d[0].length;let f=d.length;for(let h=0;h<f;h++)p.push(d[h]);l.push(p),d=u.exec(c)}return l},"getAllMatches"),a=B(function(c){let u=i.exec(c);return!(u===null||typeof u>"u")},"isName");t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,u,l){if(u){let d=Object.keys(u),p=d.length;for(let f=0;f<p;f++)l==="strict"?c[d[f]]=[u[d[f]]]:c[d[f]]=u[d[f]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=n}}),VE=wt({"node_modules/fast-xml-parser/src/validator.js"(t){"use strict";var e=Gf(),r={allowBooleanAttributes:!1,unpairedTags:[]};t.validate=function(y,S){S=Object.assign({},r,S);let O=[],V=!1,w=!1;y[0]==="\uFEFF"&&(y=y.substr(1));for(let v=0;v<y.length;v++)if(y[v]==="<"&&y[v+1]==="?"){if(v+=2,v=i(y,v),v.err)return v}else if(y[v]==="<"){let C=v;if(v++,y[v]==="!"){v=s(y,v);continue}else{let E=!1;y[v]==="/"&&(E=!0,v++);let P="";for(;v<y.length&&y[v]!==">"&&y[v]!==" "&&y[v]!==" "&&y[v]!==`
74
+ `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Yr.StripeSignatureVerificationError(e,t,{message:"Timestamp outside the tolerance zone"});return!0}o(qR,"validateComputedSignature");function $R(t,e){return typeof t!="string"?null:t.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===e&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o($R,"parseHeader");function jR(t,e){if(t.length!==e.length)return!1;let r=t.length,n=0;for(let i=0;i<r;++i)n|=t.charCodeAt(i)^e.charCodeAt(i);return n===0}o(jR,"secureCompare");async function Zb(t,e){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(t)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=Qp[s[c]];return a.join("")}o(Zb,"computeHMACSignatureAsync");Zn.computeHMACSignatureAsync=Zb;var Qp=new Array(256);for(let t=0;t<Qp.length;t++)Qp[t]=t.toString(16).padStart(2,"0")});var ut=b($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.optionValidator=void 0;var Xn=k(),VR=st();function BR(t,e,r="policy"){let n=`${r} '${e}'`;if(!(0,VR.isObject)(t))throw new Xn.ConfigurationError(`Options on ${n} is expected to be an object. Received the type '${typeof t}'.`);let i=o((c,u,l)=>{let d=t[c];if(!(l&&d===void 0)){if(d===void 0)throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(u==="array"&&Array.isArray(d))throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} must be an array. Received type ${typeof d}.`);if(typeof d!==u)throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} must be of type ${u}. Received type ${typeof d}.`);if(typeof d=="string"&&d.length===0)throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof d=="number"&&isNaN(d))throw new Xn.ConfigurationError(`Value of '${String(c)}' on ${n} must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),s=o((c,u)=>(i(c,u,!0),{optional:s,required:a}),"optional"),a=o((c,u)=>(i(c,u,!1),{optional:s,required:a}),"required");return{optional:s,required:a}}o(BR,"optionValidator");$a.optionValidator=BR});var Zp=b(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.StripeWebhookVerificationInboundPolicy=void 0;var GR=gn(),KR=pe(),JR=Xb(),zR=ut(),Yp=class extends GR.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(e,r){(0,zR.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=e.headers.get("stripe-signature");try{let i=await e.clone().text();await(0,JR.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){let s=i.message;if(i.type&&i.type==="StripeSignatureVerificationError"){let a=i.message,u=/Note:(.*)/g.exec(a);s=u?u[1].trim():a}return r.log.error("Error validating stripe webhook",s),KR.HttpProblems.badRequest(e,r,{title:"Webhook Error",detail:s})}return e}};ja.StripeWebhookVerificationInboundPolicy=Yp});var t_=b(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.isStripeWebhookEvent=void 0;var e_=st();function WR(t){return t!==null&&typeof t=="object"&&"id"in t&&(0,e_.isString)(t.id)&&"type"in t&&(0,e_.isString)(t.type)}o(WR,"isStripeWebhookEvent");Va.isStripeWebhookEvent=WR});var r_=b(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.MeteringPlugin=void 0;var QR=Rt(),Xp=class extends QR.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Ba.MeteringPlugin=Xp});var rf=b(tf=>{"use strict";Object.defineProperty(tf,"__esModule",{value:!0});var ef=k(),YR={getSubscription:async({subscriptionId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new ef.RuntimeError(s)}return i},getCustomer:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new ef.RuntimeError(s)}return i},getUpcomingInvoice:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/invoices/upcoming?customer=${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer upcoming invoice from Stripe API.";throw r.error(s,i),new ef.RuntimeError(s)}return i}};tf.default=YR});var i_=b(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.deleteConsumer=Ar.createConsumerInvite=Ar.createConsumer=void 0;var nf=k(),of=Ze(),sf=ie(),af=Dn(),cf="https://api-key-management-service-eq7z4lly2a-ue.a.run.app",n_="My API Key";async function ZR({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=sf.Environment.instance,u=new URL(`/v1/buckets/${t}/consumers`,cf);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:n_,tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,af.fetchRetry)({retryDelayMs:5,retries:2,logger:of.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),f=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,f),new nf.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:e,stripeProductId:r}),l}o(ZR,"createConsumer");Ar.createConsumer=ZR;async function XR({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=sf.Environment.instance,c=new URL(`/v1/buckets/${t}/consumers`,cf);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:n_,tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,af.fetchRetry)({retryDelayMs:5,retries:2,logger:of.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let f="Error creating API Key Consumer";throw s.log.error(f,p),new nf.RuntimeError(f)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:e,stripeProductId:r}),u}o(XR,"createConsumerInvite");Ar.createConsumerInvite=XR;async function eO({apiKeyBucketName:t,consumerId:e,context:r}){let{authApiJWT:n}=sf.Environment.instance,i=new URL(`/v1/buckets/${t}/consumers/${e}`,cf);i.searchParams.set("with-api-key","true");let s=await(0,af.fetchRetry)({retryDelayMs:5,retries:2,logger:of.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new nf.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${e}`),e}o(eO,"deleteConsumer");Ar.deleteConsumer=eO});var Ga=b(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.getSubscription=Or.updateSubscription=Or.createSubscription=void 0;var Rr=k(),uf=Ze(),lf=ie(),df=Dn(),pf=st();async function tO({context:t,stripeSubscriptionId:e,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:e,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=lf.Environment.instance;if(!(0,pf.isNonEmptyString)(l))throw new Rr.SystemError("No Zuplo JWT token set.");let p=await(0,df.fetchRetry)({retryDelayMs:5,retries:2,logger:uf.SystemLogMap.getLogger(t)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let f="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw t.log.error(f,h),new Rr.RuntimeError(f)}t.log.info("Successfully created/updated metering subscription.",u)}o(tO,"createSubscription");Or.createSubscription=tO;async function rO({context:t,meteringSubscriptionId:e,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=lf.Environment.instance;if(!(0,pf.isNonEmptyString)(i))throw new Rr.SystemError("No Zuplo JWT token set.");let a=await(0,df.fetchRetry)({retryDelayMs:5,retries:2,logger:uf.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${r}/subscriptions/${e}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw t.log.error(c,u),new Rr.RuntimeError(c)}t.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(rO,"updateSubscription");Or.updateSubscription=rO;async function nO({context:t,stripeSubscriptionId:e,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=lf.Environment.instance;if(!(0,pf.isNonEmptyString)(i))throw new Rr.SystemError("No Zuplo JWT token set.");let a=await(0,df.fetchRetry)({retryDelayMs:5,retries:2,logger:uf.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${e}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":t.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw t.log.error(u,l),new Rr.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw t.log.error(u),new Rr.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw t.log.error(u),new Rr.RuntimeError(u)}return c.data[0]}o(nO,"getSubscription");Or.getSubscription=nO});var ff=b(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.stripeStatusToMeteringStatus=void 0;function iO(t){return t.replaceAll("_","-")}o(iO,"stripeStatusToMeteringStatus");Ka.stripeStatusToMeteringStatus=iO});var o_=b(Yi=>{"use strict";var oO=Yi&&Yi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yi,"__esModule",{value:!0});var Zr=pe(),sO=oO(rf()),hf=i_(),aO=Ga(),cO=ff();async function uO(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Zr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return e.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),Zr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Zr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,hf.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:e});else{let l=await sO.default.getCustomer({logger:e.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return e.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),Zr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,hf.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:e})}if(!u)return Zr.HttpProblems.internalServerError(t,e,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,cO.stripeStatusToMeteringStatus)(r.data.object.status);await(0,aO.createSubscription)({context:e,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,hf.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:e}),Zr.HttpProblems.internalServerError(t,e,{detail:l.message})}return Zr.HttpProblems.ok(t,e)}o(uO,"onCustomerSubscriptionCreated");Yi.default=uO});var a_=b(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});var mf=pe(),s_=Ga();async function lO(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),mf.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),mf.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,s_.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,s_.updateSubscription)({context:e,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),mf.HttpProblems.ok(t,e)}o(lO,"onCustomerSubscriptionDeleted");gf.default=lO});var c_=b(Xi=>{"use strict";var dO=Xi&&Xi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Xi,"__esModule",{value:!0});var Zi=pe(),pO=dO(rf()),Ja=Ga(),fO=ff();async function hO(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Zi.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Zi.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){e.log.debug(`Processing subscription status change from Stripe event '${r.id}'.`);let c=await(0,Ja.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,fO.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,Ja.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Zi.HttpProblems.ok(t,e)}if(a.plan&&a.plan.product!==r.data.object.plan.product){e.log.debug(`Processing subscription plan change from Stripe event '${r.id}'.`);let c=await(0,Ja.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=r.data.object.plan.product,d=(await pO.default.getUpcomingInvoice({customerId:s,logger:e.log,stripeSecretKey:n.stripeSecretKey})).lines.data.filter(f=>f.proration&&f.price.product===u),p=0;return d.length===0?e.log.warn(`The plan change does not include proration details. Subscription event '${r.id}'`):p=parseFloat(d[0].unit_amount_excluding_tax)/d[0].price.unit_amount,await(0,Ja.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[u],prorate:p}}),Zi.HttpProblems.ok(t,e)}}return e.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Zi.HttpProblems.badRequest(t,e,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(hO,"onCustomerSubscriptionUpdated");Xi.default=hO});var l_=b(ei=>{"use strict";var bf=ei&&ei.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ei,"__esModule",{value:!0});ei.StripeMonetizationPlugin=void 0;var za=Ji(),Wa=k(),mO=Bt(),gO=Zp(),u_=pe(),yO=ar(),bO=yn(),_O=bl(),EO=gt(),wO=ie(),vO=t_(),TO=ut(),SO=r_(),IO=bf(o_()),PO=bf(a_()),AO=bf(c_()),yf=class extends SO.MeteringPlugin{static{o(this,"StripeMonetizationPlugin")}options;constructor(e){super(),this.options=e}registerRoutes(e,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(za.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=za.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Wa.ConfigurationError("StripeMonetizationPlugin - No 'meteringBucketId' property provided");if(!d)if(za.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=za.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Wa.ConfigurationError("StripeMonetizationPlugin - No 'apiKeyBucketName' property provided");if(!wO.Environment.instance.build.ACCOUNT_NAME)throw new Wa.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!RO(p))throw new Wa.ConfigurationError(`StripeMonetizationPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let f=await c.json();if(!(0,vO.isStripeWebhookEvent)(f))return u_.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${f.type}' with ID '${f.id}'.`),f.type){case"customer.subscription.created":return await(0,IO.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,AO.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,PO.default)(c,u,f,{meteringBucketId:l});default:return u_.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe monetization plugin webhook."})}},"stripeWebhookHandler"),i=(0,bO.createInternalPolicyProcessor)({inboundPolicies:[new gO.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]});(0,TO.optionValidator)(this.options.webhooks,"StripeMonetizationPlugin","plugin").required("signingSecret","string").optional("tolerance","number");let s=new mO.Pipeline({processors:[yO.metricsProcessor,i],handler:n,gateway:r}),a=new EO.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:_O.SystemRouteName.StripePlugin});e.addRoute(a,s.execute)}};ei.StripeMonetizationPlugin=yf;function RO(t){return t!==null&&typeof t=="string"&&["us-central1","europe-west4"].includes(t)}o(RO,"isMetricsRegion")});var m_=b(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});ti.AmberfloMeteringInboundPolicy=ti.AmberfloMeteringPolicy=void 0;var d_=k(),OO=Pe(),p_=Kt(),h_=new WeakMap,f_={},_f=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){h_.set(e,r)}};ti.AmberfloMeteringPolicy=_f;async function NO(t,e,r,n){if(!r.statusCodes)throw new d_.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=(0,p_.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=h_.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new d_.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,p_.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)},f=f_[r.apiKey];if(!f){let h=r.apiKey,g=t.headers.get("zm-test-id")??"";f=new OO.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let T=r.url??"https://app.amberflo.io/ingest",A=await fetch(T,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});A.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${A.status}: ${await A.text()}`)}catch(T){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),f_[h]=f}f.enqueue(p),e.waitUntil(f.waitUntilFlushed())}}),t}o(NO,"AmberfloMeteringInboundPolicy");ti.AmberfloMeteringInboundPolicy=NO});var Ef=b(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.sha256=void 0;async function CO(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(CO,"sha256");Qa.sha256=CO});var Zt=b(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.getPolicyCacheName=void 0;var xO=Ef(),g_=new Map;async function LO(t,e){let r,n=g_.get(t);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,xO.sha256)(JSON.stringify({policyName:t,options:e}))}`,g_.set(t,r)),r}o(LO,"getPolicyCacheName");Ya.getPolicyCacheName=LO});var Tf=b(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.ApiKeyInboundPolicy=void 0;var DO=Zt(),MO=nr(),y_=Ji(),wf=k(),UO=Gt(),b_=Ze(),vf=ie(),kO=Dn(),__="key-metadata-cache-type";function FO(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(FO,"getKeyValue");async function HO(t,e,r,n){if(!r.bucketName)if(y_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=y_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new wf.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 wf.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?t:UO.HttpProblems.unauthorized(t,e,{detail:T}),"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=FO(a,i);if(!c||c==="")return s("No key present");let u=await qO(c),l=await(0,DO.getPolicyCacheName)(n,i),d=new MO.MemoryZoneReadThroughCache(l,e),p=await d.get(u);if(p&&p.isValid===!0)return t.user=p.user,t;if(p&&!p.isValid)return p.typeId!==__&&b_.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let f={key:c},h=await(0,kO.fetchRetry)({retryDelayMs:5,retries:2,logger:b_.SystemLogMap.getLogger(e)},`${vf.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":vf.Environment.instance.deploymentName??"unknown","User-Agent":vf.Environment.instance.systemUserAgent},body:JSON.stringify(f)});if(h.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),A=JSON.parse(T);e.log.error("Unexpected response from key service",A)}catch{e.log.error("Invalid response from key service")}throw new wf.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:__,user:{sub:g.name,data:g.metadata}};return t.user=_.user,d.put(u,_,i.cacheTtlSeconds),t}o(HO,"ApiKeyInboundPolicy");Za.ApiKeyInboundPolicy=HO;async function qO(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(qO,"hashValue")});var E_=b(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ApiAuthKeyInboundPolicy=void 0;var $O=Tf();Xa.ApiAuthKeyInboundPolicy=$O.ApiKeyInboundPolicy});var Xt=b(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.OpenIdJwtInboundPolicy=void 0;var If=(ea(),Oo(Xs)),Pf=k(),jO=pe(),Sf={},VO=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new Pf.ConfigurationError("Invalid State - jwkUrl not set");Sf[e.jwkUrl]||(Sf[e.jwkUrl]=(0,If.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,If.jwtVerify)(t,Sf[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),BO=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,If.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),GO=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(f=>jO.HttpProblems.unauthorized(t,e,{detail:f}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Pf.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Pf.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?VO:BO,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 f=i.substring(s.length);if(!f||f.length===0)return a("No bearer token on authorization header");try{return await c(f,r)}catch(h){let g=new URL(t.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${g.pathname} `,h):e.log.warn(`Invalid token on: ${t.method} ${g.pathname}`,h),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");ec.OpenIdJwtInboundPolicy=GO});var w_=b(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.Auth0JwtInboundPolicy=void 0;var KO=Xt(),JO=o(async(t,e,r,n)=>(0,KO.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");tc.Auth0JwtInboundPolicy=JO});var v_=b(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.BasicAuthInboundPolicy=void 0;var zO=pe(),WO=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>zO.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 f=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===f&&_.password===h);return g||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");rc.BasicAuthInboundPolicy=WO});var T_=b(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.CachingInboundPolicy=void 0;var QO=Zt(),YO=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function ZO(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(ZO,"digestMessage");var XO=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 ZO(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 eN(t,e,r,n){let i=await(0,QO.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await XO(t,r),u=await s.match(c);return u||(e.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(t.method.toUpperCase()))return;let f=r?.expirationSecondsTtl??60,h=new Response(p.body,p);YO.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${f}`),e.waitUntil(s.put(c,h))}catch(d){e.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),t)}o(eN,"CachingInboundPolicy");nc.CachingInboundPolicy=eN});var S_=b(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.ChangeMethodInboundPolicy=void 0;var tN=k(),rN=Ge(),nN=o(async(t,e,r,n)=>{if(!r.method)throw new tN.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new rN.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");ic.ChangeMethodInboundPolicy=nN});var I_=b(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.ClearHeadersInboundPolicy=void 0;var iN=Ge(),oN=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 iN.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");oc.ClearHeadersInboundPolicy=oN});var P_=b(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.ClearHeadersOutboundPolicy=void 0;var sN=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");sc.ClearHeadersOutboundPolicy=sN});var A_=b(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.ClerkJwtInboundPolicy=void 0;var aN=Xt(),cN=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,aN.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");ac.ClerkJwtInboundPolicy=cN});var O_=b(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.CognitoJwtInboundPolicy=void 0;var R_=k(),uN=Xt(),lN=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new R_.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new R_.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,uN.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");cc.CognitoJwtInboundPolicy=lN});var C_=b(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.CompositeInboundPolicy=void 0;var dN=k(),pN=Hr(),N_=yn(),fN=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new dN.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=pN.Gateway.instance,s=(0,N_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,N_.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");uc.CompositeInboundPolicy=fN});var x_=b(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.CurityPhantomTokenInboundPolicy=void 0;var hN=Zt(),mN=nr(),lc=pe(),gN=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization");if(!i)return lc.HttpProblems.unauthorized(t,e,{detail:"No authorization header"});let s=yN(i);if(!s)return lc.HttpProblems.unauthorized(t,e,{detail:"Failed to parse token from Authorization header"});let a=await(0,hN.getPolicyCacheName)(n,r),c=new mN.MemoryZoneReadThroughCache(a,e),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(e.log.error(`Error introspecting token - ${l.status}: '${d}'`),lc.HttpProblems.internalServerError(t,e,{detail:"Problem encountered authorizing the HTTP request"})):lc.HttpProblems.unauthorized(t,e)}return t.headers.set("Authorization",`Bearer ${u}`),t},"CurityPhantomTokenInboundPolicy");dc.CurityPhantomTokenInboundPolicy=gN;function yN(t){return t.split(" ")[0]==="Bearer"?t.split(" ")[1]:null}o(yN,"getToken")});var L_=b(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.FirebaseJwtInboundPolicy=void 0;var bN=ut(),_N=Xt(),EN=o(async(t,e,r,n)=>((0,bN.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,_N.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");pc.FirebaseJwtInboundPolicy=EN});var D_=b(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.FormDataToJsonInboundPolicy=void 0;var wN=Ge(),vN=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 wN.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");fc.FormDataToJsonInboundPolicy=vN});var M_=b(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.GeoFilterInboundPolicy=void 0;var TN=k(),SN=pe(),ri="__unknown__",IN=o(async(t,e,r,n)=>{let i={allow:{countries:ii(r.allow?.countries,"allow.countries",n),regionCodes:ii(r.allow?.regionCodes,"allow.regionCode",n),asns:ii(r.allow?.asns,"allow.asOrganization",n)},block:{countries:ii(r.block?.countries,"block.countries",n),regionCodes:ii(r.block?.regionCodes,"block.regionCode",n),asns:ii(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??ri,a=e.incomingRequestProperties.regionCode?.toLowerCase()??ri,c=e.incomingRequestProperties.asn?.toString()??ri,u=i.ignoreUnknown&&s===ri,l=i.ignoreUnknown&&a===ri,d=i.ignoreUnknown&&c===ri,p=i.allow.countries,f=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||f.length>0&&!f.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return ni(t,e,n,s,a,c);let g=i.block.countries,_=i.block.regionCodes,T=i.block.asns;return g.length>0&&g.includes(s)&&!u||_.length>0&&_.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?ni(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");hc.GeoFilterInboundPolicy=IN;function ni(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),SN.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(ni,"blockedResponse");function ii(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 TN.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(ii,"toLowerStringArray")});var U_=b(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.JWTScopeValidationInboundPolicy=void 0;var PN=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");mc.JWTScopeValidationInboundPolicy=PN});var F_=b(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.MockApiInboundPolicy=void 0;var AN=pe(),RN=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return Af(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 Af(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(f=>{a.push({responseName:c,contentName:l,exampleName:f,exampleValue:d[f]})})})}),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 k_(a[c])}else return a.length>0?k_(a[0]):Af(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");gc.MockApiInboundPolicy=RN;function k_(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.set("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(k_,"generateResponse");var Af=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return AN.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var V_=b(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.MoesifInboundPolicy=oi.setMoesifContext=void 0;var ON=k(),NN=Pe(),CN="Incoming",xN={logRequestBody:!0,logResponseBody:!0};function H_(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(H_,"headersToObject");function q_(){return new Date().toISOString()}o(q_,"timestamp");var Rf=new WeakMap,LN={};function DN(t,e){let r=Rf.get(t);r||(r=LN);let n=Object.assign({...r},e);Rf.set(t,n)}o(DN,"setMoesifContext");oi.setMoesifContext=DN;async function $_(t,e){let r=t.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await t.clone().json()}catch(i){e.log.error(i)}let n=await t.clone().text();return e.log.debug({textBody:n}),n}o($_,"readBody");var MN={},Of;function j_(){if(!Of)throw new ON.RuntimeError("Invalid State - no _lastLogger");return Of}o(j_,"getLastLogger");function UN(t){let e=MN[t];return e||(e=new NN.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);j_().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||j_().error({status:i.status,body:await i.text()})})),e}o(UN,"getDispatcher");async function kN(t,e,r,n){Of=e.log;let i=q_(),s=Object.assign(xN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await $_(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=UN(s.applicationId),d=t.headers.get("true-client-ip"),p=Rf.get(e)??{},f={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:H_(t.headers)},h=s.logResponseBody?await $_(c,e):void 0,g={time:q_(),status:c.status,headers:H_(c.headers),body:h},_={request:f,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:CN};l.enqueue(_),e.waitUntil(l.waitUntilFlushed())}),t}o(kN,"MoesifInboundPolicy");oi.MoesifInboundPolicy=kN});var K_=b(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.consumeSubcriptionQuotas=si.loadSubscription=void 0;var B_=Ze(),G_=ie();async function FN(t,e,r,n){let i=B_.SystemLogMap.getLogger(t),{authApiJWT:s,meteringServiceUrl:a}=G_.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${e}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(FN,"loadSubscription");si.loadSubscription=FN;async function HN(t,e,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=G_.Environment.instance,c=B_.SystemLogMap.getLogger(t);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${e}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(HN,"consumeSubcriptionQuotas");si.consumeSubcriptionQuotas=HN});var J_=b(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.compareMeters=Nr.parseAllowedSubscriptionStatuses=Nr.validateMeters=void 0;var Xr=k(),qN=Kt(),$N=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function jN(t,e){try{let r=[];for(let n in t)typeof t[n]!="number"&&!(Number.isInteger(t[n])&&/^-?\d+$/.test(t[n].toString()))&&r.push(n);if(r.length>0)throw new Xr.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof Xr.ConfigurationError?new Xr.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'meters' is invalid. ${r.message}`):r}}o(jN,"validateMeters");Nr.validateMeters=jN;function VN(t,e){if(t)try{if(t.length===0)throw new Xr.ConfigurationError("Must set valid subscription statuses");let r=(0,qN.parseValueToStringArray)(t),n=[];for(let i of r)$N.has(i)||n.push(i);if(n.length>0)throw new Xr.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return t}catch(r){throw r instanceof Xr.ConfigurationError?new Xr.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(VN,"parseAllowedSubscriptionStatuses");Nr.parseAllowedSubscriptionStatuses=VN;function BN(t,e){let r={},n={};for(let i in e)t.hasOwnProperty(i)?r[i]=e[i]:n[i]=e[i];return{metersInSubscription:r,metersNotInSubscription:n}}o(BN,"compareMeters");Nr.compareMeters=BN});var Q_=b(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.MonetizationInboundPolicy=void 0;var en=ln(),tn=hp(),yc=Ji(),z_=k(),GN=gn(),rn=pe(),KN=Kt(),JN=ut(),W_=K_(),eo=J_(),Nf=class extends GN.InboundPolicy{static{o(this,"MonetizationInboundPolicy")}static getSubscription(e){return tn.ContextData.get(e,en.METERING_SUBSCRIPTION_CONTEXT_DATA)}static setMeters(e,r){(0,eo.validateMeters)(r,"setMeters"),tn.ContextData.set(e,en.DYNAMIC_METERS_CONTEXT_DATA,r)}async handler(e,r){(0,JN.optionValidator)(this.options,this.policyName).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),this.options.meterOnStatusCodes||(this.options.meterOnStatusCodes="200-399");let n=this.options.allowRequestsOverQuota??!1,i=(0,KN.statusCodesStringToNumberArray)(this.options.meterOnStatusCodes),s=tn.ContextData.get(r,en.DYNAMIC_METERS_CONTEXT_DATA),a={...this.options.meters,...s};(0,eo.validateMeters)(a,this.policyName);let c=this.options.allowRequestsWithoutSubscription??!1,u=(0,eo.parseAllowedSubscriptionStatuses)(this.options.allowedSubscriptionStatuses,this.policyName);r.addResponseSendingFinalHook(async(_,T,A)=>{let y=tn.ContextData.get(A,en.METERING_SUBSCRIPTION_CONTEXT_DATA);if((this.options.allowRequestsWithoutSubscription??!1)&&!y){A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!this.options.bucketId)if(yc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=yc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new z_.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let O=tn.ContextData.get(A,en.DYNAMIC_METERS_CONTEXT_DATA),V={...this.options.meters,...O};if((0,eo.validateMeters)(V,this.policyName),i.includes(_.status)&&y&&V){A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - Updating subscription '${y.id}' with meters '${JSON.stringify(V)} on response status '${_.status}'`);let{metersInSubscription:w,metersNotInSubscription:v}=(0,eo.compareMeters)(y.meters,V);if(v&&Object.keys(v).length>0){let C=Object.keys(v);A.log.warn(`The following meters cannot be applied since they are not present in the subscription: '${C}'`)}await(0,W_.consumeSubcriptionQuotas)(A,y.id,this.policyName,this.options.bucketId,w)}});let l=e.user;if(!l)return c?e:rn.HttpProblems.unauthorized(e,r,{detail:"Unable to check subscription for anonymous user"});if(!this.options.bucketId)if(yc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=yc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new z_.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let{sub:d}=l,p=await(0,W_.loadSubscription)(r,d,this.policyName,this.options.bucketId);if(!p)return r.log.warn("No valid subscription found"),c?e:rn.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});if(!u.includes(p.status)&&!c)return r.log.warn(`Subscription '${p.id}' has status '${p.status}' which is not part of the allowed statuses.`),rn.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});u.includes(p.status)&&(r.log.debug(`Loading subscription '${p.id}' for user sub '${d}' to ContextData`),tn.ContextData.set(r,en.METERING_SUBSCRIPTION_CONTEXT_DATA,p));let f=tn.ContextData.get(r,en.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!f)return c?e:(r.log.warn("Subscription is not available for user"),rn.HttpProblems.paymentRequired(e,r,{detail:"Subscription is not available for user",title:"No Subscription"}));if(f&&Object.keys(f.meters).length===0)return r.log.error(`Quota is not set up for subscription '${f.id}'`),rn.HttpProblems.tooManyRequests(e,r,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let g=Object.keys(a).filter(_=>!Object.keys(f.meters).includes(_));if(g.length>0)return r.log.warn(`The following policy meters are not present in the subscription: ${g.join(", ")}`),rn.HttpProblems.tooManyRequests(e,r,{detail:`The following policy meters are not present in the subscription: ${g.join(", ")}`,title:"Quota Exceeded"});for(let _ of Object.keys(a))if(f.meters[_].consumed<=0&&!n)return rn.HttpProblems.tooManyRequests(e,r,{detail:`Quota exceeded for meter '${_}'`,title:"Quota Exceeded"});return e}};bc.MonetizationInboundPolicy=Nf});var Y_=b(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.OktaJwtInboundPolicy=void 0;var zN=Xt(),WN=o(async(t,e,r,n)=>(0,zN.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");_c.OktaJwtInboundPolicy=WN});var Z_=b(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.PropelAuthJwtInboundPolicy=void 0;var QN=(ea(),Oo(Xs)),YN=Xt(),Cf,ZN=o(async(t,e,r,n)=>{if(!Cf)try{Cf=await(0,QN.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,YN.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:Cf,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ec.PropelAuthJwtInboundPolicy=ZN});var X_=b(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.throwIfStateNotObject=Z.throwIfStateNotNumber=Z.throwIfStateNotString=Z.throwIfStateUndefinedOrNull=Z.throwIfStateUndefined=Z.throwIfOptionNotObject=Z.throwIfOptionNotNumber=Z.throwIfOptionNotString=Z.throwIfOptionUndefinedOrNull=Z.throwIfOptionUndefined=Z.OptionTypeError=Z.OptionUndefinedError=Z.throwIfNotNumber=Z.throwIfNotString=Z.throwIfUndefinedOrNull=Z.throwIfUndefined=Z.ArgumentTypeError=Z.ArgumentUndefinedError=Z.ValidationError=void 0;var We=st(),lt=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};Z.ValidationError=lt;var to=class extends lt{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};Z.ArgumentUndefinedError=to;var ro=class extends lt{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};Z.ArgumentTypeError=ro;function XN(t,e){if((0,We.isUndefined)(t))throw new to(e)}o(XN,"throwIfUndefined");Z.throwIfUndefined=XN;function xf(t,e){if((0,We.isUndefinedOrNull)(t))throw new to(e)}o(xf,"throwIfUndefinedOrNull");Z.throwIfUndefinedOrNull=xf;function eC(t,e){if(xf(t,e),!(0,We.isString)(t))throw new ro(e,"string")}o(eC,"throwIfNotString");Z.throwIfNotString=eC;function tC(t,e){if(xf(t,e),!(0,We.isNumber)(t))throw new ro(e,"number")}o(tC,"throwIfNotNumber");Z.throwIfNotNumber=tC;var no=class extends lt{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};Z.OptionUndefinedError=no;var ai=class extends lt{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};Z.OptionTypeError=ai;function rC(t,e,r,n){if((0,We.isUndefined)(n))throw new no(t,e,r)}o(rC,"throwIfOptionUndefined");Z.throwIfOptionUndefined=rC;function wc(t,e,r,n){if((0,We.isUndefinedOrNull)(n))throw new no(t,e,r)}o(wc,"throwIfOptionUndefinedOrNull");Z.throwIfOptionUndefinedOrNull=wc;function nC(t,e,r,n){if(wc(t,e,r,n),!(0,We.isString)(n))throw new ai(t,e,r,"string")}o(nC,"throwIfOptionNotString");Z.throwIfOptionNotString=nC;function iC(t,e,r,n){if(wc(t,e,r,n),!(0,We.isNumber)(n))throw new ai(t,e,r,"number")}o(iC,"throwIfOptionNotNumber");Z.throwIfOptionNotNumber=iC;function oC(t,e,r,n){if(wc(t,e,r,n),!(0,We.isObject)(n))throw new ai(t,e,r,"object")}o(oC,"throwIfOptionNotObject");Z.throwIfOptionNotObject=oC;function sC(t,e){if((0,We.isUndefined)(t))throw new lt(e)}o(sC,"throwIfStateUndefined");Z.throwIfStateUndefined=sC;function vc(t,e){if((0,We.isUndefinedOrNull)(t))throw new lt(e)}o(vc,"throwIfStateUndefinedOrNull");Z.throwIfStateUndefinedOrNull=vc;function aC(t,e){if(vc(t,e),!(0,We.isString)(t))throw new lt(e);return!0}o(aC,"throwIfStateNotString");Z.throwIfStateNotString=aC;function cC(t,e){if(vc(t,e),!(0,We.isNumber)(t))throw new lt(e);return!0}o(cC,"throwIfStateNotNumber");Z.throwIfStateNotNumber=cC;function uC(t,e){if(vc(t,e),!(0,We.isObject)(t))throw new lt(e);return!0}o(uC,"throwIfStateNotObject");Z.throwIfStateNotObject=uC});var eE=b(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.InMemoryRedisClient=ci.StandardRedisClient=void 0;var Lf=k(),Tc=X_(),Df=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,Tc.throwIfNotString)(e,"redisClientUrl"),(0,Tc.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,Tc.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 Lf.SystemError("Redis client failed with 401: Unauthorized"):new Lf.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};ci.StandardRedisClient=Df;var Mf=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,Tc.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 Lf.SystemError("The in-memory redis client only supports /rate-limit calls")}};ci.InMemoryRedisClient=Mf});var oE=b(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.RateLimitInboundPolicy=void 0;var lC=Fr(),dC=Zt(),pC=Do(),Ft=k(),fC=pe(),tE=Ze(),io=ie(),rE=eE(),nE=st(),Sc=(0,lC.debug)("zuplo:policies:RateLimitInboundPolicy"),hC="strict",mC=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"),gC=o(async t=>({key:`ip-${mC(t)}`}),"getIP"),yC=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),bC=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ic;function _C(t,e){let r;if(Ic)return Ic;if(io.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new rE.InMemoryRedisClient,Ic=r,r;let{authApiJWT:n,redisURL:i}=io.Environment.instance;if(!(0,nE.isString)(i))throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,nE.isString)(n))throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=rE.StandardRedisClient.initialize(i,n,io.Environment.instance.deploymentName??"unknown",io.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ic=r,r}o(_C,"getRedisClient");async function iE(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(iE,"getCountAndUpdateExpiry");function EC(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new Ft.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 Ft.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 Ft.RuntimeError(u)}return c},"outerFunction")}o(EC,"wrapUserFunction");var wC="Retry-After",vC=o(async(t,e,r,n)=>{let i=Date.now(),s=tE.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new Ft.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[wC]=l.toString()),fC.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:EC(r,n),user:yC,ip:gC,all:bC}[r.rateLimitBy],d=await l(t,e,n),p=d.key,f=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=_C(n,s),A=`bucket/${io.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??hC)==="async"){let O=await(0,dC.getPolicyCacheName)(n,r),V=new pC.ZoneCache(O,{logger:tE.SystemLogMap.getLogger(e)}),w=iE(A,h,_,s,e.requestId),v=await V.get(A);if(v!==void 0&&v<=Date.now()){Sc(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${A}' (async mode)`);let C=Math.round((v-Date.now())/1e3);return c(g,C)}return e.addEventListener("responseSending",C=>{try{let E=C,P=E.mutableResponse;E.mutableResponse=(async()=>{let x=await w;if(x.count>f){let X=Date.now()+x.ttlSeconds*1e3,q=V.put(A,X,x.ttlSeconds).catch(D=>{throw s.error(new Ft.SystemError("Error caching rate limit result.",{cause:D})),D});return e.waitUntil(q),Sc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${A}' (async mode)`),c(g,x.ttlSeconds)}return P})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),t}let S=await iE(A,h,_,s,e.requestId);return S.count>f?(Sc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${A}' (strict mode)`),c(g,S.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Sc(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Pc.RateLimitInboundPolicy=vC});var uE=b(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.ReadmeMetricsInboundPolicy=void 0;var TC=Pe(),Uf=ie(),sE=Kt(),kf;function aE(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(aE,"headersToNameValuePairs");function SC(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(SC,"queryToNameValueParis");function IC(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(IC,"parseIntOrUndefined");var cE={};async function PC(t,e,r,n){let i=new Date,s=Date.now();return kf||(kf={name:"zuplo",version:Uf.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Uf.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,sE.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,sE.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Uf.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:kf,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:aE(t.headers),queryString:SC(t.query)},response:{status:a.status,statusText:a.statusText,headers:aE(a.headers),content:{size:IC(t.headers.get("content-length"))}}}]}}},d=cE[r.apiKey];if(!d){let p=r.apiKey;d=new TC.BatchDispatch("readme-metering-inbound-policy",10,async f=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(f),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),cE[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(PC,"ReadmeMetricsInboundPolicy");Ac.ReadmeMetricsInboundPolicy=PC});var lE=b(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.RemoveHeadersInboundPolicy=void 0;var AC=k(),RC=Ge(),OC=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new AC.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 RC.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Rc.RemoveHeadersInboundPolicy=OC});var dE=b(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.RemoveHeadersOutboundPolicy=void 0;var NC=k(),CC=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new NC.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");Oc.RemoveHeadersOutboundPolicy=CC});var pE=b(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.RemoveQueryParamsInboundPolicy=void 0;var xC=k(),LC=Ge(),DC=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new xC.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 LC.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");Nc.RemoveQueryParamsInboundPolicy=DC});var fE=b(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.ReplaceStringOutboundPolicy=void 0;var MC=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");Cc.ReplaceStringOutboundPolicy=MC});var mE=b(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.RequestSizeLimitInboundPolicy=void 0;var hE=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),UC=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?hE():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?hE():t},"RequestSizeLimitInboundPolicy");xc.RequestSizeLimitInboundPolicy=UC});var Lc=b(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.sanitizedIdentifierName=dt.getIdForRefSchema=dt.getIdForRequestBodySchema=dt.getIdForParameterSchema=dt.getRawOperationDataIdentifierName=void 0;function kC(t,e,r){return`_${nn(t+"_"+e+"_"+r)}`}o(kC,"getRawOperationDataIdentifierName");dt.getRawOperationDataIdentifierName=kC;function FC(t,e,r,n){return`_${nn(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(FC,"getIdForParameterSchema");dt.getIdForParameterSchema=FC;function HC(t,e,r){return`_${nn(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${nn(r.toLowerCase())}`}o(HC,"getIdForRequestBodySchema");dt.getIdForRequestBodySchema=HC;function qC(t,e){return`_${nn(t)}__${nn(e)}`}o(qC,"getIdForRefSchema");dt.getIdForRefSchema=qC;function nn(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(nn,"sanitizedIdentifierName");dt.sanitizedIdentifierName=nn});var oo=b($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.getErrorsFromValidator=$e.shouldReject=$e.shouldLog=$e.logErrors=$e.validateParameters=$e.getParametersForOperation=void 0;var $C=Hr(),jC=Lc(),VC=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");$e.getParametersForOperation=VC;var BC=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{let l=u.required||i==="path";if(l&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!e[u.name])){let d=(0,jC.getIdForParameterSchema)(r,n,i,u.name),p=$C.Gateway.instance.schemaValidator[d],f=p(e[u.name]),h=(0,$e.getErrorsFromValidator)(p.errors);f||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");$e.validateParameters=BC;var GC=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");$e.logErrors=GC;var KC=o(t=>t==="log-only"||t==="reject-and-log","shouldLog");$e.shouldLog=KC;var JC=o(t=>t==="reject-only"||t==="reject-and-log","shouldReject");$e.shouldReject=JC;var zC=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");$e.getErrorsFromValidator=zC});var gE=b(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.handleBodyValidation=void 0;var WC=Hr(),Dc=pe(),QC=Lc(),et=oo();async function YC(t,e,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await e.clone().json()}catch(h){let g=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,_=Dc.HttpProblems.badRequest(e,t,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",g,[n],h),(0,et.shouldReject)(r.validateBody))return _}if(!e.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,g=Dc.HttpProblems.badRequest(e,t,{detail:h});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,et.shouldReject)(r.validateBody)?g:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,QC.getIdForRequestBodySchema)(t.route.path,e.method,i),c=WC.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,g=Dc.HttpProblems.badRequest(e,t,{detail:h});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,et.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,et.getErrorsFromValidator)(l),f=Dc.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",d,[n],p),(0,et.shouldReject)(r.validateBody))return f}o(YC,"handleBodyValidation");Mc.handleBodyValidation=YC});var yE=b(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.handleHeadersValidation=void 0;var ZC=pe(),so=oo();function XC(t,e,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,so.getParametersForOperation)(t),s=(0,so.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=ZC.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,so.shouldLog)(r.validateHeaders)&&(0,so.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,so.shouldReject)(r.validateHeaders))return c}}o(XC,"handleHeadersValidation");Uc.handleHeadersValidation=XC});var bE=b(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.handlePathParameterValidation=void 0;var ex=pe(),ao=oo();function tx(t,e,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,ao.getParametersForOperation)(t),i=(0,ao.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=ex.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,ao.shouldLog)(r.validatePathParameters)&&(0,ao.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,ao.shouldReject)(r.validatePathParameters))return a}}o(tx,"handlePathParameterValidation");kc.handlePathParameterValidation=tx});var _E=b(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.handleQueryParameterValidation=void 0;var rx=pe(),co=oo();function nx(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,co.getParametersForOperation)(t),i=(0,co.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=rx.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,co.shouldLog)(r.validateQueryParameters)&&(0,co.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,co.shouldReject)(r.validateQueryParameters))return a}}o(nx,"handleQueryParameterValidation");Fc.handleQueryParameterValidation=nx});var EE=b(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.SchemaBasedRequestValidation=on.RequestValidationInboundPolicy=void 0;var ix=gE(),ox=yE(),sx=bE(),ax=_E(),cx=o(async(t,e,r)=>{let n=(0,ax.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,sx.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,ox.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,ix.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");on.RequestValidationInboundPolicy=cx;on.SchemaBasedRequestValidation=on.RequestValidationInboundPolicy});var wE=b(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.RequireOriginInboundPolicy=void 0;var ux=k(),lx=pe(),dx=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new ux.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 lx.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");Hc.RequireOriginInboundPolicy=dx});var vE=b(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.SetBodyInboundPolicy=void 0;var px=Ge(),fx=o(async(t,e,r)=>new px.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");qc.SetBodyInboundPolicy=fx});var SE=b($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.SetHeadersInboundPolicy=void 0;var TE=k(),hx=Ge(),mx=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new TE.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 TE.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 hx.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");$c.SetHeadersInboundPolicy=mx});var PE=b(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.SetHeadersOutboundPolicy=void 0;var IE=k(),gx=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new IE.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 IE.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");jc.SetHeadersOutboundPolicy=gx});var RE=b(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.SetQueryParamsInboundPolicy=void 0;var AE=k(),yx=Ge(),bx=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new AE.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 AE.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 yx.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Vc.SetQueryParamsInboundPolicy=bx});var OE=b(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.SetStatusOutboundPolicy=void 0;var _x=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");Bc.SetStatusOutboundPolicy=_x});var NE=b(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.SleepInboundPolicy=void 0;var Ex=k(),wx=o(async t=>new Promise(r=>{setTimeout(r,t)}),"sleep"),vx=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new Ex.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await wx(r.sleepInMs),t},"SleepInboundPolicy");Gc.SleepInboundPolicy=vx});var xE=b(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.SupabaseJwtInboundPolicy=void 0;var CE=k(),Tx=pe(),Sx=Ge(),Ix=ut(),Px=Xt(),Ax=o(async(t,e,r,n)=>{(0,Ix.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,Px.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof Sx.ZuploRequest))throw new CE.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 CE.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?Tx.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Kc.SupabaseJwtInboundPolicy=Ax});var DE=b(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var Rx=Zt(),Ox=nr(),LE=k(),Nx=Dn(),Cx=ut(),xx=o(async(t,e,r,n)=>{(0,Cx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,Rx.getPolicyCacheName)(n,r),s=new Ox.MemoryZoneReadThroughCache(i,e),a=await s.get(n);if(!a){let c=await Lx(r,e);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");Jc.UpstreamAzureAdServiceAuthInboundPolicy=xx;async function Lx(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,Nx.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 LE.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 LE.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(Lx,"getAccessToken")});var UE=b(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var Dx=Zt(),Mx=nr(),Ux=k(),Ff=Mn(),kx=ut(),ME="https://accounts.google.com/o/oauth2/token",Hf,Fx=o(async(t,e,r,n)=>{(0,kx.optionValidator)(r,n).required("serviceAccountJson","string"),Hf||(Hf=await Ff.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,Dx.getPolicyCacheName)(n,r),a=new Mx.MemoryZoneReadThroughCache(s,e),c=await a.get(n);if(!c){let u=await(0,Ff.getTokenFromGcpServiceAccount)({serviceAccount:Hf,audience:ME,payload:i}),l=await(0,Ff.exchangeGgpJwtForIdToken)(ME,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new Ux.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");zc.UpstreamFirebaseAdminAuthInboundPolicy=Fx});var kE=b(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var Hx=Zt(),qx=nr(),ui=k(),$x=Ef(),qf=Mn(),jx=Kt(),Vx=ut(),Bx="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",Gx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],$f,Kx=o(async(t,e,r,n)=>{if((0,Vx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new ui.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(Gx.indexOf(p)!==-1)throw new ui.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}$f||($f=await qf.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new ui.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 ui.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,jx.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new ui.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,Hx.getPolicyCacheName)(n,r),c=new qx.MemoryZoneReadThroughCache(a,e),u={uid:s,claims:i},l=await(0,$x.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,qf.getTokenFromGcpServiceAccount)({serviceAccount:$f,audience:Bx,payload:u}),f=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,qf.exchangeFirebaseJwtForIdToken)(f,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new ui.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${d}`),t},"UpstreamFirebaseUserAuthInboundPolicy");Wc.UpstreamFirebaseUserAuthInboundPolicy=Kx});var HE=b(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.UpstreamGcpJwtInboundPolicy=void 0;var FE=Mn(),Jx=ut(),jf,zx=o(async(t,e,r,n)=>{(0,Jx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),jf||(jf=await FE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,FE.getTokenFromGcpServiceAccount)({serviceAccount:jf,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");Qc.UpstreamGcpJwtInboundPolicy=zx});var $E=b(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.UpstreamGcpServiceAuthInboundPolicy=void 0;var Wx=Zt(),Qx=zu(),Yx=nr(),uo=k(),Vf=Mn(),Zx=Kt(),Xx=ut(),qE="https://www.googleapis.com/oauth2/v4/token",Bf,eL=o(async(t,e,r,n)=>{(0,Xx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Bf||(Bf=await Vf.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new uo.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,Zx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof uo.ConfigurationError?new uo.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,Wx.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new Qx.MemoryCache(s):a=new Yx.MemoryZoneReadThroughCache(s,e);let c=await a.get(n);if(!c){let u=await(0,Vf.getTokenFromGcpServiceAccount)({serviceAccount:Bf,audience:qE,payload:i}),l=await(0,Vf.exchangeGgpJwtForIdToken)(qE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new uo.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new uo.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamGcpServiceAuthInboundPolicy");Yc.UpstreamGcpServiceAuthInboundPolicy=eL});var VE=b(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.ValidateJsonSchemaInbound=void 0;var tL=k(),jE=pe(),rL=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return jE.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 tL.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 jE.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Zc.ValidateJsonSchemaInbound=rL});var KE=b((vJ,GE)=>{"use strict";var nL=Object.defineProperty,iL=Object.getOwnPropertyNames,B=o((t,e)=>nL(t,"name",{value:e,configurable:!0}),"__name"),wt=o((t,e)=>o(function(){return e||(0,t[iL(t)[0]])((e={exports:{}}).exports,e),e.exports},"__require"),"__commonJS"),Gf=wt({"node_modules/fast-xml-parser/src/util.js"(t){"use strict";var e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",n="["+e+"]["+r+"]*",i=new RegExp("^"+n+"$"),s=B(function(c,u){let l=[],d=u.exec(c);for(;d;){let p=[];p.startIndex=u.lastIndex-d[0].length;let f=d.length;for(let h=0;h<f;h++)p.push(d[h]);l.push(p),d=u.exec(c)}return l},"getAllMatches"),a=B(function(c){let u=i.exec(c);return!(u===null||typeof u>"u")},"isName");t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,u,l){if(u){let d=Object.keys(u),p=d.length;for(let f=0;f<p;f++)l==="strict"?c[d[f]]=[u[d[f]]]:c[d[f]]=u[d[f]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=n}}),BE=wt({"node_modules/fast-xml-parser/src/validator.js"(t){"use strict";var e=Gf(),r={allowBooleanAttributes:!1,unpairedTags:[]};t.validate=function(y,S){S=Object.assign({},r,S);let O=[],V=!1,w=!1;y[0]==="\uFEFF"&&(y=y.substr(1));for(let v=0;v<y.length;v++)if(y[v]==="<"&&y[v+1]==="?"){if(v+=2,v=i(y,v),v.err)return v}else if(y[v]==="<"){let C=v;if(v++,y[v]==="!"){v=s(y,v);continue}else{let E=!1;y[v]==="/"&&(E=!0,v++);let P="";for(;v<y.length&&y[v]!==">"&&y[v]!==" "&&y[v]!==" "&&y[v]!==`
75
75
  `&&y[v]!=="\r";v++)P+=y[v];if(P=P.trim(),P[P.length-1]==="/"&&(P=P.substring(0,P.length-1),v--),!_(P)){let q;return P.trim().length===0?q="Invalid space after '<'.":q="Tag '"+P+"' is an invalid name.",h("InvalidTag",q,T(y,v))}let x=u(y,v);if(x===!1)return h("InvalidAttr","Attributes for '"+P+"' have open quote.",T(y,v));let X=x.value;if(v=x.index,X[X.length-1]==="/"){let q=v-X.length;X=X.substring(0,X.length-1);let D=d(X,S);if(D===!0)V=!0;else return h(D.err.code,D.err.msg,T(y,q+D.err.line))}else if(E)if(x.tagClosed){if(X.trim().length>0)return h("InvalidTag","Closing tag '"+P+"' can't have attributes or invalid starting.",T(y,C));{let q=O.pop();if(P!==q.tagName){let D=T(y,q.tagStartPos);return h("InvalidTag","Expected closing tag '"+q.tagName+"' (opened in line "+D.line+", col "+D.col+") instead of closing tag '"+P+"'.",T(y,C))}O.length==0&&(w=!0)}}else return h("InvalidTag","Closing tag '"+P+"' doesn't have proper closing.",T(y,v));else{let q=d(X,S);if(q!==!0)return h(q.err.code,q.err.msg,T(y,v-X.length+q.err.line));if(w===!0)return h("InvalidXml","Multiple possible root nodes found.",T(y,v));S.unpairedTags.indexOf(P)!==-1||O.push({tagName:P,tagStartPos:C}),V=!0}for(v++;v<y.length;v++)if(y[v]==="<")if(y[v+1]==="!"){v++,v=s(y,v);continue}else if(y[v+1]==="?"){if(v=i(y,++v),v.err)return v}else break;else if(y[v]==="&"){let q=f(y,v);if(q==-1)return h("InvalidChar","char '&' is not expected.",T(y,v));v=q}else if(w===!0&&!n(y[v]))return h("InvalidXml","Extra text at the end",T(y,v));y[v]==="<"&&v--}}else{if(n(y[v]))continue;return h("InvalidChar","char '"+y[v]+"' is not expected.",T(y,v))}if(V){if(O.length==1)return h("InvalidTag","Unclosed tag '"+O[0].tagName+"'.",T(y,O[0].tagStartPos));if(O.length>0)return h("InvalidXml","Invalid '"+JSON.stringify(O.map(v=>v.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return h("InvalidXml","Start tag expected.",1);return!0};function n(y){return y===" "||y===" "||y===`
76
- `||y==="\r"}o(n,"isWhiteSpace"),B(n,"isWhiteSpace");function i(y,S){let O=S;for(;S<y.length;S++)if(y[S]=="?"||y[S]==" "){let V=y.substr(O,S-O);if(S>5&&V==="xml")return h("InvalidXml","XML declaration allowed only at the start of the document.",T(y,S));if(y[S]=="?"&&y[S+1]==">"){S++;break}else continue}return S}o(i,"readPI"),B(i,"readPI");function s(y,S){if(y.length>S+5&&y[S+1]==="-"&&y[S+2]==="-"){for(S+=3;S<y.length;S++)if(y[S]==="-"&&y[S+1]==="-"&&y[S+2]===">"){S+=2;break}}else if(y.length>S+8&&y[S+1]==="D"&&y[S+2]==="O"&&y[S+3]==="C"&&y[S+4]==="T"&&y[S+5]==="Y"&&y[S+6]==="P"&&y[S+7]==="E"){let O=1;for(S+=8;S<y.length;S++)if(y[S]==="<")O++;else if(y[S]===">"&&(O--,O===0))break}else if(y.length>S+9&&y[S+1]==="["&&y[S+2]==="C"&&y[S+3]==="D"&&y[S+4]==="A"&&y[S+5]==="T"&&y[S+6]==="A"&&y[S+7]==="["){for(S+=8;S<y.length;S++)if(y[S]==="]"&&y[S+1]==="]"&&y[S+2]===">"){S+=2;break}}return S}o(s,"readCommentAndCDATA"),B(s,"readCommentAndCDATA");var a='"',c="'";function u(y,S){let O="",V="",w=!1;for(;S<y.length;S++){if(y[S]===a||y[S]===c)V===""?V=y[S]:V!==y[S]||(V="");else if(y[S]===">"&&V===""){w=!0;break}O+=y[S]}return V!==""?!1:{value:O,index:S,tagClosed:w}}o(u,"readAttributeStr"),B(u,"readAttributeStr");var l=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function d(y,S){let O=e.getAllMatches(y,l),V={};for(let w=0;w<O.length;w++){if(O[w][1].length===0)return h("InvalidAttr","Attribute '"+O[w][2]+"' has no space in starting.",A(O[w]));if(O[w][3]!==void 0&&O[w][4]===void 0)return h("InvalidAttr","Attribute '"+O[w][2]+"' is without value.",A(O[w]));if(O[w][3]===void 0&&!S.allowBooleanAttributes)return h("InvalidAttr","boolean attribute '"+O[w][2]+"' is not allowed.",A(O[w]));let v=O[w][2];if(!g(v))return h("InvalidAttr","Attribute '"+v+"' is an invalid name.",A(O[w]));if(!V.hasOwnProperty(v))V[v]=1;else return h("InvalidAttr","Attribute '"+v+"' is repeated.",A(O[w]))}return!0}o(d,"validateAttributeString"),B(d,"validateAttributeString");function p(y,S){let O=/\d/;for(y[S]==="x"&&(S++,O=/[\da-fA-F]/);S<y.length;S++){if(y[S]===";")return S;if(!y[S].match(O))break}return-1}o(p,"validateNumberAmpersand"),B(p,"validateNumberAmpersand");function f(y,S){if(S++,y[S]===";")return-1;if(y[S]==="#")return S++,p(y,S);let O=0;for(;S<y.length;S++,O++)if(!(y[S].match(/\w/)&&O<20)){if(y[S]===";")break;return-1}return S}o(f,"validateAmpersand"),B(f,"validateAmpersand");function h(y,S,O){return{err:{code:y,msg:S,line:O.line||O,col:O.col}}}o(h,"getErrorObject"),B(h,"getErrorObject");function g(y){return e.isName(y)}o(g,"validateAttrName"),B(g,"validateAttrName");function _(y){return e.isName(y)}o(_,"validateTagName"),B(_,"validateTagName");function T(y,S){let O=y.substring(0,S).split(/\r?\n/);return{line:O.length,col:O[O.length-1].length+1}}o(T,"getLineNumberForPosition"),B(T,"getLineNumberForPosition");function A(y){return y.startIndex+y[1].length}o(A,"getPositionFromMatch"),B(A,"getPositionFromMatch")}}),iL=wt({"node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(t){var e={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(n,i){return i},attributeValueProcessor:function(n,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,i,s){return n}},r=B(function(n){return Object.assign({},e,n)},"buildOptions");t.buildOptions=r,t.defaultOptions=e}}),oL=wt({"node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(t,e){"use strict";var r=class{static{o(this,"XmlNode")}static{B(this,"XmlNode")}constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:i})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,":@":n[":@"]}):this.child.push({[n.tagname]:n.child})}};e.exports=r}}),sL=wt({"node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js"(t,e){var r=Gf();function n(p,f){let h={};if(p[f+3]==="O"&&p[f+4]==="C"&&p[f+5]==="T"&&p[f+6]==="Y"&&p[f+7]==="P"&&p[f+8]==="E"){f=f+9;let g=1,_=!1,T=!1,A="";for(;f<p.length;f++)if(p[f]==="<"&&!T){if(_&&a(p,f))f+=7,[entityName,val,f]=i(p,f+1),val.indexOf("&")===-1&&(h[d(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(_&&c(p,f))f+=8;else if(_&&u(p,f))f+=8;else if(_&&l(p,f))f+=9;else if(s)T=!0;else throw new Error("Invalid DOCTYPE");g++,A=""}else if(p[f]===">"){if(T?p[f-1]==="-"&&p[f-2]==="-"&&(T=!1,g--):g--,g===0)break}else p[f]==="["?_=!0:A+=p[f];if(g!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:h,i:f}}o(n,"readDocType"),B(n,"readDocType");function i(p,f){let h="";for(;f<p.length&&p[f]!=="'"&&p[f]!=='"';f++)h+=p[f];if(h=h.trim(),h.indexOf(" ")!==-1)throw new Error("External entites are not supported");let g=p[f++],_="";for(;f<p.length&&p[f]!==g;f++)_+=p[f];return[h,_,f]}o(i,"readEntityExp"),B(i,"readEntityExp");function s(p,f){return p[f+1]==="!"&&p[f+2]==="-"&&p[f+3]==="-"}o(s,"isComment"),B(s,"isComment");function a(p,f){return p[f+1]==="!"&&p[f+2]==="E"&&p[f+3]==="N"&&p[f+4]==="T"&&p[f+5]==="I"&&p[f+6]==="T"&&p[f+7]==="Y"}o(a,"isEntity"),B(a,"isEntity");function c(p,f){return p[f+1]==="!"&&p[f+2]==="E"&&p[f+3]==="L"&&p[f+4]==="E"&&p[f+5]==="M"&&p[f+6]==="E"&&p[f+7]==="N"&&p[f+8]==="T"}o(c,"isElement"),B(c,"isElement");function u(p,f){return p[f+1]==="!"&&p[f+2]==="A"&&p[f+3]==="T"&&p[f+4]==="T"&&p[f+5]==="L"&&p[f+6]==="I"&&p[f+7]==="S"&&p[f+8]==="T"}o(u,"isAttlist"),B(u,"isAttlist");function l(p,f){return p[f+1]==="!"&&p[f+2]==="N"&&p[f+3]==="O"&&p[f+4]==="T"&&p[f+5]==="A"&&p[f+6]==="T"&&p[f+7]==="I"&&p[f+8]==="O"&&p[f+9]==="N"}o(l,"isNotation"),B(l,"isNotation");function d(p){if(r.isName(p))return p;throw new Error(`Invalid entity name ${p}`)}o(d,"validateEntityName"),B(d,"validateEntityName"),e.exports=n}}),aL=wt({"../../node_modules/strnum/strnum.js"(t,e){var r=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function s(c,u={}){if(u=Object.assign({},i,u),!c||typeof c!="string")return c;let l=c.trim();if(u.skipLike!==void 0&&u.skipLike.test(l))return c;if(u.hex&&r.test(l))return Number.parseInt(l,16);{let d=n.exec(l);if(d){let p=d[1],f=d[2],h=a(d[3]),g=d[4]||d[6];if(!u.leadingZeros&&f.length>0&&p&&l[2]!==".")return c;if(!u.leadingZeros&&f.length>0&&!p&&l[1]!==".")return c;{let _=Number(l),T=""+_;return T.search(/[eE]/)!==-1||g?u.eNotation?_:c:l.indexOf(".")!==-1?T==="0"&&h===""||T===h||p&&T==="-"+h?_:c:f?h===T||p+h===T?_:c:l===T||l===p+T?_:c}}else return c}}o(s,"toNumber"),B(s,"toNumber");function a(c){return c&&c.indexOf(".")!==-1&&(c=c.replace(/0+$/,""),c==="."?c="0":c[0]==="."?c="0"+c:c[c.length-1]==="."&&(c=c.substr(0,c.length-1))),c}o(a,"trimZeros"),B(a,"trimZeros"),e.exports=s}}),cL=wt({"node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(t,e){"use strict";var r=Gf(),n=oL(),i=sL(),s=aL(),a=class{static{o(this,"OrderedObjParser")}static{B(this,"OrderedObjParser")}constructor(w){this.options=w,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=c,this.parseXml=f,this.parseTextData=u,this.resolveNameSpace=l,this.buildAttributesMap=p,this.isItStopNode=T,this.replaceEntitiesValue=g,this.readStopNodeData=O,this.saveTextToParentTag=_,this.addChild=h}};function c(w){let v=Object.keys(w);for(let C=0;C<v.length;C++){let E=v[C];this.lastEntities[E]={regex:new RegExp("&"+E+";","g"),val:w[E]}}}o(c,"addExternalEntities"),B(c,"addExternalEntities");function u(w,v,C,E,P,x,X){if(w!==void 0&&(this.options.trimValues&&!E&&(w=w.trim()),w.length>0)){X||(w=this.replaceEntitiesValue(w));let q=this.options.tagValueProcessor(v,w,C,P,x);return q==null?w:typeof q!=typeof w||q!==w?q:this.options.trimValues?V(w,this.options.parseTagValue,this.options.numberParseOptions):w.trim()===w?V(w,this.options.parseTagValue,this.options.numberParseOptions):w}}o(u,"parseTextData"),B(u,"parseTextData");function l(w){if(this.options.removeNSPrefix){let v=w.split(":"),C=w.charAt(0)==="/"?"/":"";if(v[0]==="xmlns")return"";v.length===2&&(w=C+v[1])}return w}o(l,"resolveNameSpace"),B(l,"resolveNameSpace");var d=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function p(w,v,C){if(!this.options.ignoreAttributes&&typeof w=="string"){let E=r.getAllMatches(w,d),P=E.length,x={};for(let X=0;X<P;X++){let q=this.resolveNameSpace(E[X][1]),D=E[X][4],be=this.options.attributeNamePrefix+q;if(q.length)if(this.options.transformAttributeName&&(be=this.options.transformAttributeName(be)),be==="__proto__"&&(be="#__proto__"),D!==void 0){this.options.trimValues&&(D=D.trim()),D=this.replaceEntitiesValue(D);let le=this.options.attributeValueProcessor(q,D,v);le==null?x[be]=D:typeof le!=typeof D||le!==D?x[be]=le:x[be]=V(D,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(x[be]=!0)}if(!Object.keys(x).length)return;if(this.options.attributesGroupName){let X={};return X[this.options.attributesGroupName]=x,X}return x}}o(p,"buildAttributesMap"),B(p,"buildAttributesMap");var f=B(function(w){w=w.replace(/\r\n?/g,`
77
- `);let v=new n("!xml"),C=v,E="",P="";for(let x=0;x<w.length;x++)if(w[x]==="<")if(w[x+1]==="/"){let q=y(w,">",x,"Closing Tag is not closed."),D=w.substring(x+2,q).trim();if(this.options.removeNSPrefix){let mt=D.indexOf(":");mt!==-1&&(D=D.substr(mt+1))}this.options.transformTagName&&(D=this.options.transformTagName(D)),C&&(E=this.saveTextToParentTag(E,C,P));let be=P.substring(P.lastIndexOf(".")+1);if(D&&this.options.unpairedTags.indexOf(D)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${D}>`);let le=0;be&&this.options.unpairedTags.indexOf(be)!==-1?(le=P.lastIndexOf(".",P.lastIndexOf(".")-1),this.tagsNodeStack.pop()):le=P.lastIndexOf("."),P=P.substring(0,le),C=this.tagsNodeStack.pop(),E="",x=q}else if(w[x+1]==="?"){let q=S(w,x,!1,"?>");if(!q)throw new Error("Pi Tag is not closed.");if(E=this.saveTextToParentTag(E,C,P),!(this.options.ignoreDeclaration&&q.tagName==="?xml"||this.options.ignorePiTags)){let D=new n(q.tagName);D.add(this.options.textNodeName,""),q.tagName!==q.tagExp&&q.attrExpPresent&&(D[":@"]=this.buildAttributesMap(q.tagExp,P,q.tagName)),this.addChild(C,D,P)}x=q.closeIndex+1}else if(w.substr(x+1,3)==="!--"){let q=y(w,"-->",x+4,"Comment is not closed.");if(this.options.commentPropName){let D=w.substring(x+4,q-2);E=this.saveTextToParentTag(E,C,P),C.add(this.options.commentPropName,[{[this.options.textNodeName]:D}])}x=q}else if(w.substr(x+1,2)==="!D"){let q=i(w,x);this.docTypeEntities=q.entities,x=q.i}else if(w.substr(x+1,2)==="!["){let q=y(w,"]]>",x,"CDATA is not closed.")-2,D=w.substring(x+9,q);E=this.saveTextToParentTag(E,C,P);let be=this.parseTextData(D,C.tagname,P,!0,!1,!0,!0);be==null&&(be=""),this.options.cdataPropName?C.add(this.options.cdataPropName,[{[this.options.textNodeName]:D}]):C.add(this.options.textNodeName,be),x=q+2}else{let q=S(w,x,this.options.removeNSPrefix),D=q.tagName,be=q.rawTagName,le=q.tagExp,mt=q.attrExpPresent,Ph=q.closeIndex;this.options.transformTagName&&(D=this.options.transformTagName(D)),C&&E&&C.tagname!=="!xml"&&(E=this.saveTextToParentTag(E,C,P,!1));let Ah=C;if(Ah&&this.options.unpairedTags.indexOf(Ah.tagname)!==-1&&(C=this.tagsNodeStack.pop(),P=P.substring(0,P.lastIndexOf("."))),D!==v.tagname&&(P+=P?"."+D:D),this.isItStopNode(this.options.stopNodes,P,D)){let ot="";if(le.length>0&&le.lastIndexOf("/")===le.length-1)x=q.closeIndex;else if(this.options.unpairedTags.indexOf(D)!==-1)x=q.closeIndex;else{let $u=this.readStopNodeData(w,be,Ph+1);if(!$u)throw new Error(`Unexpected end of ${be}`);x=$u.i,ot=$u.tagContent}let qu=new n(D);D!==le&&mt&&(qu[":@"]=this.buildAttributesMap(le,P,D)),ot&&(ot=this.parseTextData(ot,D,P,!0,mt,!0,!0)),P=P.substr(0,P.lastIndexOf(".")),qu.add(this.options.textNodeName,ot),this.addChild(C,qu,P)}else{if(le.length>0&&le.lastIndexOf("/")===le.length-1){D[D.length-1]==="/"?(D=D.substr(0,D.length-1),P=P.substr(0,P.length-1),le=D):le=le.substr(0,le.length-1),this.options.transformTagName&&(D=this.options.transformTagName(D));let ot=new n(D);D!==le&&mt&&(ot[":@"]=this.buildAttributesMap(le,P,D)),this.addChild(C,ot,P),P=P.substr(0,P.lastIndexOf("."))}else{let ot=new n(D);this.tagsNodeStack.push(C),D!==le&&mt&&(ot[":@"]=this.buildAttributesMap(le,P,D)),this.addChild(C,ot,P),C=ot}E="",x=Ph}}else E+=w[x];return v.child},"parseXml");function h(w,v,C){let E=this.options.updateTag(v.tagname,C,v[":@"]);E===!1||(typeof E=="string"&&(v.tagname=E),w.addChild(v))}o(h,"addChild"),B(h,"addChild");var g=B(function(w){if(this.options.processEntities){for(let v in this.docTypeEntities){let C=this.docTypeEntities[v];w=w.replace(C.regx,C.val)}for(let v in this.lastEntities){let C=this.lastEntities[v];w=w.replace(C.regex,C.val)}if(this.options.htmlEntities)for(let v in this.htmlEntities){let C=this.htmlEntities[v];w=w.replace(C.regex,C.val)}w=w.replace(this.ampEntity.regex,this.ampEntity.val)}return w},"replaceEntitiesValue");function _(w,v,C,E){return w&&(E===void 0&&(E=Object.keys(v.child).length===0),w=this.parseTextData(w,v.tagname,C,!1,v[":@"]?Object.keys(v[":@"]).length!==0:!1,E),w!==void 0&&w!==""&&v.add(this.options.textNodeName,w),w=""),w}o(_,"saveTextToParentTag"),B(_,"saveTextToParentTag");function T(w,v,C){let E="*."+C;for(let P in w){let x=w[P];if(E===x||v===x)return!0}return!1}o(T,"isItStopNode"),B(T,"isItStopNode");function A(w,v,C=">"){let E,P="";for(let x=v;x<w.length;x++){let X=w[x];if(E)X===E&&(E="");else if(X==='"'||X==="'")E=X;else if(X===C[0])if(C[1]){if(w[x+1]===C[1])return{data:P,index:x}}else return{data:P,index:x};else X===" "&&(X=" ");P+=X}}o(A,"tagExpWithClosingIndex"),B(A,"tagExpWithClosingIndex");function y(w,v,C,E){let P=w.indexOf(v,C);if(P===-1)throw new Error(E);return P+v.length-1}o(y,"findClosingIndex"),B(y,"findClosingIndex");function S(w,v,C,E=">"){let P=A(w,v+1,E);if(!P)return;let x=P.data,X=P.index,q=x.search(/\s/),D=x,be=!0;q!==-1&&(D=x.substring(0,q),x=x.substring(q+1).trimStart());let le=D;if(C){let mt=D.indexOf(":");mt!==-1&&(D=D.substr(mt+1),be=D!==P.data.substr(mt+1))}return{tagName:D,tagExp:x,closeIndex:X,attrExpPresent:be,rawTagName:le}}o(S,"readTagExp"),B(S,"readTagExp");function O(w,v,C){let E=C,P=1;for(;C<w.length;C++)if(w[C]==="<")if(w[C+1]==="/"){let x=y(w,">",C,`${v} is not closed`);if(w.substring(C+2,x).trim()===v&&(P--,P===0))return{tagContent:w.substring(E,C),i:x};C=x}else if(w[C+1]==="?")C=y(w,"?>",C+1,"StopNode is not closed.");else if(w.substr(C+1,3)==="!--")C=y(w,"-->",C+3,"StopNode is not closed.");else if(w.substr(C+1,2)==="![")C=y(w,"]]>",C,"StopNode is not closed.")-2;else{let x=S(w,C,">");x&&((x&&x.tagName)===v&&x.tagExp[x.tagExp.length-1]!=="/"&&P++,C=x.closeIndex)}}o(O,"readStopNodeData"),B(O,"readStopNodeData");function V(w,v,C){if(v&&typeof w=="string"){let E=w.trim();return E==="true"?!0:E==="false"?!1:s(w,C)}else return r.isExist(w)?w:""}o(V,"parseValue"),B(V,"parseValue"),e.exports=a}}),uL=wt({"node_modules/fast-xml-parser/src/xmlparser/node2json.js"(t){"use strict";function e(a,c){return r(a,c)}o(e,"prettify"),B(e,"prettify");function r(a,c,u){let l,d={};for(let p=0;p<a.length;p++){let f=a[p],h=n(f),g="";if(u===void 0?g=h:g=u+"."+h,h===c.textNodeName)l===void 0?l=f[h]:l+=""+f[h];else{if(h===void 0)continue;if(f[h]){let _=r(f[h],c,g),T=s(_,c);f[":@"]?i(_,f[":@"],g,c):Object.keys(_).length===1&&_[c.textNodeName]!==void 0&&!c.alwaysCreateTextNode?_=_[c.textNodeName]:Object.keys(_).length===0&&(c.alwaysCreateTextNode?_[c.textNodeName]="":_=""),d[h]!==void 0&&d.hasOwnProperty(h)?(Array.isArray(d[h])||(d[h]=[d[h]]),d[h].push(_)):c.isArray(h,g,T)?d[h]=[_]:d[h]=_}}}return typeof l=="string"?l.length>0&&(d[c.textNodeName]=l):l!==void 0&&(d[c.textNodeName]=l),d}o(r,"compress"),B(r,"compress");function n(a){let c=Object.keys(a);for(let u=0;u<c.length;u++){let l=c[u];if(l!==":@")return l}}o(n,"propName"),B(n,"propName");function i(a,c,u,l){if(c){let d=Object.keys(c),p=d.length;for(let f=0;f<p;f++){let h=d[f];l.isArray(h,u+"."+h,!0,!0)?a[h]=[c[h]]:a[h]=c[h]}}}o(i,"assignAttributes"),B(i,"assignAttributes");function s(a,c){let{textNodeName:u}=c,l=Object.keys(a).length;return!!(l===0||l===1&&(a[u]||typeof a[u]=="boolean"||a[u]===0))}o(s,"isLeafTag"),B(s,"isLeafTag"),t.prettify=e}}),lL=wt({"node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(t,e){var{buildOptions:r}=iL(),n=cL(),{prettify:i}=uL(),s=VE(),a=class{static{o(this,"XMLParser2")}static{B(this,"XMLParser")}constructor(c){this.externalEntities={},this.options=r(c)}parse(c,u){if(typeof c!="string")if(c.toString)c=c.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(u){u===!0&&(u={});let p=s.validate(c,u);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let l=new n(this.options);l.addExternalEntities(this.externalEntities);let d=l.parseXml(c);return this.options.preserveOrder||d===void 0?d:i(d,this.options)}addEntity(c,u){if(u.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(c.indexOf("&")!==-1||c.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(u==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[c]=u}};e.exports=a}}),dL=wt({"node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(t,e){var r=`
78
- `;function n(l,d){let p="";return d.format&&d.indentBy.length>0&&(p=r),i(l,d,"",p)}o(n,"toXml"),B(n,"toXml");function i(l,d,p,f){let h="",g=!1;for(let _=0;_<l.length;_++){let T=l[_],A=s(T);if(A===void 0)continue;let y="";if(p.length===0?y=A:y=`${p}.${A}`,A===d.textNodeName){let v=T[A];c(y,d)||(v=d.tagValueProcessor(A,v),v=u(v,d)),g&&(h+=f),h+=v,g=!1;continue}else if(A===d.cdataPropName){g&&(h+=f),h+=`<![CDATA[${T[A][0][d.textNodeName]}]]>`,g=!1;continue}else if(A===d.commentPropName){h+=f+`<!--${T[A][0][d.textNodeName]}-->`,g=!0;continue}else if(A[0]==="?"){let v=a(T[":@"],d),C=A==="?xml"?"":f,E=T[A][0][d.textNodeName];E=E.length!==0?" "+E:"",h+=C+`<${A}${E}${v}?>`,g=!0;continue}let S=f;S!==""&&(S+=d.indentBy);let O=a(T[":@"],d),V=f+`<${A}${O}`,w=i(T[A],d,y,S);d.unpairedTags.indexOf(A)!==-1?d.suppressUnpairedNode?h+=V+">":h+=V+"/>":(!w||w.length===0)&&d.suppressEmptyNode?h+=V+"/>":w&&w.endsWith(">")?h+=V+`>${w}${f}</${A}>`:(h+=V+">",w&&f!==""&&(w.includes("/>")||w.includes("</"))?h+=f+d.indentBy+w+f:h+=w,h+=`</${A}>`),g=!0}return h}o(i,"arrToStr"),B(i,"arrToStr");function s(l){let d=Object.keys(l);for(let p=0;p<d.length;p++){let f=d[p];if(l.hasOwnProperty(f)&&f!==":@")return f}}o(s,"propName"),B(s,"propName");function a(l,d){let p="";if(l&&!d.ignoreAttributes)for(let f in l){if(!l.hasOwnProperty(f))continue;let h=d.attributeValueProcessor(f,l[f]);h=u(h,d),h===!0&&d.suppressBooleanAttributes?p+=` ${f.substr(d.attributeNamePrefix.length)}`:p+=` ${f.substr(d.attributeNamePrefix.length)}="${h}"`}return p}o(a,"attr_to_str"),B(a,"attr_to_str");function c(l,d){l=l.substr(0,l.length-d.textNodeName.length-1);let p=l.substr(l.lastIndexOf(".")+1);for(let f in d.stopNodes)if(d.stopNodes[f]===l||d.stopNodes[f]==="*."+p)return!0;return!1}o(c,"isStopNode"),B(c,"isStopNode");function u(l,d){if(l&&l.length>0&&d.processEntities)for(let p=0;p<d.entities.length;p++){let f=d.entities[p];l=l.replace(f.regex,f.val)}return l}o(u,"replaceEntitiesValue"),B(u,"replaceEntitiesValue"),e.exports=n}}),pL=wt({"node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(t,e){"use strict";var r=dL(),n={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(u,l){return l},attributeValueProcessor:function(u,l){return l},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function i(u){this.options=Object.assign({},n,u),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=s,this.options.format?(this.indentate=a,this.tagEndChar=`>
76
+ `||y==="\r"}o(n,"isWhiteSpace"),B(n,"isWhiteSpace");function i(y,S){let O=S;for(;S<y.length;S++)if(y[S]=="?"||y[S]==" "){let V=y.substr(O,S-O);if(S>5&&V==="xml")return h("InvalidXml","XML declaration allowed only at the start of the document.",T(y,S));if(y[S]=="?"&&y[S+1]==">"){S++;break}else continue}return S}o(i,"readPI"),B(i,"readPI");function s(y,S){if(y.length>S+5&&y[S+1]==="-"&&y[S+2]==="-"){for(S+=3;S<y.length;S++)if(y[S]==="-"&&y[S+1]==="-"&&y[S+2]===">"){S+=2;break}}else if(y.length>S+8&&y[S+1]==="D"&&y[S+2]==="O"&&y[S+3]==="C"&&y[S+4]==="T"&&y[S+5]==="Y"&&y[S+6]==="P"&&y[S+7]==="E"){let O=1;for(S+=8;S<y.length;S++)if(y[S]==="<")O++;else if(y[S]===">"&&(O--,O===0))break}else if(y.length>S+9&&y[S+1]==="["&&y[S+2]==="C"&&y[S+3]==="D"&&y[S+4]==="A"&&y[S+5]==="T"&&y[S+6]==="A"&&y[S+7]==="["){for(S+=8;S<y.length;S++)if(y[S]==="]"&&y[S+1]==="]"&&y[S+2]===">"){S+=2;break}}return S}o(s,"readCommentAndCDATA"),B(s,"readCommentAndCDATA");var a='"',c="'";function u(y,S){let O="",V="",w=!1;for(;S<y.length;S++){if(y[S]===a||y[S]===c)V===""?V=y[S]:V!==y[S]||(V="");else if(y[S]===">"&&V===""){w=!0;break}O+=y[S]}return V!==""?!1:{value:O,index:S,tagClosed:w}}o(u,"readAttributeStr"),B(u,"readAttributeStr");var l=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function d(y,S){let O=e.getAllMatches(y,l),V={};for(let w=0;w<O.length;w++){if(O[w][1].length===0)return h("InvalidAttr","Attribute '"+O[w][2]+"' has no space in starting.",A(O[w]));if(O[w][3]!==void 0&&O[w][4]===void 0)return h("InvalidAttr","Attribute '"+O[w][2]+"' is without value.",A(O[w]));if(O[w][3]===void 0&&!S.allowBooleanAttributes)return h("InvalidAttr","boolean attribute '"+O[w][2]+"' is not allowed.",A(O[w]));let v=O[w][2];if(!g(v))return h("InvalidAttr","Attribute '"+v+"' is an invalid name.",A(O[w]));if(!V.hasOwnProperty(v))V[v]=1;else return h("InvalidAttr","Attribute '"+v+"' is repeated.",A(O[w]))}return!0}o(d,"validateAttributeString"),B(d,"validateAttributeString");function p(y,S){let O=/\d/;for(y[S]==="x"&&(S++,O=/[\da-fA-F]/);S<y.length;S++){if(y[S]===";")return S;if(!y[S].match(O))break}return-1}o(p,"validateNumberAmpersand"),B(p,"validateNumberAmpersand");function f(y,S){if(S++,y[S]===";")return-1;if(y[S]==="#")return S++,p(y,S);let O=0;for(;S<y.length;S++,O++)if(!(y[S].match(/\w/)&&O<20)){if(y[S]===";")break;return-1}return S}o(f,"validateAmpersand"),B(f,"validateAmpersand");function h(y,S,O){return{err:{code:y,msg:S,line:O.line||O,col:O.col}}}o(h,"getErrorObject"),B(h,"getErrorObject");function g(y){return e.isName(y)}o(g,"validateAttrName"),B(g,"validateAttrName");function _(y){return e.isName(y)}o(_,"validateTagName"),B(_,"validateTagName");function T(y,S){let O=y.substring(0,S).split(/\r?\n/);return{line:O.length,col:O[O.length-1].length+1}}o(T,"getLineNumberForPosition"),B(T,"getLineNumberForPosition");function A(y){return y.startIndex+y[1].length}o(A,"getPositionFromMatch"),B(A,"getPositionFromMatch")}}),oL=wt({"node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(t){var e={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(n,i){return i},attributeValueProcessor:function(n,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,i,s){return n}},r=B(function(n){return Object.assign({},e,n)},"buildOptions");t.buildOptions=r,t.defaultOptions=e}}),sL=wt({"node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(t,e){"use strict";var r=class{static{o(this,"XmlNode")}static{B(this,"XmlNode")}constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:i})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,":@":n[":@"]}):this.child.push({[n.tagname]:n.child})}};e.exports=r}}),aL=wt({"node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js"(t,e){var r=Gf();function n(p,f){let h={};if(p[f+3]==="O"&&p[f+4]==="C"&&p[f+5]==="T"&&p[f+6]==="Y"&&p[f+7]==="P"&&p[f+8]==="E"){f=f+9;let g=1,_=!1,T=!1,A="";for(;f<p.length;f++)if(p[f]==="<"&&!T){if(_&&a(p,f))f+=7,[entityName,val,f]=i(p,f+1),val.indexOf("&")===-1&&(h[d(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(_&&c(p,f))f+=8;else if(_&&u(p,f))f+=8;else if(_&&l(p,f))f+=9;else if(s)T=!0;else throw new Error("Invalid DOCTYPE");g++,A=""}else if(p[f]===">"){if(T?p[f-1]==="-"&&p[f-2]==="-"&&(T=!1,g--):g--,g===0)break}else p[f]==="["?_=!0:A+=p[f];if(g!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:h,i:f}}o(n,"readDocType"),B(n,"readDocType");function i(p,f){let h="";for(;f<p.length&&p[f]!=="'"&&p[f]!=='"';f++)h+=p[f];if(h=h.trim(),h.indexOf(" ")!==-1)throw new Error("External entites are not supported");let g=p[f++],_="";for(;f<p.length&&p[f]!==g;f++)_+=p[f];return[h,_,f]}o(i,"readEntityExp"),B(i,"readEntityExp");function s(p,f){return p[f+1]==="!"&&p[f+2]==="-"&&p[f+3]==="-"}o(s,"isComment"),B(s,"isComment");function a(p,f){return p[f+1]==="!"&&p[f+2]==="E"&&p[f+3]==="N"&&p[f+4]==="T"&&p[f+5]==="I"&&p[f+6]==="T"&&p[f+7]==="Y"}o(a,"isEntity"),B(a,"isEntity");function c(p,f){return p[f+1]==="!"&&p[f+2]==="E"&&p[f+3]==="L"&&p[f+4]==="E"&&p[f+5]==="M"&&p[f+6]==="E"&&p[f+7]==="N"&&p[f+8]==="T"}o(c,"isElement"),B(c,"isElement");function u(p,f){return p[f+1]==="!"&&p[f+2]==="A"&&p[f+3]==="T"&&p[f+4]==="T"&&p[f+5]==="L"&&p[f+6]==="I"&&p[f+7]==="S"&&p[f+8]==="T"}o(u,"isAttlist"),B(u,"isAttlist");function l(p,f){return p[f+1]==="!"&&p[f+2]==="N"&&p[f+3]==="O"&&p[f+4]==="T"&&p[f+5]==="A"&&p[f+6]==="T"&&p[f+7]==="I"&&p[f+8]==="O"&&p[f+9]==="N"}o(l,"isNotation"),B(l,"isNotation");function d(p){if(r.isName(p))return p;throw new Error(`Invalid entity name ${p}`)}o(d,"validateEntityName"),B(d,"validateEntityName"),e.exports=n}}),cL=wt({"../../node_modules/strnum/strnum.js"(t,e){var r=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function s(c,u={}){if(u=Object.assign({},i,u),!c||typeof c!="string")return c;let l=c.trim();if(u.skipLike!==void 0&&u.skipLike.test(l))return c;if(u.hex&&r.test(l))return Number.parseInt(l,16);{let d=n.exec(l);if(d){let p=d[1],f=d[2],h=a(d[3]),g=d[4]||d[6];if(!u.leadingZeros&&f.length>0&&p&&l[2]!==".")return c;if(!u.leadingZeros&&f.length>0&&!p&&l[1]!==".")return c;{let _=Number(l),T=""+_;return T.search(/[eE]/)!==-1||g?u.eNotation?_:c:l.indexOf(".")!==-1?T==="0"&&h===""||T===h||p&&T==="-"+h?_:c:f?h===T||p+h===T?_:c:l===T||l===p+T?_:c}}else return c}}o(s,"toNumber"),B(s,"toNumber");function a(c){return c&&c.indexOf(".")!==-1&&(c=c.replace(/0+$/,""),c==="."?c="0":c[0]==="."?c="0"+c:c[c.length-1]==="."&&(c=c.substr(0,c.length-1))),c}o(a,"trimZeros"),B(a,"trimZeros"),e.exports=s}}),uL=wt({"node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(t,e){"use strict";var r=Gf(),n=sL(),i=aL(),s=cL(),a=class{static{o(this,"OrderedObjParser")}static{B(this,"OrderedObjParser")}constructor(w){this.options=w,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=c,this.parseXml=f,this.parseTextData=u,this.resolveNameSpace=l,this.buildAttributesMap=p,this.isItStopNode=T,this.replaceEntitiesValue=g,this.readStopNodeData=O,this.saveTextToParentTag=_,this.addChild=h}};function c(w){let v=Object.keys(w);for(let C=0;C<v.length;C++){let E=v[C];this.lastEntities[E]={regex:new RegExp("&"+E+";","g"),val:w[E]}}}o(c,"addExternalEntities"),B(c,"addExternalEntities");function u(w,v,C,E,P,x,X){if(w!==void 0&&(this.options.trimValues&&!E&&(w=w.trim()),w.length>0)){X||(w=this.replaceEntitiesValue(w));let q=this.options.tagValueProcessor(v,w,C,P,x);return q==null?w:typeof q!=typeof w||q!==w?q:this.options.trimValues?V(w,this.options.parseTagValue,this.options.numberParseOptions):w.trim()===w?V(w,this.options.parseTagValue,this.options.numberParseOptions):w}}o(u,"parseTextData"),B(u,"parseTextData");function l(w){if(this.options.removeNSPrefix){let v=w.split(":"),C=w.charAt(0)==="/"?"/":"";if(v[0]==="xmlns")return"";v.length===2&&(w=C+v[1])}return w}o(l,"resolveNameSpace"),B(l,"resolveNameSpace");var d=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function p(w,v,C){if(!this.options.ignoreAttributes&&typeof w=="string"){let E=r.getAllMatches(w,d),P=E.length,x={};for(let X=0;X<P;X++){let q=this.resolveNameSpace(E[X][1]),D=E[X][4],be=this.options.attributeNamePrefix+q;if(q.length)if(this.options.transformAttributeName&&(be=this.options.transformAttributeName(be)),be==="__proto__"&&(be="#__proto__"),D!==void 0){this.options.trimValues&&(D=D.trim()),D=this.replaceEntitiesValue(D);let le=this.options.attributeValueProcessor(q,D,v);le==null?x[be]=D:typeof le!=typeof D||le!==D?x[be]=le:x[be]=V(D,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(x[be]=!0)}if(!Object.keys(x).length)return;if(this.options.attributesGroupName){let X={};return X[this.options.attributesGroupName]=x,X}return x}}o(p,"buildAttributesMap"),B(p,"buildAttributesMap");var f=B(function(w){w=w.replace(/\r\n?/g,`
77
+ `);let v=new n("!xml"),C=v,E="",P="";for(let x=0;x<w.length;x++)if(w[x]==="<")if(w[x+1]==="/"){let q=y(w,">",x,"Closing Tag is not closed."),D=w.substring(x+2,q).trim();if(this.options.removeNSPrefix){let mt=D.indexOf(":");mt!==-1&&(D=D.substr(mt+1))}this.options.transformTagName&&(D=this.options.transformTagName(D)),C&&(E=this.saveTextToParentTag(E,C,P));let be=P.substring(P.lastIndexOf(".")+1);if(D&&this.options.unpairedTags.indexOf(D)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${D}>`);let le=0;be&&this.options.unpairedTags.indexOf(be)!==-1?(le=P.lastIndexOf(".",P.lastIndexOf(".")-1),this.tagsNodeStack.pop()):le=P.lastIndexOf("."),P=P.substring(0,le),C=this.tagsNodeStack.pop(),E="",x=q}else if(w[x+1]==="?"){let q=S(w,x,!1,"?>");if(!q)throw new Error("Pi Tag is not closed.");if(E=this.saveTextToParentTag(E,C,P),!(this.options.ignoreDeclaration&&q.tagName==="?xml"||this.options.ignorePiTags)){let D=new n(q.tagName);D.add(this.options.textNodeName,""),q.tagName!==q.tagExp&&q.attrExpPresent&&(D[":@"]=this.buildAttributesMap(q.tagExp,P,q.tagName)),this.addChild(C,D,P)}x=q.closeIndex+1}else if(w.substr(x+1,3)==="!--"){let q=y(w,"-->",x+4,"Comment is not closed.");if(this.options.commentPropName){let D=w.substring(x+4,q-2);E=this.saveTextToParentTag(E,C,P),C.add(this.options.commentPropName,[{[this.options.textNodeName]:D}])}x=q}else if(w.substr(x+1,2)==="!D"){let q=i(w,x);this.docTypeEntities=q.entities,x=q.i}else if(w.substr(x+1,2)==="!["){let q=y(w,"]]>",x,"CDATA is not closed.")-2,D=w.substring(x+9,q);E=this.saveTextToParentTag(E,C,P);let be=this.parseTextData(D,C.tagname,P,!0,!1,!0,!0);be==null&&(be=""),this.options.cdataPropName?C.add(this.options.cdataPropName,[{[this.options.textNodeName]:D}]):C.add(this.options.textNodeName,be),x=q+2}else{let q=S(w,x,this.options.removeNSPrefix),D=q.tagName,be=q.rawTagName,le=q.tagExp,mt=q.attrExpPresent,Ph=q.closeIndex;this.options.transformTagName&&(D=this.options.transformTagName(D)),C&&E&&C.tagname!=="!xml"&&(E=this.saveTextToParentTag(E,C,P,!1));let Ah=C;if(Ah&&this.options.unpairedTags.indexOf(Ah.tagname)!==-1&&(C=this.tagsNodeStack.pop(),P=P.substring(0,P.lastIndexOf("."))),D!==v.tagname&&(P+=P?"."+D:D),this.isItStopNode(this.options.stopNodes,P,D)){let ot="";if(le.length>0&&le.lastIndexOf("/")===le.length-1)x=q.closeIndex;else if(this.options.unpairedTags.indexOf(D)!==-1)x=q.closeIndex;else{let $u=this.readStopNodeData(w,be,Ph+1);if(!$u)throw new Error(`Unexpected end of ${be}`);x=$u.i,ot=$u.tagContent}let qu=new n(D);D!==le&&mt&&(qu[":@"]=this.buildAttributesMap(le,P,D)),ot&&(ot=this.parseTextData(ot,D,P,!0,mt,!0,!0)),P=P.substr(0,P.lastIndexOf(".")),qu.add(this.options.textNodeName,ot),this.addChild(C,qu,P)}else{if(le.length>0&&le.lastIndexOf("/")===le.length-1){D[D.length-1]==="/"?(D=D.substr(0,D.length-1),P=P.substr(0,P.length-1),le=D):le=le.substr(0,le.length-1),this.options.transformTagName&&(D=this.options.transformTagName(D));let ot=new n(D);D!==le&&mt&&(ot[":@"]=this.buildAttributesMap(le,P,D)),this.addChild(C,ot,P),P=P.substr(0,P.lastIndexOf("."))}else{let ot=new n(D);this.tagsNodeStack.push(C),D!==le&&mt&&(ot[":@"]=this.buildAttributesMap(le,P,D)),this.addChild(C,ot,P),C=ot}E="",x=Ph}}else E+=w[x];return v.child},"parseXml");function h(w,v,C){let E=this.options.updateTag(v.tagname,C,v[":@"]);E===!1||(typeof E=="string"&&(v.tagname=E),w.addChild(v))}o(h,"addChild"),B(h,"addChild");var g=B(function(w){if(this.options.processEntities){for(let v in this.docTypeEntities){let C=this.docTypeEntities[v];w=w.replace(C.regx,C.val)}for(let v in this.lastEntities){let C=this.lastEntities[v];w=w.replace(C.regex,C.val)}if(this.options.htmlEntities)for(let v in this.htmlEntities){let C=this.htmlEntities[v];w=w.replace(C.regex,C.val)}w=w.replace(this.ampEntity.regex,this.ampEntity.val)}return w},"replaceEntitiesValue");function _(w,v,C,E){return w&&(E===void 0&&(E=Object.keys(v.child).length===0),w=this.parseTextData(w,v.tagname,C,!1,v[":@"]?Object.keys(v[":@"]).length!==0:!1,E),w!==void 0&&w!==""&&v.add(this.options.textNodeName,w),w=""),w}o(_,"saveTextToParentTag"),B(_,"saveTextToParentTag");function T(w,v,C){let E="*."+C;for(let P in w){let x=w[P];if(E===x||v===x)return!0}return!1}o(T,"isItStopNode"),B(T,"isItStopNode");function A(w,v,C=">"){let E,P="";for(let x=v;x<w.length;x++){let X=w[x];if(E)X===E&&(E="");else if(X==='"'||X==="'")E=X;else if(X===C[0])if(C[1]){if(w[x+1]===C[1])return{data:P,index:x}}else return{data:P,index:x};else X===" "&&(X=" ");P+=X}}o(A,"tagExpWithClosingIndex"),B(A,"tagExpWithClosingIndex");function y(w,v,C,E){let P=w.indexOf(v,C);if(P===-1)throw new Error(E);return P+v.length-1}o(y,"findClosingIndex"),B(y,"findClosingIndex");function S(w,v,C,E=">"){let P=A(w,v+1,E);if(!P)return;let x=P.data,X=P.index,q=x.search(/\s/),D=x,be=!0;q!==-1&&(D=x.substring(0,q),x=x.substring(q+1).trimStart());let le=D;if(C){let mt=D.indexOf(":");mt!==-1&&(D=D.substr(mt+1),be=D!==P.data.substr(mt+1))}return{tagName:D,tagExp:x,closeIndex:X,attrExpPresent:be,rawTagName:le}}o(S,"readTagExp"),B(S,"readTagExp");function O(w,v,C){let E=C,P=1;for(;C<w.length;C++)if(w[C]==="<")if(w[C+1]==="/"){let x=y(w,">",C,`${v} is not closed`);if(w.substring(C+2,x).trim()===v&&(P--,P===0))return{tagContent:w.substring(E,C),i:x};C=x}else if(w[C+1]==="?")C=y(w,"?>",C+1,"StopNode is not closed.");else if(w.substr(C+1,3)==="!--")C=y(w,"-->",C+3,"StopNode is not closed.");else if(w.substr(C+1,2)==="![")C=y(w,"]]>",C,"StopNode is not closed.")-2;else{let x=S(w,C,">");x&&((x&&x.tagName)===v&&x.tagExp[x.tagExp.length-1]!=="/"&&P++,C=x.closeIndex)}}o(O,"readStopNodeData"),B(O,"readStopNodeData");function V(w,v,C){if(v&&typeof w=="string"){let E=w.trim();return E==="true"?!0:E==="false"?!1:s(w,C)}else return r.isExist(w)?w:""}o(V,"parseValue"),B(V,"parseValue"),e.exports=a}}),lL=wt({"node_modules/fast-xml-parser/src/xmlparser/node2json.js"(t){"use strict";function e(a,c){return r(a,c)}o(e,"prettify"),B(e,"prettify");function r(a,c,u){let l,d={};for(let p=0;p<a.length;p++){let f=a[p],h=n(f),g="";if(u===void 0?g=h:g=u+"."+h,h===c.textNodeName)l===void 0?l=f[h]:l+=""+f[h];else{if(h===void 0)continue;if(f[h]){let _=r(f[h],c,g),T=s(_,c);f[":@"]?i(_,f[":@"],g,c):Object.keys(_).length===1&&_[c.textNodeName]!==void 0&&!c.alwaysCreateTextNode?_=_[c.textNodeName]:Object.keys(_).length===0&&(c.alwaysCreateTextNode?_[c.textNodeName]="":_=""),d[h]!==void 0&&d.hasOwnProperty(h)?(Array.isArray(d[h])||(d[h]=[d[h]]),d[h].push(_)):c.isArray(h,g,T)?d[h]=[_]:d[h]=_}}}return typeof l=="string"?l.length>0&&(d[c.textNodeName]=l):l!==void 0&&(d[c.textNodeName]=l),d}o(r,"compress"),B(r,"compress");function n(a){let c=Object.keys(a);for(let u=0;u<c.length;u++){let l=c[u];if(l!==":@")return l}}o(n,"propName"),B(n,"propName");function i(a,c,u,l){if(c){let d=Object.keys(c),p=d.length;for(let f=0;f<p;f++){let h=d[f];l.isArray(h,u+"."+h,!0,!0)?a[h]=[c[h]]:a[h]=c[h]}}}o(i,"assignAttributes"),B(i,"assignAttributes");function s(a,c){let{textNodeName:u}=c,l=Object.keys(a).length;return!!(l===0||l===1&&(a[u]||typeof a[u]=="boolean"||a[u]===0))}o(s,"isLeafTag"),B(s,"isLeafTag"),t.prettify=e}}),dL=wt({"node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(t,e){var{buildOptions:r}=oL(),n=uL(),{prettify:i}=lL(),s=BE(),a=class{static{o(this,"XMLParser2")}static{B(this,"XMLParser")}constructor(c){this.externalEntities={},this.options=r(c)}parse(c,u){if(typeof c!="string")if(c.toString)c=c.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(u){u===!0&&(u={});let p=s.validate(c,u);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let l=new n(this.options);l.addExternalEntities(this.externalEntities);let d=l.parseXml(c);return this.options.preserveOrder||d===void 0?d:i(d,this.options)}addEntity(c,u){if(u.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(c.indexOf("&")!==-1||c.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(u==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[c]=u}};e.exports=a}}),pL=wt({"node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(t,e){var r=`
78
+ `;function n(l,d){let p="";return d.format&&d.indentBy.length>0&&(p=r),i(l,d,"",p)}o(n,"toXml"),B(n,"toXml");function i(l,d,p,f){let h="",g=!1;for(let _=0;_<l.length;_++){let T=l[_],A=s(T);if(A===void 0)continue;let y="";if(p.length===0?y=A:y=`${p}.${A}`,A===d.textNodeName){let v=T[A];c(y,d)||(v=d.tagValueProcessor(A,v),v=u(v,d)),g&&(h+=f),h+=v,g=!1;continue}else if(A===d.cdataPropName){g&&(h+=f),h+=`<![CDATA[${T[A][0][d.textNodeName]}]]>`,g=!1;continue}else if(A===d.commentPropName){h+=f+`<!--${T[A][0][d.textNodeName]}-->`,g=!0;continue}else if(A[0]==="?"){let v=a(T[":@"],d),C=A==="?xml"?"":f,E=T[A][0][d.textNodeName];E=E.length!==0?" "+E:"",h+=C+`<${A}${E}${v}?>`,g=!0;continue}let S=f;S!==""&&(S+=d.indentBy);let O=a(T[":@"],d),V=f+`<${A}${O}`,w=i(T[A],d,y,S);d.unpairedTags.indexOf(A)!==-1?d.suppressUnpairedNode?h+=V+">":h+=V+"/>":(!w||w.length===0)&&d.suppressEmptyNode?h+=V+"/>":w&&w.endsWith(">")?h+=V+`>${w}${f}</${A}>`:(h+=V+">",w&&f!==""&&(w.includes("/>")||w.includes("</"))?h+=f+d.indentBy+w+f:h+=w,h+=`</${A}>`),g=!0}return h}o(i,"arrToStr"),B(i,"arrToStr");function s(l){let d=Object.keys(l);for(let p=0;p<d.length;p++){let f=d[p];if(l.hasOwnProperty(f)&&f!==":@")return f}}o(s,"propName"),B(s,"propName");function a(l,d){let p="";if(l&&!d.ignoreAttributes)for(let f in l){if(!l.hasOwnProperty(f))continue;let h=d.attributeValueProcessor(f,l[f]);h=u(h,d),h===!0&&d.suppressBooleanAttributes?p+=` ${f.substr(d.attributeNamePrefix.length)}`:p+=` ${f.substr(d.attributeNamePrefix.length)}="${h}"`}return p}o(a,"attr_to_str"),B(a,"attr_to_str");function c(l,d){l=l.substr(0,l.length-d.textNodeName.length-1);let p=l.substr(l.lastIndexOf(".")+1);for(let f in d.stopNodes)if(d.stopNodes[f]===l||d.stopNodes[f]==="*."+p)return!0;return!1}o(c,"isStopNode"),B(c,"isStopNode");function u(l,d){if(l&&l.length>0&&d.processEntities)for(let p=0;p<d.entities.length;p++){let f=d.entities[p];l=l.replace(f.regex,f.val)}return l}o(u,"replaceEntitiesValue"),B(u,"replaceEntitiesValue"),e.exports=n}}),fL=wt({"node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(t,e){"use strict";var r=pL(),n={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(u,l){return l},attributeValueProcessor:function(u,l){return l},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function i(u){this.options=Object.assign({},n,u),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=s,this.options.format?(this.indentate=a,this.tagEndChar=`>
79
79
  `,this.newLine=`
80
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}o(i,"Builder"),B(i,"Builder"),i.prototype.build=function(u){return this.options.preserveOrder?r(u,this.options):(Array.isArray(u)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(u={[this.options.arrayNodeName]:u}),this.j2x(u,0).val)},i.prototype.j2x=function(u,l){let d="",p="";for(let f in u)if(Object.prototype.hasOwnProperty.call(u,f))if(typeof u[f]>"u")this.isAttribute(f)&&(p+="");else if(u[f]===null)this.isAttribute(f)?p+="":f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar;else if(u[f]instanceof Date)p+=this.buildTextValNode(u[f],f,"",l);else if(typeof u[f]!="object"){let h=this.isAttribute(f);if(h)d+=this.buildAttrPairStr(h,""+u[f]);else if(f===this.options.textNodeName){let g=this.options.tagValueProcessor(f,""+u[f]);p+=this.replaceEntitiesValue(g)}else p+=this.buildTextValNode(u[f],f,"",l)}else if(Array.isArray(u[f])){let h=u[f].length,g="";for(let _=0;_<h;_++){let T=u[f][_];typeof T>"u"||(T===null?f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar:typeof T=="object"?this.options.oneListGroup?g+=this.j2x(T,l+1).val:g+=this.processTextOrObjNode(T,f,l):g+=this.buildTextValNode(T,f,"",l))}this.options.oneListGroup&&(g=this.buildObjectNode(g,f,"",l)),p+=g}else if(this.options.attributesGroupName&&f===this.options.attributesGroupName){let h=Object.keys(u[f]),g=h.length;for(let _=0;_<g;_++)d+=this.buildAttrPairStr(h[_],""+u[f][h[_]])}else p+=this.processTextOrObjNode(u[f],f,l);return{attrStr:d,val:p}},i.prototype.buildAttrPairStr=function(u,l){return l=this.options.attributeValueProcessor(u,""+l),l=this.replaceEntitiesValue(l),this.options.suppressBooleanAttributes&&l==="true"?" "+u:" "+u+'="'+l+'"'};function s(u,l,d){let p=this.j2x(u,d+1);return u[this.options.textNodeName]!==void 0&&Object.keys(u).length===1?this.buildTextValNode(u[this.options.textNodeName],l,p.attrStr,d):this.buildObjectNode(p.val,l,p.attrStr,d)}o(s,"processTextOrObjNode"),B(s,"processTextOrObjNode"),i.prototype.buildObjectNode=function(u,l,d,p){if(u==="")return l[0]==="?"?this.indentate(p)+"<"+l+d+"?"+this.tagEndChar:this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar;{let f="</"+l+this.tagEndChar,h="";return l[0]==="?"&&(h="?",f=""),(d||d==="")&&u.indexOf("<")===-1?this.indentate(p)+"<"+l+d+h+">"+u+f:this.options.commentPropName!==!1&&l===this.options.commentPropName&&h.length===0?this.indentate(p)+`<!--${u}-->`+this.newLine:this.indentate(p)+"<"+l+d+h+this.tagEndChar+u+this.indentate(p)+f}},i.prototype.closeTag=function(u){let l="";return this.options.unpairedTags.indexOf(u)!==-1?this.options.suppressUnpairedNode||(l="/"):this.options.suppressEmptyNode?l="/":l=`></${u}`,l},i.prototype.buildTextValNode=function(u,l,d,p){if(this.options.cdataPropName!==!1&&l===this.options.cdataPropName)return this.indentate(p)+`<![CDATA[${u}]]>`+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(p)+`<!--${u}-->`+this.newLine;if(l[0]==="?")return this.indentate(p)+"<"+l+d+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,u);return f=this.replaceEntitiesValue(f),f===""?this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar:this.indentate(p)+"<"+l+d+">"+f+"</"+l+this.tagEndChar}},i.prototype.replaceEntitiesValue=function(u){if(u&&u.length>0&&this.options.processEntities)for(let l=0;l<this.options.entities.length;l++){let d=this.options.entities[l];u=u.replace(d.regex,d.val)}return u};function a(u){return this.options.indentBy.repeat(u)}o(a,"indentate"),B(a,"indentate");function c(u){return u.startsWith(this.options.attributeNamePrefix)&&u!==this.options.textNodeName?u.substr(this.attrPrefixLen):!1}o(c,"isAttribute"),B(c,"isAttribute"),e.exports=i}}),fL=VE(),hL=lL(),mL=pL();BE.exports={XMLParser:hL,XMLValidator:fL,XMLBuilder:mL}});var KE=b(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.XmlToJsonOutboundPolicy=void 0;var gL=k(),yL=gn(),bL=GE(),_L=Kt(),EL=ut(),Kf=class extends yL.OutboundPolicy{static{o(this,"XmlToJsonOutboundPolicy")}parser;parseOnStatusCodes;constructor(e,r){super(e,r),(0,EL.optionValidator)(this.options,this.policyName).optional("removeNSPrefix","boolean").optional("ignoreProcessingInstructions","boolean").optional("ignoreDeclarations","boolean").optional("ignoreAttributes","boolean").optional("stopNodes","array").optional("attributeNamePrefix","string").optional("textNodeName","string").optional("trimValues","boolean"),this.parseOnStatusCodes=e.parseOnStatusCodes?(0,_L.statusCodesStringToNumberArray)(e.parseOnStatusCodes):void 0,this.parser=new bL.XMLParser({removeNSPrefix:e?.removeNSPrefix??!0,ignorePiTags:e?.ignoreProcessingInstructions??!0,ignoreDeclaration:e?.ignoreDeclarations??!0,ignoreAttributes:e?.ignoreAttributes??!0,stopNodes:e?.stopNodes??[],attributeNamePrefix:e?.attributeNamePrefix??"@_",textNodeName:e?.textNodeName??"#text",trimValues:e?.trimValues??!0})}async handler(e,r,n){if(this.parseOnStatusCodes&&!this.parseOnStatusCodes.includes(e.status))return e;let i;try{let c=await e.text();i=this.parser.parse(c)}catch(c){let u=`XmlToJsonOutboundPolicy - Error parsing XML contents in policy '${this.policyName}'.`;throw n.log.error(u,c),new gL.RuntimeError(u)}let s=new Headers(e.headers);return s.set("content-type","application/json"),new Response(JSON.stringify(i),{status:e.status,statusText:e.statusText,headers:s})}};Xc.XmlToJsonOutboundPolicy=Kf});var JE=b(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.ServiceProviderImpl=void 0;var wL=k(),Jf=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(e,r){if(this.services.get(e))throw new wL.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)}};eu.ServiceProviderImpl=Jf});var WE=b(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.BackgroundDispatcher=li.BatchDispatch=void 0;var zE=Pe();Object.defineProperty(li,"BatchDispatch",{enumerable:!0,get:function(){return zE.BatchDispatch}});var vL=ma(),zf=class{static{o(this,"BackgroundDispatcher")}#e;constructor(e,r){if(!r||r.msDelay===void 0)throw new Error("BackgroundDispatcher: options.msDelay is required");this.#e=new zE.BatchDispatch(r.name??"",r.msDelay,e)}enqueue=e=>{this.#e.enqueue(e),(0,vL.getGlobalZuploEventContext)().waitUntil(this.#e.waitUntilFlushed())}};li.BackgroundDispatcher=zf});var QE=b(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});tu.BackgroundLoader=void 0;var TL=ma(),Wf=class{static{o(this,"BackgroundLoader")}#e=new Map;#t;#r;#n=new Map;constructor(e,r){this.#t=e,this.#r=r*1e3}#i(e){let r=this.#e.get(e);r&&(r.expiry=new Date(Date.now()+this.#r))}#o(e){return e.expiry<=new Date}async get(e){let r=this.#e.get(e);return r&&!this.#o(r)?(this.#s(e),r.data):this.#a(e)}async#s(e){let r=this.#n.get(e);if(r!==void 0)return r.wrap();let n=this.#a(e);return this.#n.set(e,new lo(n)),await new lo(n).wrap(),this.#n.delete(e),n}async#a(e){let r=this.#n.get(e);if(r===void 0){let n=this.#t(e);r=new lo(n),this.#i(e);let i=await r.wrap();this.#e.set(e,{data:i,expiry:new Date(Date.now()+this.#r)})}return r.wrap()}};tu.BackgroundLoader=Wf;var lo=class{static{o(this,"WrappedPromise")}#e;#t=[];#r;#n;constructor(e){(0,TL.getGlobalZuploEventContext)().waitUntil(e),this.#e=e,this.#e.then(n=>{this.#t.forEach(i=>i.resolve(n)),this.#r=n}).catch(n=>{this.#t.forEach(i=>i.reject(n)),this.#n=n})}async wrap(){if(this.#n)throw this.#n;if(this.#r)return this.#r;let e=this;return new Promise((n,i)=>{e.#t.push({resolve:n,reject:i})})}}});var lw=b(m=>{"use strict";var SL=m&&m.__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]}),Qf=m&&m.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&SL(e,t,r)},IL=m&&m.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(m,"__esModule",{value:!0});m.OpenIdJwtInboundPolicy=m.OktaJwtInboundPolicy=m.MonetizationInboundPolicy=m.setMoesifContext=m.MoesifInboundPolicy=m.MockApiInboundPolicy=m.JWTScopeValidationInboundPolicy=m.GeoFilterInboundPolicy=m.FormDataToJsonInboundPolicy=m.FirebaseJwtInboundPolicy=m.CurityPhantomTokenInboundPolicy=m.CompositeInboundPolicy=m.CognitoJwtInboundPolicy=m.ClerkJwtInboundPolicy=m.ClearHeadersOutboundPolicy=m.ClearHeadersInboundPolicy=m.ChangeMethodInboundPolicy=m.CachingInboundPolicy=m.BasicAuthInboundPolicy=m.Auth0JwtInboundPolicy=m.ApiKeyInboundPolicy=m.ApiAuthKeyInboundPolicy=m.AmberfloMeteringPolicy=m.AmberfloMeteringInboundPolicy=m.OutboundPolicy=m.InboundPolicy=m.AuditLogPlugin=m.AuditLogDataStaxProvider=m.HttpStatusCode=m.webSocketPipelineHandler=m.webSocketHandler=m.urlRewriteHandler=m.urlForwardHandler=m.redirectHandler=m.openApiSpecHandler=m.awsLambdaHandler=m.AwsLambdaHandlerExtensions=m.purgeGatewayCache=m.Handler=m.originalFetch=m.RuntimeError=m.ConfigurationError=m.isZuploReadableEnvVariableName=m.isRestrictedEnvVariableName=m.environment=m.ContextData=m.ResponseSentEvent=m.ResponseSendingEvent=m.ZoneCache=m.MemoryZoneReadThroughCache=void 0;m.BackgroundLoader=m.BackgroundDispatcher=m.BatchDispatch=m.sanitizedIdentifierName=m.getRawOperationDataIdentifierName=m.getIdForRequestBodySchema=m.getIdForRefSchema=m.getIdForParameterSchema=m.SystemLogMap=m.httpStatuses=m.SYSTEM_LOGGER=m.API_KEY=m.ServiceProviderImpl=m.serialize=m.ContentTypes=m.Router=m.LookupResult=m.SystemRouteName=m.ZuploRequest=m.ProblemResponseFormatter=m.HttpProblems=m.XmlToJsonOutboundPolicy=m.ValidateJsonSchemaInbound=m.UpstreamGcpServiceAuthInboundPolicy=m.UpstreamGcpJwtInboundPolicy=m.UpstreamFirebaseUserAuthInboundPolicy=m.UpstreamFirebaseAdminAuthInboundPolicy=m.UpstreamAzureAdServiceAuthInboundPolicy=m.SupabaseJwtInboundPolicy=m.StripeWebhookVerificationInboundPolicy=m.SleepInboundPolicy=m.SetStatusOutboundPolicy=m.SetQueryParamsInboundPolicy=m.SetHeadersOutboundPolicy=m.SetHeadersInboundPolicy=m.SetBodyInboundPolicy=m.RequireOriginInboundPolicy=m.SchemaBasedRequestValidation=m.RequestValidationInboundPolicy=m.RequestSizeLimitInboundPolicy=m.ReplaceStringOutboundPolicy=m.RemoveQueryParamsInboundPolicy=m.RemoveHeadersOutboundPolicy=m.RemoveHeadersInboundPolicy=m.ReadmeMetricsInboundPolicy=m.RateLimitInboundPolicy=m.BasicRateLimitInboundPolicy=m.PropelAuthJwtInboundPolicy=void 0;Lh();var PL=nr();Object.defineProperty(m,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return PL.MemoryZoneReadThroughCache}});var AL=Do();Object.defineProperty(m,"ZoneCache",{enumerable:!0,get:function(){return AL.ZoneCache}});var YE=qr();Object.defineProperty(m,"ResponseSendingEvent",{enumerable:!0,get:function(){return YE.ResponseSendingEvent}});Object.defineProperty(m,"ResponseSentEvent",{enumerable:!0,get:function(){return YE.ResponseSentEvent}});var RL=hp();Object.defineProperty(m,"ContextData",{enumerable:!0,get:function(){return RL.ContextData}});var Yf=Ji();Object.defineProperty(m,"environment",{enumerable:!0,get:function(){return Yf.environment}});Object.defineProperty(m,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Yf.isRestrictedEnvVariableName}});Object.defineProperty(m,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Yf.isZuploReadableEnvVariableName}});var ZE=k();Object.defineProperty(m,"ConfigurationError",{enumerable:!0,get:function(){return ZE.ConfigurationError}});Object.defineProperty(m,"RuntimeError",{enumerable:!0,get:function(){return ZE.RuntimeError}});var OL=gp();Object.defineProperty(m,"originalFetch",{enumerable:!0,get:function(){return OL.originalFetch}});var XE=ab();Object.defineProperty(m,"Handler",{enumerable:!0,get:function(){return XE.Handler}});Object.defineProperty(m,"purgeGatewayCache",{enumerable:!0,get:function(){return XE.purgeGatewayCache}});var ew=Sb();Object.defineProperty(m,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return ew.AwsLambdaHandlerExtensions}});Object.defineProperty(m,"awsLambdaHandler",{enumerable:!0,get:function(){return ew.awsLambdaHandler}});var NL=Pb();Object.defineProperty(m,"openApiSpecHandler",{enumerable:!0,get:function(){return NL.openApiSpecHandler}});var CL=Ab();Object.defineProperty(m,"redirectHandler",{enumerable:!0,get:function(){return CL.redirectHandler}});var xL=Ob();Object.defineProperty(m,"urlForwardHandler",{enumerable:!0,get:function(){return xL.urlForwardHandler}});var LL=Cb();Object.defineProperty(m,"urlRewriteHandler",{enumerable:!0,get:function(){return LL.urlRewriteHandler}});var DL=Lb();Object.defineProperty(m,"webSocketHandler",{enumerable:!0,get:function(){return DL.webSocketHandler}});var ML=Ub();Object.defineProperty(m,"webSocketPipelineHandler",{enumerable:!0,get:function(){return ML.webSocketPipelineHandler}});var UL=_l();Object.defineProperty(m,"HttpStatusCode",{enumerable:!0,get:function(){return UL.HttpStatusCode}});Qf(Bb(),m);Qf(Jb(),m);var kL=zb();Object.defineProperty(m,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return kL.AuditLogDataStaxProvider}});var FL=Qb();Object.defineProperty(m,"AuditLogPlugin",{enumerable:!0,get:function(){return FL.AuditLogPlugin}});Qf(u_(),m);var tw=gn();Object.defineProperty(m,"InboundPolicy",{enumerable:!0,get:function(){return tw.InboundPolicy}});Object.defineProperty(m,"OutboundPolicy",{enumerable:!0,get:function(){return tw.OutboundPolicy}});var rw=h_();Object.defineProperty(m,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return rw.AmberfloMeteringInboundPolicy}});Object.defineProperty(m,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return rw.AmberfloMeteringPolicy}});var HL=__();Object.defineProperty(m,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return HL.ApiAuthKeyInboundPolicy}});var qL=Tf();Object.defineProperty(m,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return qL.ApiKeyInboundPolicy}});var $L=E_();Object.defineProperty(m,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return $L.Auth0JwtInboundPolicy}});var jL=w_();Object.defineProperty(m,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return jL.BasicAuthInboundPolicy}});var VL=v_();Object.defineProperty(m,"CachingInboundPolicy",{enumerable:!0,get:function(){return VL.CachingInboundPolicy}});var BL=T_();Object.defineProperty(m,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return BL.ChangeMethodInboundPolicy}});var GL=S_();Object.defineProperty(m,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return GL.ClearHeadersInboundPolicy}});var KL=I_();Object.defineProperty(m,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return KL.ClearHeadersOutboundPolicy}});var JL=P_();Object.defineProperty(m,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return JL.ClerkJwtInboundPolicy}});var zL=R_();Object.defineProperty(m,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return zL.CognitoJwtInboundPolicy}});var WL=N_();Object.defineProperty(m,"CompositeInboundPolicy",{enumerable:!0,get:function(){return WL.CompositeInboundPolicy}});var QL=C_();Object.defineProperty(m,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return QL.CurityPhantomTokenInboundPolicy}});var YL=x_();Object.defineProperty(m,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return YL.FirebaseJwtInboundPolicy}});var ZL=L_();Object.defineProperty(m,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return ZL.FormDataToJsonInboundPolicy}});var XL=D_();Object.defineProperty(m,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return XL.GeoFilterInboundPolicy}});var e1=M_();Object.defineProperty(m,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return e1.JWTScopeValidationInboundPolicy}});var t1=k_();Object.defineProperty(m,"MockApiInboundPolicy",{enumerable:!0,get:function(){return t1.MockApiInboundPolicy}});var nw=j_();Object.defineProperty(m,"MoesifInboundPolicy",{enumerable:!0,get:function(){return nw.MoesifInboundPolicy}});Object.defineProperty(m,"setMoesifContext",{enumerable:!0,get:function(){return nw.setMoesifContext}});var r1=W_();Object.defineProperty(m,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return r1.MonetizationInboundPolicy}});var n1=Q_();Object.defineProperty(m,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return n1.OktaJwtInboundPolicy}});var i1=Xt();Object.defineProperty(m,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return i1.OpenIdJwtInboundPolicy}});var o1=Y_();Object.defineProperty(m,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return o1.PropelAuthJwtInboundPolicy}});var iw=iE();Object.defineProperty(m,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return iw.RateLimitInboundPolicy}});Object.defineProperty(m,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return iw.RateLimitInboundPolicy}});var s1=cE();Object.defineProperty(m,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return s1.ReadmeMetricsInboundPolicy}});var a1=uE();Object.defineProperty(m,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return a1.RemoveHeadersInboundPolicy}});var c1=lE();Object.defineProperty(m,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return c1.RemoveHeadersOutboundPolicy}});var u1=dE();Object.defineProperty(m,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return u1.RemoveQueryParamsInboundPolicy}});var l1=pE();Object.defineProperty(m,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return l1.ReplaceStringOutboundPolicy}});var d1=hE();Object.defineProperty(m,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return d1.RequestSizeLimitInboundPolicy}});var ow=_E();Object.defineProperty(m,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return ow.RequestValidationInboundPolicy}});Object.defineProperty(m,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return ow.SchemaBasedRequestValidation}});var p1=EE();Object.defineProperty(m,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return p1.RequireOriginInboundPolicy}});var f1=wE();Object.defineProperty(m,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return f1.SetBodyInboundPolicy}});var h1=TE();Object.defineProperty(m,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return h1.SetHeadersInboundPolicy}});var m1=IE();Object.defineProperty(m,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return m1.SetHeadersOutboundPolicy}});var g1=AE();Object.defineProperty(m,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return g1.SetQueryParamsInboundPolicy}});var y1=RE();Object.defineProperty(m,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return y1.SetStatusOutboundPolicy}});var b1=OE();Object.defineProperty(m,"SleepInboundPolicy",{enumerable:!0,get:function(){return b1.SleepInboundPolicy}});var _1=Zp();Object.defineProperty(m,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return _1.StripeWebhookVerificationInboundPolicy}});var E1=CE();Object.defineProperty(m,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return E1.SupabaseJwtInboundPolicy}});var w1=LE();Object.defineProperty(m,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return w1.UpstreamAzureAdServiceAuthInboundPolicy}});var v1=ME();Object.defineProperty(m,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return v1.UpstreamFirebaseAdminAuthInboundPolicy}});var T1=UE();Object.defineProperty(m,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return T1.UpstreamFirebaseUserAuthInboundPolicy}});var S1=FE();Object.defineProperty(m,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return S1.UpstreamGcpJwtInboundPolicy}});var I1=qE();Object.defineProperty(m,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return I1.UpstreamGcpServiceAuthInboundPolicy}});var P1=jE();Object.defineProperty(m,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return P1.ValidateJsonSchemaInbound}});var A1=KE();Object.defineProperty(m,"XmlToJsonOutboundPolicy",{enumerable:!0,get:function(){return A1.XmlToJsonOutboundPolicy}});var R1=pe();Object.defineProperty(m,"HttpProblems",{enumerable:!0,get:function(){return R1.HttpProblems}});var O1=Vo();Object.defineProperty(m,"ProblemResponseFormatter",{enumerable:!0,get:function(){return O1.ProblemResponseFormatter}});var N1=Ge();Object.defineProperty(m,"ZuploRequest",{enumerable:!0,get:function(){return N1.ZuploRequest}});var C1=jr();Object.defineProperty(m,"SystemRouteName",{enumerable:!0,get:function(){return C1.SystemRouteName}});var sw=ip();Object.defineProperty(m,"LookupResult",{enumerable:!0,get:function(){return sw.LookupResult}});Object.defineProperty(m,"Router",{enumerable:!0,get:function(){return sw.Router}});var aw=ul();Object.defineProperty(m,"ContentTypes",{enumerable:!0,get:function(){return aw.ContentTypes}});Object.defineProperty(m,"serialize",{enumerable:!0,get:function(){return aw.serialize}});var x1=JE();Object.defineProperty(m,"ServiceProviderImpl",{enumerable:!0,get:function(){return x1.ServiceProviderImpl}});var cw=Fl();Object.defineProperty(m,"API_KEY",{enumerable:!0,get:function(){return cw.API_KEY}});Object.defineProperty(m,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return cw.SYSTEM_LOGGER}});var L1=wl();Object.defineProperty(m,"httpStatuses",{enumerable:!0,get:function(){return IL(L1).default}});var D1=Ze();Object.defineProperty(m,"SystemLogMap",{enumerable:!0,get:function(){return D1.SystemLogMap}});var po=Lc();Object.defineProperty(m,"getIdForParameterSchema",{enumerable:!0,get:function(){return po.getIdForParameterSchema}});Object.defineProperty(m,"getIdForRefSchema",{enumerable:!0,get:function(){return po.getIdForRefSchema}});Object.defineProperty(m,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return po.getIdForRequestBodySchema}});Object.defineProperty(m,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return po.getRawOperationDataIdentifierName}});Object.defineProperty(m,"sanitizedIdentifierName",{enumerable:!0,get:function(){return po.sanitizedIdentifierName}});var uw=WE();Object.defineProperty(m,"BatchDispatch",{enumerable:!0,get:function(){return uw.BatchDispatch}});Object.defineProperty(m,"BackgroundDispatcher",{enumerable:!0,get:function(){return uw.BackgroundDispatcher}});var M1=QE();Object.defineProperty(m,"BackgroundLoader",{enumerable:!0,get:function(){return M1.BackgroundLoader}})});var dw=b(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.BaseCryptoBeta=di.supportedDigests=void 0;di.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Zf=class{static{o(this,"BaseCryptoBeta")}};di.BaseCryptoBeta=Zf});var pw=b(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});ru.WorkerCryptoBeta=void 0;var Xf=dw(),U1=k(),eh=class extends Xf.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!Xf.supportedDigests.includes(e.toLowerCase()))throw new U1.RuntimeError(`Algorithm ${e} is not supported. Try using ${Xf.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("")}};ru.WorkerCryptoBeta=eh});var fw=b(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.BaseKeyValueStore=void 0;var th=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};nu.BaseKeyValueStore=th});var mw=b(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.WorkerKeyValueStore=void 0;var hw=k(),k1=fw(),rh=class extends k1.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new hw.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 hw.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)}};iu.WorkerKeyValueStore=rh});var Gt=b(vt=>{"use strict";var F1=vt&&vt.__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]}),H1=vt&&vt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&F1(e,t,r)};Object.defineProperty(vt,"__esModule",{value:!0});vt.KeyValueStore=vt.CryptoBeta=void 0;H1(lw(),vt);var q1=pw();Object.defineProperty(vt,"CryptoBeta",{enumerable:!0,get:function(){return q1.WorkerCryptoBeta}});var $1=mw();Object.defineProperty(vt,"KeyValueStore",{enumerable:!0,get:function(){return $1.WorkerKeyValueStore}})});var zD={};Ro(zD,{GraphQLComplexityLimitInboundPolicy:()=>Jw,GraphQLDisableIntrospectionInboundPolicy:()=>Ww});module.exports=Oo(zD);var Ti=Oh(Gt());function ee(t,e){if(!!!t)throw new Error(e)}o(ee,"devAssert");function Oe(t){return typeof t=="object"&&t!==null}o(Oe,"isObjectLike");function Ht(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(Ht,"invariant");var j1=/\r\n|[\n\r]/g;function pi(t,e){let r=0,n=1;for(let i of t.body.matchAll(j1)){if(typeof i.index=="number"||Ht(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(pi,"getLocation");function nh(t){return ou(t.source,pi(t.source,t.start))}o(nh,"printLocation");function ou(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}
81
- `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let f=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+gw([[`${a} |`,g[0]],...g.slice(1,f+1).map(_=>["|",_]),["|","^".padStart(h)],["|",g[f+1]]])}return l+gw([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(ou,"printSourceLocation");function gw(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(`
82
- `)}o(gw,"printPrefixedLines");function V1(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(V1,"toNormalizedOptions");var j=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}=V1(r);super(e),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=yw(Array.isArray(a)?a:a?[a]:void 0);let f=yw((n=this.nodes)===null||n===void 0?void 0:n.map(g=>g.loc).filter(g=>g!=null));this.source=c??(f==null||(i=f[0])===null||i===void 0?void 0:i.source),this.positions=u??f?.map(g=>g.start),this.locations=u&&c?u.map(g=>pi(c,g)):f?.map(g=>pi(g.source,g.start));let h=Oe(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,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+=`
80
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}o(i,"Builder"),B(i,"Builder"),i.prototype.build=function(u){return this.options.preserveOrder?r(u,this.options):(Array.isArray(u)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(u={[this.options.arrayNodeName]:u}),this.j2x(u,0).val)},i.prototype.j2x=function(u,l){let d="",p="";for(let f in u)if(Object.prototype.hasOwnProperty.call(u,f))if(typeof u[f]>"u")this.isAttribute(f)&&(p+="");else if(u[f]===null)this.isAttribute(f)?p+="":f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar;else if(u[f]instanceof Date)p+=this.buildTextValNode(u[f],f,"",l);else if(typeof u[f]!="object"){let h=this.isAttribute(f);if(h)d+=this.buildAttrPairStr(h,""+u[f]);else if(f===this.options.textNodeName){let g=this.options.tagValueProcessor(f,""+u[f]);p+=this.replaceEntitiesValue(g)}else p+=this.buildTextValNode(u[f],f,"",l)}else if(Array.isArray(u[f])){let h=u[f].length,g="";for(let _=0;_<h;_++){let T=u[f][_];typeof T>"u"||(T===null?f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar:typeof T=="object"?this.options.oneListGroup?g+=this.j2x(T,l+1).val:g+=this.processTextOrObjNode(T,f,l):g+=this.buildTextValNode(T,f,"",l))}this.options.oneListGroup&&(g=this.buildObjectNode(g,f,"",l)),p+=g}else if(this.options.attributesGroupName&&f===this.options.attributesGroupName){let h=Object.keys(u[f]),g=h.length;for(let _=0;_<g;_++)d+=this.buildAttrPairStr(h[_],""+u[f][h[_]])}else p+=this.processTextOrObjNode(u[f],f,l);return{attrStr:d,val:p}},i.prototype.buildAttrPairStr=function(u,l){return l=this.options.attributeValueProcessor(u,""+l),l=this.replaceEntitiesValue(l),this.options.suppressBooleanAttributes&&l==="true"?" "+u:" "+u+'="'+l+'"'};function s(u,l,d){let p=this.j2x(u,d+1);return u[this.options.textNodeName]!==void 0&&Object.keys(u).length===1?this.buildTextValNode(u[this.options.textNodeName],l,p.attrStr,d):this.buildObjectNode(p.val,l,p.attrStr,d)}o(s,"processTextOrObjNode"),B(s,"processTextOrObjNode"),i.prototype.buildObjectNode=function(u,l,d,p){if(u==="")return l[0]==="?"?this.indentate(p)+"<"+l+d+"?"+this.tagEndChar:this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar;{let f="</"+l+this.tagEndChar,h="";return l[0]==="?"&&(h="?",f=""),(d||d==="")&&u.indexOf("<")===-1?this.indentate(p)+"<"+l+d+h+">"+u+f:this.options.commentPropName!==!1&&l===this.options.commentPropName&&h.length===0?this.indentate(p)+`<!--${u}-->`+this.newLine:this.indentate(p)+"<"+l+d+h+this.tagEndChar+u+this.indentate(p)+f}},i.prototype.closeTag=function(u){let l="";return this.options.unpairedTags.indexOf(u)!==-1?this.options.suppressUnpairedNode||(l="/"):this.options.suppressEmptyNode?l="/":l=`></${u}`,l},i.prototype.buildTextValNode=function(u,l,d,p){if(this.options.cdataPropName!==!1&&l===this.options.cdataPropName)return this.indentate(p)+`<![CDATA[${u}]]>`+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(p)+`<!--${u}-->`+this.newLine;if(l[0]==="?")return this.indentate(p)+"<"+l+d+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,u);return f=this.replaceEntitiesValue(f),f===""?this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar:this.indentate(p)+"<"+l+d+">"+f+"</"+l+this.tagEndChar}},i.prototype.replaceEntitiesValue=function(u){if(u&&u.length>0&&this.options.processEntities)for(let l=0;l<this.options.entities.length;l++){let d=this.options.entities[l];u=u.replace(d.regex,d.val)}return u};function a(u){return this.options.indentBy.repeat(u)}o(a,"indentate"),B(a,"indentate");function c(u){return u.startsWith(this.options.attributeNamePrefix)&&u!==this.options.textNodeName?u.substr(this.attrPrefixLen):!1}o(c,"isAttribute"),B(c,"isAttribute"),e.exports=i}}),hL=BE(),mL=dL(),gL=fL();GE.exports={XMLParser:mL,XMLValidator:hL,XMLBuilder:gL}});var JE=b(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.XmlToJsonOutboundPolicy=void 0;var yL=k(),bL=gn(),_L=KE(),EL=Kt(),wL=ut(),Kf=class extends bL.OutboundPolicy{static{o(this,"XmlToJsonOutboundPolicy")}parser;parseOnStatusCodes;constructor(e,r){super(e,r),(0,wL.optionValidator)(this.options,this.policyName).optional("removeNSPrefix","boolean").optional("ignoreProcessingInstructions","boolean").optional("ignoreDeclarations","boolean").optional("ignoreAttributes","boolean").optional("stopNodes","array").optional("attributeNamePrefix","string").optional("textNodeName","string").optional("trimValues","boolean"),this.parseOnStatusCodes=e.parseOnStatusCodes?(0,EL.statusCodesStringToNumberArray)(e.parseOnStatusCodes):void 0,this.parser=new _L.XMLParser({removeNSPrefix:e?.removeNSPrefix??!0,ignorePiTags:e?.ignoreProcessingInstructions??!0,ignoreDeclaration:e?.ignoreDeclarations??!0,ignoreAttributes:e?.ignoreAttributes??!0,stopNodes:e?.stopNodes??[],attributeNamePrefix:e?.attributeNamePrefix??"@_",textNodeName:e?.textNodeName??"#text",trimValues:e?.trimValues??!0})}async handler(e,r,n){if(this.parseOnStatusCodes&&!this.parseOnStatusCodes.includes(e.status))return e;let i;try{let c=await e.text();i=this.parser.parse(c)}catch(c){let u=`XmlToJsonOutboundPolicy - Error parsing XML contents in policy '${this.policyName}'.`;throw n.log.error(u,c),new yL.RuntimeError(u)}let s=new Headers(e.headers);return s.set("content-type","application/json"),new Response(JSON.stringify(i),{status:e.status,statusText:e.statusText,headers:s})}};Xc.XmlToJsonOutboundPolicy=Kf});var zE=b(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.ServiceProviderImpl=void 0;var vL=k(),Jf=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(e,r){if(this.services.get(e))throw new vL.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)}};eu.ServiceProviderImpl=Jf});var QE=b(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.BackgroundDispatcher=li.BatchDispatch=void 0;var WE=Pe();Object.defineProperty(li,"BatchDispatch",{enumerable:!0,get:function(){return WE.BatchDispatch}});var TL=ma(),zf=class{static{o(this,"BackgroundDispatcher")}#e;constructor(e,r){if(!r||r.msDelay===void 0)throw new Error("BackgroundDispatcher: options.msDelay is required");this.#e=new WE.BatchDispatch(r.name??"",r.msDelay,e)}enqueue=e=>{this.#e.enqueue(e),(0,TL.getGlobalZuploEventContext)().waitUntil(this.#e.waitUntilFlushed())}};li.BackgroundDispatcher=zf});var YE=b(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});tu.BackgroundLoader=void 0;var SL=ma(),Wf=class{static{o(this,"BackgroundLoader")}#e=new Map;#t;#r;#n=new Map;constructor(e,r){this.#t=e,this.#r=r*1e3}#i(e){let r=this.#e.get(e);r&&(r.expiry=new Date(Date.now()+this.#r))}#o(e){return e.expiry<=new Date}async get(e){let r=this.#e.get(e);return r&&!this.#o(r)?(this.#s(e),r.data):this.#a(e)}async#s(e){let r=this.#n.get(e);if(r!==void 0)return r.wrap();let n=this.#a(e);return this.#n.set(e,new lo(n)),await new lo(n).wrap(),this.#n.delete(e),n}async#a(e){let r=this.#n.get(e);if(r===void 0){let n=this.#t(e);r=new lo(n),this.#i(e);let i=await r.wrap();this.#e.set(e,{data:i,expiry:new Date(Date.now()+this.#r)})}return r.wrap()}};tu.BackgroundLoader=Wf;var lo=class{static{o(this,"WrappedPromise")}#e;#t=[];#r;#n;constructor(e){(0,SL.getGlobalZuploEventContext)().waitUntil(e),this.#e=e,this.#e.then(n=>{this.#t.forEach(i=>i.resolve(n)),this.#r=n}).catch(n=>{this.#t.forEach(i=>i.reject(n)),this.#n=n})}async wrap(){if(this.#n)throw this.#n;if(this.#r)return this.#r;let e=this;return new Promise((n,i)=>{e.#t.push({resolve:n,reject:i})})}}});var dw=b(m=>{"use strict";var IL=m&&m.__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]}),Qf=m&&m.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&IL(e,t,r)},PL=m&&m.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(m,"__esModule",{value:!0});m.OpenIdJwtInboundPolicy=m.OktaJwtInboundPolicy=m.MonetizationInboundPolicy=m.setMoesifContext=m.MoesifInboundPolicy=m.MockApiInboundPolicy=m.JWTScopeValidationInboundPolicy=m.GeoFilterInboundPolicy=m.FormDataToJsonInboundPolicy=m.FirebaseJwtInboundPolicy=m.CurityPhantomTokenInboundPolicy=m.CompositeInboundPolicy=m.CognitoJwtInboundPolicy=m.ClerkJwtInboundPolicy=m.ClearHeadersOutboundPolicy=m.ClearHeadersInboundPolicy=m.ChangeMethodInboundPolicy=m.CachingInboundPolicy=m.BasicAuthInboundPolicy=m.Auth0JwtInboundPolicy=m.ApiKeyInboundPolicy=m.ApiAuthKeyInboundPolicy=m.AmberfloMeteringPolicy=m.AmberfloMeteringInboundPolicy=m.OutboundPolicy=m.InboundPolicy=m.AuditLogPlugin=m.AuditLogDataStaxProvider=m.HttpStatusCode=m.webSocketPipelineHandler=m.webSocketHandler=m.urlRewriteHandler=m.urlForwardHandler=m.redirectHandler=m.openApiSpecHandler=m.awsLambdaHandler=m.AwsLambdaHandlerExtensions=m.purgeGatewayCache=m.Handler=m.originalFetch=m.RuntimeError=m.ConfigurationError=m.isZuploReadableEnvVariableName=m.isRestrictedEnvVariableName=m.environment=m.ContextData=m.ResponseSentEvent=m.ResponseSendingEvent=m.ZoneCache=m.MemoryZoneReadThroughCache=void 0;m.BackgroundLoader=m.BackgroundDispatcher=m.BatchDispatch=m.sanitizedIdentifierName=m.getRawOperationDataIdentifierName=m.getIdForRequestBodySchema=m.getIdForRefSchema=m.getIdForParameterSchema=m.SystemLogMap=m.httpStatuses=m.SYSTEM_LOGGER=m.API_KEY=m.ServiceProviderImpl=m.serialize=m.ContentTypes=m.Router=m.LookupResult=m.SystemRouteName=m.ZuploRequest=m.ProblemResponseFormatter=m.HttpProblems=m.XmlToJsonOutboundPolicy=m.ValidateJsonSchemaInbound=m.UpstreamGcpServiceAuthInboundPolicy=m.UpstreamGcpJwtInboundPolicy=m.UpstreamFirebaseUserAuthInboundPolicy=m.UpstreamFirebaseAdminAuthInboundPolicy=m.UpstreamAzureAdServiceAuthInboundPolicy=m.SupabaseJwtInboundPolicy=m.StripeWebhookVerificationInboundPolicy=m.SleepInboundPolicy=m.SetStatusOutboundPolicy=m.SetQueryParamsInboundPolicy=m.SetHeadersOutboundPolicy=m.SetHeadersInboundPolicy=m.SetBodyInboundPolicy=m.RequireOriginInboundPolicy=m.SchemaBasedRequestValidation=m.RequestValidationInboundPolicy=m.RequestSizeLimitInboundPolicy=m.ReplaceStringOutboundPolicy=m.RemoveQueryParamsInboundPolicy=m.RemoveHeadersOutboundPolicy=m.RemoveHeadersInboundPolicy=m.ReadmeMetricsInboundPolicy=m.RateLimitInboundPolicy=m.BasicRateLimitInboundPolicy=m.PropelAuthJwtInboundPolicy=void 0;Lh();var AL=nr();Object.defineProperty(m,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return AL.MemoryZoneReadThroughCache}});var RL=Do();Object.defineProperty(m,"ZoneCache",{enumerable:!0,get:function(){return RL.ZoneCache}});var ZE=qr();Object.defineProperty(m,"ResponseSendingEvent",{enumerable:!0,get:function(){return ZE.ResponseSendingEvent}});Object.defineProperty(m,"ResponseSentEvent",{enumerable:!0,get:function(){return ZE.ResponseSentEvent}});var OL=hp();Object.defineProperty(m,"ContextData",{enumerable:!0,get:function(){return OL.ContextData}});var Yf=Ji();Object.defineProperty(m,"environment",{enumerable:!0,get:function(){return Yf.environment}});Object.defineProperty(m,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Yf.isRestrictedEnvVariableName}});Object.defineProperty(m,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Yf.isZuploReadableEnvVariableName}});var XE=k();Object.defineProperty(m,"ConfigurationError",{enumerable:!0,get:function(){return XE.ConfigurationError}});Object.defineProperty(m,"RuntimeError",{enumerable:!0,get:function(){return XE.RuntimeError}});var NL=gp();Object.defineProperty(m,"originalFetch",{enumerable:!0,get:function(){return NL.originalFetch}});var ew=ab();Object.defineProperty(m,"Handler",{enumerable:!0,get:function(){return ew.Handler}});Object.defineProperty(m,"purgeGatewayCache",{enumerable:!0,get:function(){return ew.purgeGatewayCache}});var tw=Sb();Object.defineProperty(m,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return tw.AwsLambdaHandlerExtensions}});Object.defineProperty(m,"awsLambdaHandler",{enumerable:!0,get:function(){return tw.awsLambdaHandler}});var CL=Pb();Object.defineProperty(m,"openApiSpecHandler",{enumerable:!0,get:function(){return CL.openApiSpecHandler}});var xL=Ab();Object.defineProperty(m,"redirectHandler",{enumerable:!0,get:function(){return xL.redirectHandler}});var LL=Ob();Object.defineProperty(m,"urlForwardHandler",{enumerable:!0,get:function(){return LL.urlForwardHandler}});var DL=Cb();Object.defineProperty(m,"urlRewriteHandler",{enumerable:!0,get:function(){return DL.urlRewriteHandler}});var ML=Lb();Object.defineProperty(m,"webSocketHandler",{enumerable:!0,get:function(){return ML.webSocketHandler}});var UL=Ub();Object.defineProperty(m,"webSocketPipelineHandler",{enumerable:!0,get:function(){return UL.webSocketPipelineHandler}});var kL=_l();Object.defineProperty(m,"HttpStatusCode",{enumerable:!0,get:function(){return kL.HttpStatusCode}});Qf(Bb(),m);Qf(Jb(),m);var FL=zb();Object.defineProperty(m,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return FL.AuditLogDataStaxProvider}});var HL=Qb();Object.defineProperty(m,"AuditLogPlugin",{enumerable:!0,get:function(){return HL.AuditLogPlugin}});Qf(l_(),m);var rw=gn();Object.defineProperty(m,"InboundPolicy",{enumerable:!0,get:function(){return rw.InboundPolicy}});Object.defineProperty(m,"OutboundPolicy",{enumerable:!0,get:function(){return rw.OutboundPolicy}});var nw=m_();Object.defineProperty(m,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return nw.AmberfloMeteringInboundPolicy}});Object.defineProperty(m,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return nw.AmberfloMeteringPolicy}});var qL=E_();Object.defineProperty(m,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return qL.ApiAuthKeyInboundPolicy}});var $L=Tf();Object.defineProperty(m,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return $L.ApiKeyInboundPolicy}});var jL=w_();Object.defineProperty(m,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return jL.Auth0JwtInboundPolicy}});var VL=v_();Object.defineProperty(m,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return VL.BasicAuthInboundPolicy}});var BL=T_();Object.defineProperty(m,"CachingInboundPolicy",{enumerable:!0,get:function(){return BL.CachingInboundPolicy}});var GL=S_();Object.defineProperty(m,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return GL.ChangeMethodInboundPolicy}});var KL=I_();Object.defineProperty(m,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return KL.ClearHeadersInboundPolicy}});var JL=P_();Object.defineProperty(m,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return JL.ClearHeadersOutboundPolicy}});var zL=A_();Object.defineProperty(m,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return zL.ClerkJwtInboundPolicy}});var WL=O_();Object.defineProperty(m,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return WL.CognitoJwtInboundPolicy}});var QL=C_();Object.defineProperty(m,"CompositeInboundPolicy",{enumerable:!0,get:function(){return QL.CompositeInboundPolicy}});var YL=x_();Object.defineProperty(m,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return YL.CurityPhantomTokenInboundPolicy}});var ZL=L_();Object.defineProperty(m,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return ZL.FirebaseJwtInboundPolicy}});var XL=D_();Object.defineProperty(m,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return XL.FormDataToJsonInboundPolicy}});var e1=M_();Object.defineProperty(m,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return e1.GeoFilterInboundPolicy}});var t1=U_();Object.defineProperty(m,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return t1.JWTScopeValidationInboundPolicy}});var r1=F_();Object.defineProperty(m,"MockApiInboundPolicy",{enumerable:!0,get:function(){return r1.MockApiInboundPolicy}});var iw=V_();Object.defineProperty(m,"MoesifInboundPolicy",{enumerable:!0,get:function(){return iw.MoesifInboundPolicy}});Object.defineProperty(m,"setMoesifContext",{enumerable:!0,get:function(){return iw.setMoesifContext}});var n1=Q_();Object.defineProperty(m,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return n1.MonetizationInboundPolicy}});var i1=Y_();Object.defineProperty(m,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return i1.OktaJwtInboundPolicy}});var o1=Xt();Object.defineProperty(m,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return o1.OpenIdJwtInboundPolicy}});var s1=Z_();Object.defineProperty(m,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return s1.PropelAuthJwtInboundPolicy}});var ow=oE();Object.defineProperty(m,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return ow.RateLimitInboundPolicy}});Object.defineProperty(m,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return ow.RateLimitInboundPolicy}});var a1=uE();Object.defineProperty(m,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return a1.ReadmeMetricsInboundPolicy}});var c1=lE();Object.defineProperty(m,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return c1.RemoveHeadersInboundPolicy}});var u1=dE();Object.defineProperty(m,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return u1.RemoveHeadersOutboundPolicy}});var l1=pE();Object.defineProperty(m,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return l1.RemoveQueryParamsInboundPolicy}});var d1=fE();Object.defineProperty(m,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return d1.ReplaceStringOutboundPolicy}});var p1=mE();Object.defineProperty(m,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return p1.RequestSizeLimitInboundPolicy}});var sw=EE();Object.defineProperty(m,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return sw.RequestValidationInboundPolicy}});Object.defineProperty(m,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return sw.SchemaBasedRequestValidation}});var f1=wE();Object.defineProperty(m,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return f1.RequireOriginInboundPolicy}});var h1=vE();Object.defineProperty(m,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return h1.SetBodyInboundPolicy}});var m1=SE();Object.defineProperty(m,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return m1.SetHeadersInboundPolicy}});var g1=PE();Object.defineProperty(m,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return g1.SetHeadersOutboundPolicy}});var y1=RE();Object.defineProperty(m,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return y1.SetQueryParamsInboundPolicy}});var b1=OE();Object.defineProperty(m,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return b1.SetStatusOutboundPolicy}});var _1=NE();Object.defineProperty(m,"SleepInboundPolicy",{enumerable:!0,get:function(){return _1.SleepInboundPolicy}});var E1=Zp();Object.defineProperty(m,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return E1.StripeWebhookVerificationInboundPolicy}});var w1=xE();Object.defineProperty(m,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return w1.SupabaseJwtInboundPolicy}});var v1=DE();Object.defineProperty(m,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return v1.UpstreamAzureAdServiceAuthInboundPolicy}});var T1=UE();Object.defineProperty(m,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return T1.UpstreamFirebaseAdminAuthInboundPolicy}});var S1=kE();Object.defineProperty(m,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return S1.UpstreamFirebaseUserAuthInboundPolicy}});var I1=HE();Object.defineProperty(m,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return I1.UpstreamGcpJwtInboundPolicy}});var P1=$E();Object.defineProperty(m,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return P1.UpstreamGcpServiceAuthInboundPolicy}});var A1=VE();Object.defineProperty(m,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return A1.ValidateJsonSchemaInbound}});var R1=JE();Object.defineProperty(m,"XmlToJsonOutboundPolicy",{enumerable:!0,get:function(){return R1.XmlToJsonOutboundPolicy}});var O1=pe();Object.defineProperty(m,"HttpProblems",{enumerable:!0,get:function(){return O1.HttpProblems}});var N1=Vo();Object.defineProperty(m,"ProblemResponseFormatter",{enumerable:!0,get:function(){return N1.ProblemResponseFormatter}});var C1=Ge();Object.defineProperty(m,"ZuploRequest",{enumerable:!0,get:function(){return C1.ZuploRequest}});var x1=jr();Object.defineProperty(m,"SystemRouteName",{enumerable:!0,get:function(){return x1.SystemRouteName}});var aw=ip();Object.defineProperty(m,"LookupResult",{enumerable:!0,get:function(){return aw.LookupResult}});Object.defineProperty(m,"Router",{enumerable:!0,get:function(){return aw.Router}});var cw=ul();Object.defineProperty(m,"ContentTypes",{enumerable:!0,get:function(){return cw.ContentTypes}});Object.defineProperty(m,"serialize",{enumerable:!0,get:function(){return cw.serialize}});var L1=zE();Object.defineProperty(m,"ServiceProviderImpl",{enumerable:!0,get:function(){return L1.ServiceProviderImpl}});var uw=Fl();Object.defineProperty(m,"API_KEY",{enumerable:!0,get:function(){return uw.API_KEY}});Object.defineProperty(m,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return uw.SYSTEM_LOGGER}});var D1=wl();Object.defineProperty(m,"httpStatuses",{enumerable:!0,get:function(){return PL(D1).default}});var M1=Ze();Object.defineProperty(m,"SystemLogMap",{enumerable:!0,get:function(){return M1.SystemLogMap}});var po=Lc();Object.defineProperty(m,"getIdForParameterSchema",{enumerable:!0,get:function(){return po.getIdForParameterSchema}});Object.defineProperty(m,"getIdForRefSchema",{enumerable:!0,get:function(){return po.getIdForRefSchema}});Object.defineProperty(m,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return po.getIdForRequestBodySchema}});Object.defineProperty(m,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return po.getRawOperationDataIdentifierName}});Object.defineProperty(m,"sanitizedIdentifierName",{enumerable:!0,get:function(){return po.sanitizedIdentifierName}});var lw=QE();Object.defineProperty(m,"BatchDispatch",{enumerable:!0,get:function(){return lw.BatchDispatch}});Object.defineProperty(m,"BackgroundDispatcher",{enumerable:!0,get:function(){return lw.BackgroundDispatcher}});var U1=YE();Object.defineProperty(m,"BackgroundLoader",{enumerable:!0,get:function(){return U1.BackgroundLoader}})});var pw=b(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.BaseCryptoBeta=di.supportedDigests=void 0;di.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Zf=class{static{o(this,"BaseCryptoBeta")}};di.BaseCryptoBeta=Zf});var fw=b(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});ru.WorkerCryptoBeta=void 0;var Xf=pw(),k1=k(),eh=class extends Xf.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!Xf.supportedDigests.includes(e.toLowerCase()))throw new k1.RuntimeError(`Algorithm ${e} is not supported. Try using ${Xf.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("")}};ru.WorkerCryptoBeta=eh});var hw=b(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.BaseKeyValueStore=void 0;var th=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};nu.BaseKeyValueStore=th});var gw=b(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.WorkerKeyValueStore=void 0;var mw=k(),F1=hw(),rh=class extends F1.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new mw.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 mw.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)}};iu.WorkerKeyValueStore=rh});var Gt=b(vt=>{"use strict";var H1=vt&&vt.__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]}),q1=vt&&vt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&H1(e,t,r)};Object.defineProperty(vt,"__esModule",{value:!0});vt.KeyValueStore=vt.CryptoBeta=void 0;q1(dw(),vt);var $1=fw();Object.defineProperty(vt,"CryptoBeta",{enumerable:!0,get:function(){return $1.WorkerCryptoBeta}});var j1=gw();Object.defineProperty(vt,"KeyValueStore",{enumerable:!0,get:function(){return j1.WorkerKeyValueStore}})});var WD={};Ro(WD,{GraphQLComplexityLimitInboundPolicy:()=>zw,GraphQLDisableIntrospectionInboundPolicy:()=>Qw});module.exports=Oo(WD);var Ti=Oh(Gt());function ee(t,e){if(!!!t)throw new Error(e)}o(ee,"devAssert");function Oe(t){return typeof t=="object"&&t!==null}o(Oe,"isObjectLike");function Ht(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(Ht,"invariant");var V1=/\r\n|[\n\r]/g;function pi(t,e){let r=0,n=1;for(let i of t.body.matchAll(V1)){if(typeof i.index=="number"||Ht(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(pi,"getLocation");function nh(t){return ou(t.source,pi(t.source,t.start))}o(nh,"printLocation");function ou(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}
81
+ `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let f=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+yw([[`${a} |`,g[0]],...g.slice(1,f+1).map(_=>["|",_]),["|","^".padStart(h)],["|",g[f+1]]])}return l+yw([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(ou,"printSourceLocation");function yw(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(`
82
+ `)}o(yw,"printPrefixedLines");function B1(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(B1,"toNormalizedOptions");var j=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}=B1(r);super(e),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=bw(Array.isArray(a)?a:a?[a]:void 0);let f=bw((n=this.nodes)===null||n===void 0?void 0:n.map(g=>g.loc).filter(g=>g!=null));this.source=c??(f==null||(i=f[0])===null||i===void 0?void 0:i.source),this.positions=u??f?.map(g=>g.start),this.locations=u&&c?u.map(g=>pi(c,g)):f?.map(g=>pi(g.source,g.start));let h=Oe(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,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+=`
83
83
 
84
84
  `+nh(r.loc));else if(this.source&&this.locations)for(let r of this.locations)e+=`
85
85
 
86
- `+ou(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 yw(t){return t===void 0||t.length===0?void 0:t}o(yw,"undefinedIfEmpty");function Ee(t,e,r){return new j(`Syntax Error: ${r}`,{source:t,positions:[e]})}o(Ee,"syntaxError");var fo=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}}},fi=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}}},ih={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"]},B1=new Set(Object.keys(ih));function ho(t){let e=t?.kind;return typeof e=="string"&&B1.has(e)}o(ho,"isNode");var pt;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(pt||(pt={}));var te;(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"})(te||(te={}));var I;(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"})(I||(I={}));function su(t){return t===9||t===32}o(su,"isWhiteSpace");function hi(t){return t>=48&&t<=57}o(hi,"isDigit");function bw(t){return t>=97&&t<=122||t>=65&&t<=90}o(bw,"isLetter");function mo(t){return bw(t)||t===95}o(mo,"isNameStart");function au(t){return bw(t)||hi(t)||t===95}o(au,"isNameContinue");function _w(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=G1(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(_w,"dedentBlockStringLines");function G1(t){let e=0;for(;e<t.length&&su(t.charCodeAt(e));)++e;return e}o(G1,"leadingWhitespace");function Ew(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(h=>h.length===0||su(h.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="",f=i&&su(t.charCodeAt(0));return(d&&!f||s)&&(p+=`
86
+ `+ou(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 bw(t){return t===void 0||t.length===0?void 0:t}o(bw,"undefinedIfEmpty");function Ee(t,e,r){return new j(`Syntax Error: ${r}`,{source:t,positions:[e]})}o(Ee,"syntaxError");var fo=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}}},fi=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}}},ih={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"]},G1=new Set(Object.keys(ih));function ho(t){let e=t?.kind;return typeof e=="string"&&G1.has(e)}o(ho,"isNode");var pt;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(pt||(pt={}));var te;(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"})(te||(te={}));var I;(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"})(I||(I={}));function su(t){return t===9||t===32}o(su,"isWhiteSpace");function hi(t){return t>=48&&t<=57}o(hi,"isDigit");function _w(t){return t>=97&&t<=122||t>=65&&t<=90}o(_w,"isLetter");function mo(t){return _w(t)||t===95}o(mo,"isNameStart");function au(t){return _w(t)||hi(t)||t===95}o(au,"isNameContinue");function Ew(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=K1(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(Ew,"dedentBlockStringLines");function K1(t){let e=0;for(;e<t.length&&su(t.charCodeAt(e));)++e;return e}o(K1,"leadingWhitespace");function ww(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(h=>h.length===0||su(h.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="",f=i&&su(t.charCodeAt(0));return(d&&!f||s)&&(p+=`
87
87
  `),p+=r,(d||l)&&(p+=`
88
- `),'"""'+p+'"""'}o(Ew,"printBlockString");var R;(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"})(R||(R={}));var yo=class{static{o(this,"Lexer")}constructor(e){let r=new fi(R.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!==R.EOF)do if(e.next)e=e.next;else{let r=K1(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===R.COMMENT);return e}};function vw(t){return t===R.BANG||t===R.DOLLAR||t===R.AMP||t===R.PAREN_L||t===R.PAREN_R||t===R.SPREAD||t===R.COLON||t===R.EQUALS||t===R.AT||t===R.BRACKET_L||t===R.BRACKET_R||t===R.BRACE_L||t===R.PIPE||t===R.BRACE_R}o(vw,"isPunctuatorTokenKind");function mi(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}o(mi,"isUnicodeScalarValue");function cu(t,e){return Tw(t.charCodeAt(e))&&Sw(t.charCodeAt(e+1))}o(cu,"isSupplementaryCodePoint");function Tw(t){return t>=55296&&t<=56319}o(Tw,"isLeadingSurrogate");function Sw(t){return t>=56320&&t<=57343}o(Sw,"isTrailingSurrogate");function sn(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return R.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(sn,"printCodePointAt");function Te(t,e,r,n,i){let s=t.line,a=1+r-t.lineStart;return new fi(e,r,n,s,a,i)}o(Te,"createToken");function K1(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 J1(t,i);case 33:return Te(t,R.BANG,i,i+1);case 36:return Te(t,R.DOLLAR,i,i+1);case 38:return Te(t,R.AMP,i,i+1);case 40:return Te(t,R.PAREN_L,i,i+1);case 41:return Te(t,R.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return Te(t,R.SPREAD,i,i+3);break;case 58:return Te(t,R.COLON,i,i+1);case 61:return Te(t,R.EQUALS,i,i+1);case 64:return Te(t,R.AT,i,i+1);case 91:return Te(t,R.BRACKET_L,i,i+1);case 93:return Te(t,R.BRACKET_R,i,i+1);case 123:return Te(t,R.BRACE_L,i,i+1);case 124:return Te(t,R.PIPE,i,i+1);case 125:return Te(t,R.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?X1(t,i):W1(t,i)}if(hi(s)||s===45)return z1(t,i,s);if(mo(s))return eD(t,i);throw Ee(t.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:mi(s)||cu(r,i)?`Unexpected character: ${sn(t,i)}.`:`Invalid character: ${sn(t,i)}.`)}return Te(t,R.EOF,n,n)}o(K1,"readNextToken");function J1(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(mi(s))++i;else if(cu(r,i))i+=2;else break}return Te(t,R.COMMENT,e,i,r.slice(e+1,i))}o(J1,"readComment");function z1(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),hi(s))throw Ee(t.source,i,`Invalid number, unexpected digit after 0: ${sn(t,i)}.`)}else i=oh(t,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=oh(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=oh(t,i,s),s=n.charCodeAt(i)),s===46||mo(s))throw Ee(t.source,i,`Invalid number, expected digit but got: ${sn(t,i)}.`);return Te(t,a?R.FLOAT:R.INT,e,i,n.slice(e,i))}o(z1,"readNumber");function oh(t,e,r){if(!hi(r))throw Ee(t.source,e,`Invalid number, expected digit but got: ${sn(t,e)}.`);let n=t.source.body,i=e+1;for(;hi(n.charCodeAt(i));)++i;return i}o(oh,"readDigits");function W1(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),Te(t,R.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?Q1(t,i):Y1(t,i):Z1(t,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(mi(c))++i;else if(cu(r,i))i+=2;else throw Ee(t.source,i,`Invalid character within String: ${sn(t,i)}.`)}throw Ee(t.source,i,"Unterminated string.")}o(W1,"readString");function Q1(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||!mi(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|go(s),n<0)break}throw Ee(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}o(Q1,"readEscapedUnicodeVariableWidth");function Y1(t,e){let r=t.source.body,n=ww(r,e+2);if(mi(n))return{value:String.fromCodePoint(n),size:6};if(Tw(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=ww(r,e+8);if(Sw(i))return{value:String.fromCodePoint(n,i),size:12}}throw Ee(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}o(Y1,"readEscapedUnicodeFixedWidth");function ww(t,e){return go(t.charCodeAt(e))<<12|go(t.charCodeAt(e+1))<<8|go(t.charCodeAt(e+2))<<4|go(t.charCodeAt(e+3))}o(ww,"read16BitHexCode");function go(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}o(go,"readHexDigit");function Z1(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:`
89
- `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw Ee(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}o(Z1,"readEscapedCharacter");function X1(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=Te(t,R.BLOCK_STRING,e,s+3,_w(u).join(`
90
- `));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(mi(l))++s;else if(cu(r,s))s+=2;else throw Ee(t.source,s,`Invalid character within String: ${sn(t,s)}.`)}throw Ee(t.source,s,"Unterminated string.")}o(X1,"readBlockString");function eD(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(au(s))++i;else break}return Te(t,R.NAME,e,i,r.slice(e,i))}o(eD,"readName");function U(t){return uu(t,[])}o(U,"inspect");function uu(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return tD(t,e);default:return String(t)}}o(uu,"formatValue");function tD(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let r=[...e,t];if(rD(t)){let n=t.toJSON();if(n!==t)return typeof n=="string"?n:uu(n,r)}else if(Array.isArray(t))return iD(t,r);return nD(t,r)}o(tD,"formatObjectValue");function rD(t){return typeof t.toJSON=="function"}o(rD,"isJSONable");function nD(t,e){let r=Object.entries(t);return r.length===0?"{}":e.length>2?"["+oD(t)+"]":"{ "+r.map(([i,s])=>i+": "+uu(s,e)).join(", ")+" }"}o(nD,"formatObject");function iD(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(uu(t[s],e));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(iD,"formatArray");function oD(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(oD,"getObjectTag");var tt=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=U(e);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
88
+ `),'"""'+p+'"""'}o(ww,"printBlockString");var R;(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"})(R||(R={}));var yo=class{static{o(this,"Lexer")}constructor(e){let r=new fi(R.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!==R.EOF)do if(e.next)e=e.next;else{let r=J1(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===R.COMMENT);return e}};function Tw(t){return t===R.BANG||t===R.DOLLAR||t===R.AMP||t===R.PAREN_L||t===R.PAREN_R||t===R.SPREAD||t===R.COLON||t===R.EQUALS||t===R.AT||t===R.BRACKET_L||t===R.BRACKET_R||t===R.BRACE_L||t===R.PIPE||t===R.BRACE_R}o(Tw,"isPunctuatorTokenKind");function mi(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}o(mi,"isUnicodeScalarValue");function cu(t,e){return Sw(t.charCodeAt(e))&&Iw(t.charCodeAt(e+1))}o(cu,"isSupplementaryCodePoint");function Sw(t){return t>=55296&&t<=56319}o(Sw,"isLeadingSurrogate");function Iw(t){return t>=56320&&t<=57343}o(Iw,"isTrailingSurrogate");function sn(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return R.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(sn,"printCodePointAt");function Te(t,e,r,n,i){let s=t.line,a=1+r-t.lineStart;return new fi(e,r,n,s,a,i)}o(Te,"createToken");function J1(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 z1(t,i);case 33:return Te(t,R.BANG,i,i+1);case 36:return Te(t,R.DOLLAR,i,i+1);case 38:return Te(t,R.AMP,i,i+1);case 40:return Te(t,R.PAREN_L,i,i+1);case 41:return Te(t,R.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return Te(t,R.SPREAD,i,i+3);break;case 58:return Te(t,R.COLON,i,i+1);case 61:return Te(t,R.EQUALS,i,i+1);case 64:return Te(t,R.AT,i,i+1);case 91:return Te(t,R.BRACKET_L,i,i+1);case 93:return Te(t,R.BRACKET_R,i,i+1);case 123:return Te(t,R.BRACE_L,i,i+1);case 124:return Te(t,R.PIPE,i,i+1);case 125:return Te(t,R.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?eD(t,i):Q1(t,i)}if(hi(s)||s===45)return W1(t,i,s);if(mo(s))return tD(t,i);throw Ee(t.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:mi(s)||cu(r,i)?`Unexpected character: ${sn(t,i)}.`:`Invalid character: ${sn(t,i)}.`)}return Te(t,R.EOF,n,n)}o(J1,"readNextToken");function z1(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(mi(s))++i;else if(cu(r,i))i+=2;else break}return Te(t,R.COMMENT,e,i,r.slice(e+1,i))}o(z1,"readComment");function W1(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),hi(s))throw Ee(t.source,i,`Invalid number, unexpected digit after 0: ${sn(t,i)}.`)}else i=oh(t,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=oh(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=oh(t,i,s),s=n.charCodeAt(i)),s===46||mo(s))throw Ee(t.source,i,`Invalid number, expected digit but got: ${sn(t,i)}.`);return Te(t,a?R.FLOAT:R.INT,e,i,n.slice(e,i))}o(W1,"readNumber");function oh(t,e,r){if(!hi(r))throw Ee(t.source,e,`Invalid number, expected digit but got: ${sn(t,e)}.`);let n=t.source.body,i=e+1;for(;hi(n.charCodeAt(i));)++i;return i}o(oh,"readDigits");function Q1(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),Te(t,R.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?Y1(t,i):Z1(t,i):X1(t,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(mi(c))++i;else if(cu(r,i))i+=2;else throw Ee(t.source,i,`Invalid character within String: ${sn(t,i)}.`)}throw Ee(t.source,i,"Unterminated string.")}o(Q1,"readString");function Y1(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||!mi(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|go(s),n<0)break}throw Ee(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}o(Y1,"readEscapedUnicodeVariableWidth");function Z1(t,e){let r=t.source.body,n=vw(r,e+2);if(mi(n))return{value:String.fromCodePoint(n),size:6};if(Sw(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=vw(r,e+8);if(Iw(i))return{value:String.fromCodePoint(n,i),size:12}}throw Ee(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}o(Z1,"readEscapedUnicodeFixedWidth");function vw(t,e){return go(t.charCodeAt(e))<<12|go(t.charCodeAt(e+1))<<8|go(t.charCodeAt(e+2))<<4|go(t.charCodeAt(e+3))}o(vw,"read16BitHexCode");function go(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}o(go,"readHexDigit");function X1(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:`
89
+ `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw Ee(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}o(X1,"readEscapedCharacter");function eD(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=Te(t,R.BLOCK_STRING,e,s+3,Ew(u).join(`
90
+ `));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(mi(l))++s;else if(cu(r,s))s+=2;else throw Ee(t.source,s,`Invalid character within String: ${sn(t,s)}.`)}throw Ee(t.source,s,"Unterminated string.")}o(eD,"readBlockString");function tD(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(au(s))++i;else break}return Te(t,R.NAME,e,i,r.slice(e,i))}o(tD,"readName");function U(t){return uu(t,[])}o(U,"inspect");function uu(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return rD(t,e);default:return String(t)}}o(uu,"formatValue");function rD(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let r=[...e,t];if(nD(t)){let n=t.toJSON();if(n!==t)return typeof n=="string"?n:uu(n,r)}else if(Array.isArray(t))return oD(t,r);return iD(t,r)}o(rD,"formatObjectValue");function nD(t){return typeof t.toJSON=="function"}o(nD,"isJSONable");function iD(t,e){let r=Object.entries(t);return r.length===0?"{}":e.length>2?"["+sD(t)+"]":"{ "+r.map(([i,s])=>i+": "+uu(s,e)).join(", ")+" }"}o(iD,"formatObject");function oD(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(uu(t[s],e));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(oD,"formatArray");function sD(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(sD,"getObjectTag");var tt=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=U(e);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
91
91
 
92
92
  Ensure that there is only one instance of "graphql" in the node_modules
93
93
  directory. If different versions of "graphql" are the dependencies of other
@@ -98,16 +98,16 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
98
98
  Duplicate "graphql" modules cannot be used at the same time since different
99
99
  versions may have different capabilities and behavior. The data from one
100
100
  version used in the function from another could produce confusing and
101
- spurious results.`)}}return!1},"instanceOf");var gi=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||ee(!1,`Body must be a string. Received: ${U(e)}.`),this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||ee(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||ee(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function Iw(t){return tt(t,gi)}o(Iw,"isSource");function pu(t,e){return new du(t,e).parseDocument()}o(pu,"parse");function fu(t,e){let r=new du(t,e);r.expectToken(R.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(R.EOF),n}o(fu,"parseValue");var du=class{static{o(this,"Parser")}constructor(e,r={}){let n=Iw(e)?e:new gi(e);this._lexer=new yo(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(R.NAME);return this.node(e,{kind:I.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:I.DOCUMENT,definitions:this.many(R.SOF,this.parseDefinition,R.EOF)})}parseDefinition(){if(this.peek(R.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===R.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 Ee(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(R.BRACE_L))return this.node(e,{kind:I.OPERATION_DEFINITION,operation:pt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(R.NAME)&&(n=this.parseName()),this.node(e,{kind:I.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(R.NAME);switch(e.value){case"query":return pt.QUERY;case"mutation":return pt.MUTATION;case"subscription":return pt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(R.PAREN_L,this.parseVariableDefinition,R.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:I.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(R.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(R.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(R.DOLLAR),this.node(e,{kind:I.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:I.SELECTION_SET,selections:this.many(R.BRACE_L,this.parseSelection,R.BRACE_R)})}parseSelection(){return this.peek(R.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(R.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:I.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(R.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(R.PAREN_L,r,R.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(R.COLON),this.node(r,{kind:I.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(R.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(R.NAME)?this.node(e,{kind:I.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:I.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:I.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:I.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 R.BRACKET_L:return this.parseList(e);case R.BRACE_L:return this.parseObject(e);case R.INT:return this.advanceLexer(),this.node(r,{kind:I.INT,value:r.value});case R.FLOAT:return this.advanceLexer(),this.node(r,{kind:I.FLOAT,value:r.value});case R.STRING:case R.BLOCK_STRING:return this.parseStringLiteral();case R.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:I.BOOLEAN,value:!0});case"false":return this.node(r,{kind:I.BOOLEAN,value:!1});case"null":return this.node(r,{kind:I.NULL});default:return this.node(r,{kind:I.ENUM,value:r.value})}case R.DOLLAR:if(e)if(this.expectToken(R.DOLLAR),this._lexer.token.kind===R.NAME){let n=this._lexer.token.value;throw Ee(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:I.STRING,value:e.value,block:e.kind===R.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:I.LIST,values:this.any(R.BRACKET_L,r,R.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:I.OBJECT,fields:this.any(R.BRACE_L,r,R.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(R.COLON),this.node(r,{kind:I.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(R.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(R.AT),this.node(r,{kind:I.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(R.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(R.BRACKET_R),r=this.node(e,{kind:I.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(R.BANG)?this.node(e,{kind:I.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:I.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(R.STRING)||this.peek(R.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(R.BRACE_L,this.parseOperationTypeDefinition,R.BRACE_R);return this.node(e,{kind:I.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(R.COLON);let n=this.parseNamedType();return this.node(e,{kind:I.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:I.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:I.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(R.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(R.BRACE_L,this.parseFieldDefinition,R.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(R.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:I.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(R.PAREN_L,this.parseInputValueDef,R.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(R.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(R.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:I.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:I.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:I.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(R.EQUALS)?this.delimitedMany(R.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:I.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(R.BRACE_L,this.parseEnumValueDefinition,R.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:I.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 Ee(this._lexer.source,this._lexer.token.start,`${lu(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:I.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(R.BRACE_L,this.parseInputValueDef,R.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===R.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(R.BRACE_L,this.parseOperationTypeDefinition,R.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:I.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:I.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:I.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:I.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:I.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:I.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:I.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(R.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:I.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(R.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(te,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new fo(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 Ee(this._lexer.source,r.start,`Expected ${Pw(e)}, found ${lu(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===R.NAME&&r.value===e)this.advanceLexer();else throw Ee(this._lexer.source,r.start,`Expected "${e}", found ${lu(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===R.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return Ee(this._lexer.source,r.start,`Unexpected ${lu(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!==R.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Ee(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function lu(t){let e=t.value;return Pw(t.kind)+(e!=null?` "${e}"`:"")}o(lu,"getTokenDesc");function Pw(t){return vw(t)?`"${t}"`:t}o(Pw,"getTokenKindDesc");function hu(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(hu,"didYouMean");function sh(t){return t}o(sh,"identityFunc");function yi(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(yi,"keyMap");function qt(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(qt,"keyValMap");function bo(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(bo,"mapValue");function Aw(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(mu(i)&&mu(s)){let a=0;do++r,a=a*10+i-ah,i=t.charCodeAt(r);while(mu(i)&&a>0);let c=0;do++n,c=c*10+s-ah,s=e.charCodeAt(n);while(mu(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(Aw,"naturalCompare");var ah=48,sD=57;function mu(t){return!isNaN(t)&&ah<=t&&t<=sD}o(mu,"isDigit");function gu(t,e){let r=Object.create(null),n=new ch(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:Aw(s,a)})}o(gu,"suggestionList");var ch=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=Rw(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=Rw(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],f=u[d%3],h=f[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===s[g-1]?0:1,T=Math.min(p[g]+1,f[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===s[g-2]&&i[d-2]===s[g-1]){let A=u[(d-2)%3][g-2];T=Math.min(T,A+1)}T<h&&(h=T),f[g]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function Rw(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(Rw,"stringToArray");function je(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(je,"toObjMap");function Ow(t){return`"${t.replace(aD,cD)}"`}o(Ow,"printString");var aD=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function cD(t){return uD[t.charCodeAt(0)]}o(cD,"escapedReplacer");var uD=["\\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 uh=Object.freeze({});function Cr(t,e,r=ih){let n=new Map;for(let A of Object.values(I))n.set(A,bi(e,A));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,f=[],h=[];do{c++;let A=c===a.length,y=A&&u.length!==0;if(A){if(d=h.length===0?void 0:f[f.length-1],l=p,p=h.pop(),y)if(s){l=l.slice();let O=0;for(let[V,w]of u){let v=V-O;w===null?(l.splice(v,1),O++):l[v]=w}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[O,V]of u)l[O]=V}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;f.push(d)}let S;if(!Array.isArray(l)){var g,_;ho(l)||ee(!1,`Invalid AST Node: ${U(l)}.`);let O=A?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(S=O?.call(e,l,d,p,f,h),S===uh)break;if(S===!1){if(!A){f.pop();continue}}else if(S!==void 0&&(u.push([d,S]),!A))if(ho(S))l=S;else{f.pop();continue}}if(S===void 0&&y&&u.push([d,l]),A)f.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(Cr,"visit");function bi(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(bi,"getEnterLeaveForKind");function Ve(t){return Cr(t,dD)}o(Ve,"print");var lD=80,dD={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>$(t.definitions,`
101
+ spurious results.`)}}return!1},"instanceOf");var gi=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||ee(!1,`Body must be a string. Received: ${U(e)}.`),this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||ee(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||ee(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function Pw(t){return tt(t,gi)}o(Pw,"isSource");function pu(t,e){return new du(t,e).parseDocument()}o(pu,"parse");function fu(t,e){let r=new du(t,e);r.expectToken(R.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(R.EOF),n}o(fu,"parseValue");var du=class{static{o(this,"Parser")}constructor(e,r={}){let n=Pw(e)?e:new gi(e);this._lexer=new yo(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(R.NAME);return this.node(e,{kind:I.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:I.DOCUMENT,definitions:this.many(R.SOF,this.parseDefinition,R.EOF)})}parseDefinition(){if(this.peek(R.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===R.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 Ee(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(R.BRACE_L))return this.node(e,{kind:I.OPERATION_DEFINITION,operation:pt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(R.NAME)&&(n=this.parseName()),this.node(e,{kind:I.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(R.NAME);switch(e.value){case"query":return pt.QUERY;case"mutation":return pt.MUTATION;case"subscription":return pt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(R.PAREN_L,this.parseVariableDefinition,R.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:I.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(R.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(R.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(R.DOLLAR),this.node(e,{kind:I.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:I.SELECTION_SET,selections:this.many(R.BRACE_L,this.parseSelection,R.BRACE_R)})}parseSelection(){return this.peek(R.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(R.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:I.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(R.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(R.PAREN_L,r,R.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(R.COLON),this.node(r,{kind:I.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(R.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(R.NAME)?this.node(e,{kind:I.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:I.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:I.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:I.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 R.BRACKET_L:return this.parseList(e);case R.BRACE_L:return this.parseObject(e);case R.INT:return this.advanceLexer(),this.node(r,{kind:I.INT,value:r.value});case R.FLOAT:return this.advanceLexer(),this.node(r,{kind:I.FLOAT,value:r.value});case R.STRING:case R.BLOCK_STRING:return this.parseStringLiteral();case R.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:I.BOOLEAN,value:!0});case"false":return this.node(r,{kind:I.BOOLEAN,value:!1});case"null":return this.node(r,{kind:I.NULL});default:return this.node(r,{kind:I.ENUM,value:r.value})}case R.DOLLAR:if(e)if(this.expectToken(R.DOLLAR),this._lexer.token.kind===R.NAME){let n=this._lexer.token.value;throw Ee(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:I.STRING,value:e.value,block:e.kind===R.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:I.LIST,values:this.any(R.BRACKET_L,r,R.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:I.OBJECT,fields:this.any(R.BRACE_L,r,R.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(R.COLON),this.node(r,{kind:I.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(R.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(R.AT),this.node(r,{kind:I.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(R.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(R.BRACKET_R),r=this.node(e,{kind:I.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(R.BANG)?this.node(e,{kind:I.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:I.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(R.STRING)||this.peek(R.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(R.BRACE_L,this.parseOperationTypeDefinition,R.BRACE_R);return this.node(e,{kind:I.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(R.COLON);let n=this.parseNamedType();return this.node(e,{kind:I.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:I.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:I.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(R.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(R.BRACE_L,this.parseFieldDefinition,R.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(R.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:I.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(R.PAREN_L,this.parseInputValueDef,R.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(R.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(R.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:I.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:I.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:I.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(R.EQUALS)?this.delimitedMany(R.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:I.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(R.BRACE_L,this.parseEnumValueDefinition,R.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:I.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 Ee(this._lexer.source,this._lexer.token.start,`${lu(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:I.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(R.BRACE_L,this.parseInputValueDef,R.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===R.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(R.BRACE_L,this.parseOperationTypeDefinition,R.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:I.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:I.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:I.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:I.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:I.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:I.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:I.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(R.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:I.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(R.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(te,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new fo(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 Ee(this._lexer.source,r.start,`Expected ${Aw(e)}, found ${lu(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===R.NAME&&r.value===e)this.advanceLexer();else throw Ee(this._lexer.source,r.start,`Expected "${e}", found ${lu(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===R.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return Ee(this._lexer.source,r.start,`Unexpected ${lu(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!==R.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Ee(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function lu(t){let e=t.value;return Aw(t.kind)+(e!=null?` "${e}"`:"")}o(lu,"getTokenDesc");function Aw(t){return Tw(t)?`"${t}"`:t}o(Aw,"getTokenKindDesc");function hu(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(hu,"didYouMean");function sh(t){return t}o(sh,"identityFunc");function yi(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(yi,"keyMap");function qt(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(qt,"keyValMap");function bo(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(bo,"mapValue");function Rw(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(mu(i)&&mu(s)){let a=0;do++r,a=a*10+i-ah,i=t.charCodeAt(r);while(mu(i)&&a>0);let c=0;do++n,c=c*10+s-ah,s=e.charCodeAt(n);while(mu(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(Rw,"naturalCompare");var ah=48,aD=57;function mu(t){return!isNaN(t)&&ah<=t&&t<=aD}o(mu,"isDigit");function gu(t,e){let r=Object.create(null),n=new ch(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:Rw(s,a)})}o(gu,"suggestionList");var ch=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=Ow(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=Ow(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],f=u[d%3],h=f[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===s[g-1]?0:1,T=Math.min(p[g]+1,f[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===s[g-2]&&i[d-2]===s[g-1]){let A=u[(d-2)%3][g-2];T=Math.min(T,A+1)}T<h&&(h=T),f[g]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function Ow(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(Ow,"stringToArray");function je(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(je,"toObjMap");function Nw(t){return`"${t.replace(cD,uD)}"`}o(Nw,"printString");var cD=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function uD(t){return lD[t.charCodeAt(0)]}o(uD,"escapedReplacer");var lD=["\\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 uh=Object.freeze({});function Cr(t,e,r=ih){let n=new Map;for(let A of Object.values(I))n.set(A,bi(e,A));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,f=[],h=[];do{c++;let A=c===a.length,y=A&&u.length!==0;if(A){if(d=h.length===0?void 0:f[f.length-1],l=p,p=h.pop(),y)if(s){l=l.slice();let O=0;for(let[V,w]of u){let v=V-O;w===null?(l.splice(v,1),O++):l[v]=w}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[O,V]of u)l[O]=V}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;f.push(d)}let S;if(!Array.isArray(l)){var g,_;ho(l)||ee(!1,`Invalid AST Node: ${U(l)}.`);let O=A?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(S=O?.call(e,l,d,p,f,h),S===uh)break;if(S===!1){if(!A){f.pop();continue}}else if(S!==void 0&&(u.push([d,S]),!A))if(ho(S))l=S;else{f.pop();continue}}if(S===void 0&&y&&u.push([d,l]),A)f.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(Cr,"visit");function bi(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(bi,"getEnterLeaveForKind");function Ve(t){return Cr(t,pD)}o(Ve,"print");var dD=80,pD={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>$(t.definitions,`
102
102
 
103
- `)},OperationDefinition:{leave(t){let e=re("(",$(t.variableDefinitions,", "),")"),r=$([t.operation,$([t.name,e]),$(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n})=>t+": "+e+re(" = ",r)+re(" ",$(n," "))},SelectionSet:{leave:({selections:t})=>Tt(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let s=re("",t,": ")+e,a=s+re("(",$(r,", "),")");return a.length>lD&&(a=s+re(`(
103
+ `)},OperationDefinition:{leave(t){let e=re("(",$(t.variableDefinitions,", "),")"),r=$([t.operation,$([t.name,e]),$(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n})=>t+": "+e+re(" = ",r)+re(" ",$(n," "))},SelectionSet:{leave:({selections:t})=>Tt(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let s=re("",t,": ")+e,a=s+re("(",$(r,", "),")");return a.length>dD&&(a=s+re(`(
104
104
  `,yu($(r,`
105
105
  `)),`
106
- )`)),$([a,$(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+re(" ",$(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>$(["...",re("on ",t),$(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${re("(",$(r,", "),")")} on ${e} ${re("",$(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?Ew(t):Ow(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+$(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+$(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+re("(",$(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>re("",t,`
106
+ )`)),$([a,$(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+re(" ",$(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>$(["...",re("on ",t),$(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${re("(",$(r,", "),")")} on ${e} ${re("",$(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?ww(t):Nw(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+$(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+$(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+re("(",$(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>re("",t,`
107
107
  `)+$(["schema",$(e," "),Tt(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>re("",t,`
108
108
  `)+$(["scalar",e,$(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>re("",t,`
109
109
  `)+$(["type",e,re("implements ",$(r," & ")),$(n," "),Tt(i)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:r,type:n,directives:i})=>re("",t,`
110
- `)+e+(Nw(r)?re(`(
110
+ `)+e+(Cw(r)?re(`(
111
111
  `,yu($(r,`
112
112
  `)),`
113
113
  )`):re("(",$(r,", "),")"))+": "+n+re(" ",$(i," "))},InputValueDefinition:{leave:({description:t,name:e,type:r,defaultValue:n,directives:i})=>re("",t,`
@@ -117,17 +117,17 @@ spurious results.`)}}return!1},"instanceOf");var gi=class{static{o(this,"Source"
117
117
  `)+$(["enum",e,$(r," "),Tt(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>re("",t,`
118
118
  `)+$([e,$(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>re("",t,`
119
119
  `)+$(["input",e,$(r," "),Tt(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,repeatable:n,locations:i})=>re("",t,`
120
- `)+"directive @"+e+(Nw(r)?re(`(
120
+ `)+"directive @"+e+(Cw(r)?re(`(
121
121
  `,yu($(r,`
122
122
  `)),`
123
123
  )`):re("(",$(r,", "),")"))+(n?" repeatable":"")+" on "+$(i," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>$(["extend schema",$(t," "),Tt(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>$(["extend scalar",t,$(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>$(["extend type",t,re("implements ",$(e," & ")),$(r," "),Tt(n)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>$(["extend interface",t,re("implements ",$(e," & ")),$(r," "),Tt(n)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:r})=>$(["extend union",t,$(e," "),re("= ",$(r," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:r})=>$(["extend enum",t,$(e," "),Tt(r)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:r})=>$(["extend input",t,$(e," "),Tt(r)]," ")}};function $(t,e=""){var r;return(r=t?.filter(n=>n).join(e))!==null&&r!==void 0?r:""}o($,"join");function Tt(t){return re(`{
124
124
  `,yu($(t,`
125
125
  `)),`
126
126
  }`)}o(Tt,"block");function re(t,e,r=""){return e!=null&&e!==""?t+e+r:""}o(re,"wrap");function yu(t){return re(" ",t.replace(/\n/g,`
127
- `))}o(yu,"indent");function Nw(t){var e;return(e=t?.some(r=>r.includes(`
128
- `)))!==null&&e!==void 0?e:!1}o(Nw,"hasMultilineItems");function _o(t,e){switch(t.kind){case I.NULL:return null;case I.INT:return parseInt(t.value,10);case I.FLOAT:return parseFloat(t.value);case I.STRING:case I.ENUM:case I.BOOLEAN:return t.value;case I.LIST:return t.values.map(r=>_o(r,e));case I.OBJECT:return qt(t.fields,r=>r.name.value,r=>_o(r.value,e));case I.VARIABLE:return e?.[t.name.value]}}o(_o,"valueFromASTUntyped");function Qe(t){if(t!=null||ee(!1,"Must provide name."),typeof t=="string"||ee(!1,"Expected name to be a string."),t.length===0)throw new j("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!au(t.charCodeAt(e)))throw new j(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!mo(t.charCodeAt(0)))throw new j(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(Qe,"assertName");function lh(t){if(t==="true"||t==="false"||t==="null")throw new j(`Enum values cannot be named: ${t}`);return Qe(t)}o(lh,"assertEnumValueName");function _u(t){return xr(t)||He(t)||Ne(t)||ft(t)||nt(t)||Me(t)||Ye(t)||ge(t)}o(_u,"isType");function xr(t){return tt(t,rt)}o(xr,"isScalarType");function He(t){return tt(t,Fe)}o(He,"isObjectType");function Eu(t){if(!He(t))throw new Error(`Expected ${U(t)} to be a GraphQL Object type.`);return t}o(Eu,"assertObjectType");function Ne(t){return tt(t,er)}o(Ne,"isInterfaceType");function wu(t){if(!Ne(t))throw new Error(`Expected ${U(t)} to be a GraphQL Interface type.`);return t}o(wu,"assertInterfaceType");function ft(t){return tt(t,an)}o(ft,"isUnionType");function nt(t){return tt(t,$t)}o(nt,"isEnumType");function Me(t){return tt(t,cn)}o(Me,"isInputObjectType");function Ye(t){return tt(t,we)}o(Ye,"isListType");function ge(t){return tt(t,Q)}o(ge,"isNonNullType");function it(t){return xr(t)||nt(t)||Me(t)||Eo(t)&&it(t.ofType)}o(it,"isInputType");function tr(t){return xr(t)||He(t)||Ne(t)||ft(t)||nt(t)||Eo(t)&&tr(t.ofType)}o(tr,"isOutputType");function Lr(t){return xr(t)||nt(t)}o(Lr,"isLeafType");function jt(t){return He(t)||Ne(t)||ft(t)}o(jt,"isCompositeType");function Dr(t){return Ne(t)||ft(t)}o(Dr,"isAbstractType");var we=class{static{o(this,"GraphQLList")}constructor(e){_u(e)||ee(!1,`Expected ${U(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},Q=class{static{o(this,"GraphQLNonNull")}constructor(e){vu(e)||ee(!1,`Expected ${U(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 Eo(t){return Ye(t)||ge(t)}o(Eo,"isWrappingType");function vu(t){return _u(t)&&!ge(t)}o(vu,"isNullableType");function Tu(t){if(!vu(t))throw new Error(`Expected ${U(t)} to be a GraphQL nullable type.`);return t}o(Tu,"assertNullableType");function Su(t){if(t)return ge(t)?t.ofType:t}o(Su,"getNullableType");function St(t){if(t){let e=t;for(;Eo(e);)e=e.ofType;return e}}o(St,"getNamedType");function Iu(t){return typeof t=="function"?t():t}o(Iu,"resolveReadonlyArrayThunk");function Pu(t){return typeof t=="function"?t():t}o(Pu,"resolveObjMapThunk");var rt=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:sh;this.name=Qe(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:sh,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(_o(c,u)),this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||ee(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${U(e.specifiedByURL)}.`),e.serialize==null||typeof e.serialize=="function"||ee(!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"||ee(!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()}},Fe=class{static{o(this,"GraphQLObjectType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>xw(e),this._interfaces=()=>Cw(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||ee(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${U(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:Lw(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Cw(t){var e;let r=Iu((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||ee(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(Cw,"defineInterfaces");function xw(t){let e=Pu(t.fields);return _i(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),bo(e,(r,n)=>{var i;_i(r)||ee(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||ee(!1,`${t.name}.${n} field resolver must be a function if provided, but got: ${U(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return _i(s)||ee(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:Qe(n),description:r.description,type:r.type,args:dh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}})}o(xw,"defineFieldMap");function dh(t){return Object.entries(t).map(([e,r])=>({name:Qe(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}))}o(dh,"defineArguments");function _i(t){return Oe(t)&&!Array.isArray(t)}o(_i,"isPlainObj");function Lw(t){return bo(t,e=>({description:e.description,type:e.type,args:ph(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(Lw,"fieldsToFieldsConfig");function ph(t){return qt(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(ph,"argsToArgsConfig");var er=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=xw.bind(void 0,e),this._interfaces=Cw.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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:Lw(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},an=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=pD.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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 pD(t){let e=Iu(t.types);return Array.isArray(e)||ee(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(pD,"defineTypes");var $t=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=fD(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=yi(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 j(`Enum "${this.name}" cannot represent value: ${U(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=U(e);throw new j(`Enum "${this.name}" cannot represent non-string value: ${n}.`+bu(this,n))}let r=this.getValue(e);if(r==null)throw new j(`Value "${e}" does not exist in "${this.name}" enum.`+bu(this,e));return r.value}parseLiteral(e,r){if(e.kind!==I.ENUM){let i=Ve(e);throw new j(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+bu(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=Ve(e);throw new j(`Value "${i}" does not exist in "${this.name}" enum.`+bu(this,i),{nodes:e})}return n.value}toConfig(){let e=qt(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 bu(t,e){let r=t.getValues().map(i=>i.name),n=gu(e,r);return hu("the enum value",n)}o(bu,"didYouMeanEnumValue");function fD(t,e){return _i(e)||ee(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(_i(n)||ee(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${U(n)}.`),{name:lh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:je(n.extensions),astNode:n.astNode}))}o(fD,"defineEnumValues");var cn=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=hD.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=bo(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 hD(t){let e=Pu(t.fields);return _i(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),bo(e,(r,n)=>(!("resolve"in r)||ee(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Qe(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}))}o(hD,"defineInputFieldMap");var Au=2147483647,Ru=-2147483648,fh=new rt({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=wo(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 j(`Int cannot represent non-integer value: ${U(e)}`);if(r>Au||r<Ru)throw new j("Int cannot represent non 32-bit signed integer value: "+U(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new j(`Int cannot represent non-integer value: ${U(t)}`);if(t>Au||t<Ru)throw new j(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==I.INT)throw new j(`Int cannot represent non-integer value: ${Ve(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>Au||e<Ru)throw new j(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),Dw=new rt({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=wo(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 j(`Float cannot represent non numeric value: ${U(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new j(`Float cannot represent non numeric value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.FLOAT&&t.kind!==I.INT)throw new j(`Float cannot represent non numeric value: ${Ve(t)}`,t);return parseFloat(t.value)}}),he=new rt({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=wo(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 j(`String cannot represent value: ${U(t)}`)},parseValue(t){if(typeof t!="string")throw new j(`String cannot represent a non string value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.STRING)throw new j(`String cannot represent a non string value: ${Ve(t)}`,{nodes:t});return t.value}}),Be=new rt({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=wo(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new j(`Boolean cannot represent a non boolean value: ${U(e)}`)},parseValue(t){if(typeof t!="boolean")throw new j(`Boolean cannot represent a non boolean value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.BOOLEAN)throw new j(`Boolean cannot represent a non boolean value: ${Ve(t)}`,{nodes:t});return t.value}}),Ou=new rt({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=wo(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new j(`ID cannot represent value: ${U(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new j(`ID cannot represent value: ${U(t)}`)},parseLiteral(t){if(t.kind!==I.STRING&&t.kind!==I.INT)throw new j("ID cannot represent a non-string and non-integer value: "+Ve(t),{nodes:t});return t.value}}),hh=Object.freeze([he,fh,Dw,Be,Ou]);function wo(t){if(Oe(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!Oe(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(wo,"serializeObject");function mh(t){return tt(t,It)}o(mh,"isDirective");var It=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=Qe(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=je(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||ee(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};Oe(i)&&!Array.isArray(i)||ee(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=dh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:ph(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},Mw=new It({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Be),description:"Included when true."}}}),Uw=new It({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Be),description:"Skipped when true."}}}),kw="No longer supported",Fw=new It({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[te.FIELD_DEFINITION,te.ARGUMENT_DEFINITION,te.INPUT_FIELD_DEFINITION,te.ENUM_VALUE],args:{reason:{type:he,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:kw}}}),Hw=new It({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[te.SCALAR],args:{url:{type:new Q(he),description:"The URL that specifies the behavior of this scalar."}}}),gh=Object.freeze([Mw,Uw,Fw,Hw]);function Nu(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(Nu,"isIterableObject");function un(t,e){if(ge(e)){let r=un(t,e.ofType);return r?.kind===I.NULL?null:r}if(t===null)return{kind:I.NULL};if(t===void 0)return null;if(Ye(e)){let r=e.ofType;if(Nu(t)){let n=[];for(let i of t){let s=un(i,r);s!=null&&n.push(s)}return{kind:I.LIST,values:n}}return un(t,r)}if(Me(e)){if(!Oe(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=un(t[n.name],n.type);i&&r.push({kind:I.OBJECT_FIELD,name:{kind:I.NAME,value:n.name},value:i})}return{kind:I.OBJECT,fields:r}}if(Lr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:I.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return qw.test(n)?{kind:I.INT,value:n}:{kind:I.FLOAT,value:n}}if(typeof r=="string")return nt(e)?{kind:I.ENUM,value:r}:e===Ou&&qw.test(r)?{kind:I.INT,value:r}:{kind:I.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${U(r)}.`)}Ht(!1,"Unexpected input type: "+U(e))}o(un,"astFromValue");var qw=/^-?(?:0|[1-9][0-9]*)$/;var vo=new Fe({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:he,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new Q(new we(new Q(ht))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Q(ht),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ht,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ht,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Q(new we(new Q(yh))),resolve:t=>t.getDirectives()}})}),yh=new Fe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
127
+ `))}o(yu,"indent");function Cw(t){var e;return(e=t?.some(r=>r.includes(`
128
+ `)))!==null&&e!==void 0?e:!1}o(Cw,"hasMultilineItems");function _o(t,e){switch(t.kind){case I.NULL:return null;case I.INT:return parseInt(t.value,10);case I.FLOAT:return parseFloat(t.value);case I.STRING:case I.ENUM:case I.BOOLEAN:return t.value;case I.LIST:return t.values.map(r=>_o(r,e));case I.OBJECT:return qt(t.fields,r=>r.name.value,r=>_o(r.value,e));case I.VARIABLE:return e?.[t.name.value]}}o(_o,"valueFromASTUntyped");function Qe(t){if(t!=null||ee(!1,"Must provide name."),typeof t=="string"||ee(!1,"Expected name to be a string."),t.length===0)throw new j("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!au(t.charCodeAt(e)))throw new j(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!mo(t.charCodeAt(0)))throw new j(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(Qe,"assertName");function lh(t){if(t==="true"||t==="false"||t==="null")throw new j(`Enum values cannot be named: ${t}`);return Qe(t)}o(lh,"assertEnumValueName");function _u(t){return xr(t)||He(t)||Ne(t)||ft(t)||nt(t)||Me(t)||Ye(t)||ge(t)}o(_u,"isType");function xr(t){return tt(t,rt)}o(xr,"isScalarType");function He(t){return tt(t,Fe)}o(He,"isObjectType");function Eu(t){if(!He(t))throw new Error(`Expected ${U(t)} to be a GraphQL Object type.`);return t}o(Eu,"assertObjectType");function Ne(t){return tt(t,er)}o(Ne,"isInterfaceType");function wu(t){if(!Ne(t))throw new Error(`Expected ${U(t)} to be a GraphQL Interface type.`);return t}o(wu,"assertInterfaceType");function ft(t){return tt(t,an)}o(ft,"isUnionType");function nt(t){return tt(t,$t)}o(nt,"isEnumType");function Me(t){return tt(t,cn)}o(Me,"isInputObjectType");function Ye(t){return tt(t,we)}o(Ye,"isListType");function ge(t){return tt(t,Q)}o(ge,"isNonNullType");function it(t){return xr(t)||nt(t)||Me(t)||Eo(t)&&it(t.ofType)}o(it,"isInputType");function tr(t){return xr(t)||He(t)||Ne(t)||ft(t)||nt(t)||Eo(t)&&tr(t.ofType)}o(tr,"isOutputType");function Lr(t){return xr(t)||nt(t)}o(Lr,"isLeafType");function jt(t){return He(t)||Ne(t)||ft(t)}o(jt,"isCompositeType");function Dr(t){return Ne(t)||ft(t)}o(Dr,"isAbstractType");var we=class{static{o(this,"GraphQLList")}constructor(e){_u(e)||ee(!1,`Expected ${U(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},Q=class{static{o(this,"GraphQLNonNull")}constructor(e){vu(e)||ee(!1,`Expected ${U(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 Eo(t){return Ye(t)||ge(t)}o(Eo,"isWrappingType");function vu(t){return _u(t)&&!ge(t)}o(vu,"isNullableType");function Tu(t){if(!vu(t))throw new Error(`Expected ${U(t)} to be a GraphQL nullable type.`);return t}o(Tu,"assertNullableType");function Su(t){if(t)return ge(t)?t.ofType:t}o(Su,"getNullableType");function St(t){if(t){let e=t;for(;Eo(e);)e=e.ofType;return e}}o(St,"getNamedType");function Iu(t){return typeof t=="function"?t():t}o(Iu,"resolveReadonlyArrayThunk");function Pu(t){return typeof t=="function"?t():t}o(Pu,"resolveObjMapThunk");var rt=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:sh;this.name=Qe(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:sh,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(_o(c,u)),this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||ee(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${U(e.specifiedByURL)}.`),e.serialize==null||typeof e.serialize=="function"||ee(!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"||ee(!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()}},Fe=class{static{o(this,"GraphQLObjectType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>Lw(e),this._interfaces=()=>xw(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||ee(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${U(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:Dw(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function xw(t){var e;let r=Iu((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||ee(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(xw,"defineInterfaces");function Lw(t){let e=Pu(t.fields);return _i(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),bo(e,(r,n)=>{var i;_i(r)||ee(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||ee(!1,`${t.name}.${n} field resolver must be a function if provided, but got: ${U(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return _i(s)||ee(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:Qe(n),description:r.description,type:r.type,args:dh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}})}o(Lw,"defineFieldMap");function dh(t){return Object.entries(t).map(([e,r])=>({name:Qe(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}))}o(dh,"defineArguments");function _i(t){return Oe(t)&&!Array.isArray(t)}o(_i,"isPlainObj");function Dw(t){return bo(t,e=>({description:e.description,type:e.type,args:ph(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(Dw,"fieldsToFieldsConfig");function ph(t){return qt(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(ph,"argsToArgsConfig");var er=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=Lw.bind(void 0,e),this._interfaces=xw.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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:Dw(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},an=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=fD.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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 fD(t){let e=Iu(t.types);return Array.isArray(e)||ee(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(fD,"defineTypes");var $t=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=hD(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=yi(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 j(`Enum "${this.name}" cannot represent value: ${U(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=U(e);throw new j(`Enum "${this.name}" cannot represent non-string value: ${n}.`+bu(this,n))}let r=this.getValue(e);if(r==null)throw new j(`Value "${e}" does not exist in "${this.name}" enum.`+bu(this,e));return r.value}parseLiteral(e,r){if(e.kind!==I.ENUM){let i=Ve(e);throw new j(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+bu(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=Ve(e);throw new j(`Value "${i}" does not exist in "${this.name}" enum.`+bu(this,i),{nodes:e})}return n.value}toConfig(){let e=qt(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 bu(t,e){let r=t.getValues().map(i=>i.name),n=gu(e,r);return hu("the enum value",n)}o(bu,"didYouMeanEnumValue");function hD(t,e){return _i(e)||ee(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(_i(n)||ee(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${U(n)}.`),{name:lh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:je(n.extensions),astNode:n.astNode}))}o(hD,"defineEnumValues");var cn=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=mD.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=bo(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 mD(t){let e=Pu(t.fields);return _i(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),bo(e,(r,n)=>(!("resolve"in r)||ee(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Qe(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}))}o(mD,"defineInputFieldMap");var Au=2147483647,Ru=-2147483648,fh=new rt({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=wo(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 j(`Int cannot represent non-integer value: ${U(e)}`);if(r>Au||r<Ru)throw new j("Int cannot represent non 32-bit signed integer value: "+U(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new j(`Int cannot represent non-integer value: ${U(t)}`);if(t>Au||t<Ru)throw new j(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==I.INT)throw new j(`Int cannot represent non-integer value: ${Ve(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>Au||e<Ru)throw new j(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),Mw=new rt({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=wo(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 j(`Float cannot represent non numeric value: ${U(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new j(`Float cannot represent non numeric value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.FLOAT&&t.kind!==I.INT)throw new j(`Float cannot represent non numeric value: ${Ve(t)}`,t);return parseFloat(t.value)}}),he=new rt({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=wo(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 j(`String cannot represent value: ${U(t)}`)},parseValue(t){if(typeof t!="string")throw new j(`String cannot represent a non string value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.STRING)throw new j(`String cannot represent a non string value: ${Ve(t)}`,{nodes:t});return t.value}}),Be=new rt({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=wo(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new j(`Boolean cannot represent a non boolean value: ${U(e)}`)},parseValue(t){if(typeof t!="boolean")throw new j(`Boolean cannot represent a non boolean value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.BOOLEAN)throw new j(`Boolean cannot represent a non boolean value: ${Ve(t)}`,{nodes:t});return t.value}}),Ou=new rt({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=wo(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new j(`ID cannot represent value: ${U(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new j(`ID cannot represent value: ${U(t)}`)},parseLiteral(t){if(t.kind!==I.STRING&&t.kind!==I.INT)throw new j("ID cannot represent a non-string and non-integer value: "+Ve(t),{nodes:t});return t.value}}),hh=Object.freeze([he,fh,Mw,Be,Ou]);function wo(t){if(Oe(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!Oe(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(wo,"serializeObject");function mh(t){return tt(t,It)}o(mh,"isDirective");var It=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=Qe(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=je(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||ee(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};Oe(i)&&!Array.isArray(i)||ee(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=dh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:ph(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},Uw=new It({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Be),description:"Included when true."}}}),kw=new It({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Be),description:"Skipped when true."}}}),Fw="No longer supported",Hw=new It({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[te.FIELD_DEFINITION,te.ARGUMENT_DEFINITION,te.INPUT_FIELD_DEFINITION,te.ENUM_VALUE],args:{reason:{type:he,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:Fw}}}),qw=new It({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[te.SCALAR],args:{url:{type:new Q(he),description:"The URL that specifies the behavior of this scalar."}}}),gh=Object.freeze([Uw,kw,Hw,qw]);function Nu(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(Nu,"isIterableObject");function un(t,e){if(ge(e)){let r=un(t,e.ofType);return r?.kind===I.NULL?null:r}if(t===null)return{kind:I.NULL};if(t===void 0)return null;if(Ye(e)){let r=e.ofType;if(Nu(t)){let n=[];for(let i of t){let s=un(i,r);s!=null&&n.push(s)}return{kind:I.LIST,values:n}}return un(t,r)}if(Me(e)){if(!Oe(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=un(t[n.name],n.type);i&&r.push({kind:I.OBJECT_FIELD,name:{kind:I.NAME,value:n.name},value:i})}return{kind:I.OBJECT,fields:r}}if(Lr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:I.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return $w.test(n)?{kind:I.INT,value:n}:{kind:I.FLOAT,value:n}}if(typeof r=="string")return nt(e)?{kind:I.ENUM,value:r}:e===Ou&&$w.test(r)?{kind:I.INT,value:r}:{kind:I.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${U(r)}.`)}Ht(!1,"Unexpected input type: "+U(e))}o(un,"astFromValue");var $w=/^-?(?:0|[1-9][0-9]*)$/;var vo=new Fe({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:he,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new Q(new we(new Q(ht))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Q(ht),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ht,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ht,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Q(new we(new Q(yh))),resolve:t=>t.getDirectives()}})}),yh=new Fe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
129
129
 
130
- 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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isRepeatable:{type:new Q(Be),resolve:t=>t.isRepeatable},locations:{type:new Q(new we(new Q(bh))),resolve:t=>t.locations},args:{type:new Q(new we(new Q(To))),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),bh=new $t({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:te.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:te.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:te.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:te.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:te.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:te.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:te.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:te.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:te.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:te.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:te.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:te.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:te.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:te.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:te.UNION,description:"Location adjacent to a union definition."},ENUM:{value:te.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:te.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:te.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:te.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),ht=new Fe({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 Q(wh),resolve(t){if(xr(t))return ue.SCALAR;if(He(t))return ue.OBJECT;if(Ne(t))return ue.INTERFACE;if(ft(t))return ue.UNION;if(nt(t))return ue.ENUM;if(Me(t))return ue.INPUT_OBJECT;if(Ye(t))return ue.LIST;if(ge(t))return ue.NON_NULL;Ht(!1,`Unexpected type: "${U(t)}".`)}},name:{type:he,resolve:t=>"name"in t?t.name:void 0},description:{type:he,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:he,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new we(new Q(_h)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(He(t)||Ne(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new we(new Q(ht)),resolve(t){if(He(t)||Ne(t))return t.getInterfaces()}},possibleTypes:{type:new we(new Q(ht)),resolve(t,e,r,{schema:n}){if(Dr(t))return n.getPossibleTypes(t)}},enumValues:{type:new we(new Q(Eh)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(nt(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new we(new Q(To)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Me(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ht,resolve:t=>"ofType"in t?t.ofType:void 0}})}),_h=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},args:{type:new Q(new we(new Q(To))),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new Q(ht),resolve:t=>t.type},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),To=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},type:{type:new Q(ht),resolve:t=>t.type},defaultValue:{type:he,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=un(r,e);return n?Ve(n):null}},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),Eh=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),ue;(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"})(ue||(ue={}));var wh=new $t({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ue.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ue.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ue.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ue.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ue.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ue.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ue.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ue.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Cu={name:"__schema",type:new Q(vo),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},xu={name:"__type",type:ht,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Q(he),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},Lu={name:"__typename",type:new Q(he),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},vh=Object.freeze([vo,yh,bh,ht,_h,To,Eh,wh]);var So=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,Oe(e)||ee(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||ee(!1,`"types" must be Array if provided but got: ${U(e.types)}.`),!e.directives||Array.isArray(e.directives)||ee(!1,`"directives" must be Array if provided but got: ${U(e.directives)}.`),this.description=e.description,this.extensions=je(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:gh;let i=new Set(e.types);if(e.types!=null)for(let s of e.types)i.delete(s),Pt(s,i);this._queryType!=null&&Pt(this._queryType,i),this._mutationType!=null&&Pt(this._mutationType,i),this._subscriptionType!=null&&Pt(this._subscriptionType,i);for(let s of this._directives)if(mh(s))for(let a of s.args)Pt(a.type,i);Pt(vo,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||ee(!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,Ne(s)){for(let c of s.getInterfaces())if(Ne(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(He(s)){for(let c of s.getInterfaces())if(Ne(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 pt.QUERY:return this.getQueryType();case pt.MUTATION:return this.getMutationType();case pt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return ft(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),ft(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 Pt(t,e){let r=St(t);if(!e.has(r)){if(e.add(r),ft(r))for(let n of r.getTypes())Pt(n,e);else if(He(r)||Ne(r)){for(let n of r.getInterfaces())Pt(n,e);for(let n of Object.values(r.getFields())){Pt(n.type,e);for(let i of n.args)Pt(i.type,e)}}else if(Me(r))for(let n of Object.values(r.getFields()))Pt(n.type,e)}return e}o(Pt,"collectReferencedTypes");function Mr(t,e){switch(e.kind){case I.LIST_TYPE:{let r=Mr(t,e.type);return r&&new we(r)}case I.NON_NULL_TYPE:{let r=Mr(t,e.type);return r&&new Q(r)}case I.NAMED_TYPE:return t.getType(e.name.value)}}o(Mr,"typeFromAST");var Ur=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??mD,r&&(it(r)&&this._inputTypeStack.push(r),jt(r)&&this._parentTypeStack.push(r),tr(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 I.SELECTION_SET:{let i=St(this.getType());this._parentTypeStack.push(jt(i)?i:void 0);break}case I.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(tr(a)?a:void 0);break}case I.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case I.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(He(i)?i:void 0);break}case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?Mr(r,i):St(this.getType());this._typeStack.push(tr(s)?s:void 0);break}case I.VARIABLE_DEFINITION:{let i=Mr(r,e.type);this._inputTypeStack.push(it(i)?i:void 0);break}case I.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(it(s)?s:void 0);break}case I.LIST:{let i=Su(this.getInputType()),s=Ye(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case I.OBJECT_FIELD:{let i=St(this.getInputType()),s,a;Me(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case I.ENUM:{let i=St(this.getInputType()),s;nt(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case I.SELECTION_SET:this._parentTypeStack.pop();break;case I.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case I.DIRECTIVE:this._directive=null;break;case I.OPERATION_DEFINITION:case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:this._typeStack.pop();break;case I.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case I.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case I.LIST:case I.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case I.ENUM:this._enumValue=null;break;default:}}};function mD(t,e,r){let n=r.name.value;if(n===Cu.name&&t.getQueryType()===e)return Cu;if(n===xu.name&&t.getQueryType()===e)return xu;if(n===Lu.name&&jt(e))return Lu;if(He(e)||Ne(e))return e.getFields()[n]}o(mD,"getFieldDef");function Ei(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=bi(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),ho(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=bi(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o(Ei,"visitWithTypeInfo");function Du(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Du,"printPathArray");function Th(t,e,r){return{prev:t,key:e,typename:r}}o(Th,"addPath");function rr(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o(rr,"pathToArray");function Sh(t,e,r=gD){return Io(t,e,r,void 0)}o(Sh,"coerceInputValue");function gD(t,e,r){let n="Invalid value "+U(e);throw t.length>0&&(n+=` at "value${Du(t)}"`),r.message=n+": "+r.message,r}o(gD,"defaultOnError");function Io(t,e,r,n){if(ge(e)){if(t!=null)return Io(t,e.ofType,r,n);r(rr(n),t,new j(`Expected non-nullable type "${U(e)}" not to be null.`));return}if(t==null)return null;if(Ye(e)){let i=e.ofType;return Nu(t)?Array.from(t,(s,a)=>{let c=Th(n,a,void 0);return Io(s,i,r,c)}):[Io(t,i,r,n)]}if(Me(e)){if(!Oe(t)){r(rr(n),t,new j(`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(ge(a.type)){let u=U(a.type);r(rr(n),t,new j(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Io(c,a.type,r,Th(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=gu(a,Object.keys(e.getFields()));r(rr(n),t,new j(`Field "${a}" is not defined by type "${e.name}".`+hu(c)))}return i}if(Lr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof j?r(rr(n),t,s):r(rr(n),t,new j(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(rr(n),t,new j(`Expected type "${e.name}".`)),i}Ht(!1,"Unexpected input type: "+U(e))}o(Io,"coerceInputValueImpl");function Vt(t,e,r){if(t){if(t.kind===I.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ge(e)?void 0:i}if(ge(e))return t.kind===I.NULL?void 0:Vt(t,e.ofType,r);if(t.kind===I.NULL)return null;if(Ye(e)){let n=e.ofType;if(t.kind===I.LIST){let s=[];for(let a of t.values)if($w(a,r)){if(ge(n))return;s.push(null)}else{let c=Vt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Vt(t,n,r);return i===void 0?void 0:[i]}if(Me(e)){if(t.kind!==I.OBJECT)return;let n=Object.create(null),i=yi(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||$w(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ge(s.type))return;continue}let c=Vt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(Lr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}Ht(!1,"Unexpected input type: "+U(e))}}o(Vt,"valueFromAST");function $w(t,e){return t.kind===I.VARIABLE&&(e==null||e[t.name.value]===void 0)}o($w,"isMissingVariable");function Mu(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=yD(t,e,r,c=>{if(s!=null&&i.length>=s)throw new j("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(Mu,"getVariableValues");function yD(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=Mr(t,s.type);if(!it(c)){let l=Ve(s.type);n(new j(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!jw(r,a)){if(s.defaultValue)i[a]=Vt(s.defaultValue,c);else if(ge(c)){let l=U(c);n(new j(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ge(c)){let l=U(c);n(new j(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Sh(u,c,(l,d,p)=>{let f=`Variable "$${a}" got invalid value `+U(d);l.length>0&&(f+=` at "${a}${Du(l)}"`),n(new j(f+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(yD,"coerceVariableValues");function Po(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=yi(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(ge(l))throw new j(`Argument "${u}" of required type "${U(l)}" was not provided.`,{nodes:e});continue}let p=d.value,f=p.kind===I.NULL;if(p.kind===I.VARIABLE){let g=p.name.value;if(r==null||!jw(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ge(l))throw new j(`Argument "${u}" of required type "${U(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}f=r[g]==null}if(f&&ge(l))throw new j(`Argument "${u}" of non-null type "${U(l)}" must not be null.`,{nodes:p});let h=Vt(p,l,r);if(h===void 0)throw new j(`Argument "${u}" has invalid value ${Ve(p)}.`,{nodes:p});i[u]=h}return i}o(Po,"getArgumentValues");function Ao(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 Po(t,i,r)}o(Ao,"getDirectiveValues");function jw(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(jw,"hasOwnProperty");var Uu=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===I.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===I.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}},Vw=class extends Uu{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},wi=class extends Uu{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 Ur(this._schema);Cr(e,Ei(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 ku(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"),`
130
+ 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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isRepeatable:{type:new Q(Be),resolve:t=>t.isRepeatable},locations:{type:new Q(new we(new Q(bh))),resolve:t=>t.locations},args:{type:new Q(new we(new Q(To))),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),bh=new $t({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:te.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:te.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:te.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:te.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:te.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:te.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:te.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:te.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:te.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:te.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:te.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:te.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:te.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:te.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:te.UNION,description:"Location adjacent to a union definition."},ENUM:{value:te.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:te.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:te.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:te.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),ht=new Fe({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 Q(wh),resolve(t){if(xr(t))return ue.SCALAR;if(He(t))return ue.OBJECT;if(Ne(t))return ue.INTERFACE;if(ft(t))return ue.UNION;if(nt(t))return ue.ENUM;if(Me(t))return ue.INPUT_OBJECT;if(Ye(t))return ue.LIST;if(ge(t))return ue.NON_NULL;Ht(!1,`Unexpected type: "${U(t)}".`)}},name:{type:he,resolve:t=>"name"in t?t.name:void 0},description:{type:he,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:he,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new we(new Q(_h)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(He(t)||Ne(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new we(new Q(ht)),resolve(t){if(He(t)||Ne(t))return t.getInterfaces()}},possibleTypes:{type:new we(new Q(ht)),resolve(t,e,r,{schema:n}){if(Dr(t))return n.getPossibleTypes(t)}},enumValues:{type:new we(new Q(Eh)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(nt(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new we(new Q(To)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Me(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ht,resolve:t=>"ofType"in t?t.ofType:void 0}})}),_h=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},args:{type:new Q(new we(new Q(To))),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new Q(ht),resolve:t=>t.type},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),To=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},type:{type:new Q(ht),resolve:t=>t.type},defaultValue:{type:he,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=un(r,e);return n?Ve(n):null}},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),Eh=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),ue;(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"})(ue||(ue={}));var wh=new $t({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ue.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ue.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ue.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ue.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ue.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ue.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ue.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ue.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Cu={name:"__schema",type:new Q(vo),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},xu={name:"__type",type:ht,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Q(he),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},Lu={name:"__typename",type:new Q(he),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},vh=Object.freeze([vo,yh,bh,ht,_h,To,Eh,wh]);var So=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,Oe(e)||ee(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||ee(!1,`"types" must be Array if provided but got: ${U(e.types)}.`),!e.directives||Array.isArray(e.directives)||ee(!1,`"directives" must be Array if provided but got: ${U(e.directives)}.`),this.description=e.description,this.extensions=je(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:gh;let i=new Set(e.types);if(e.types!=null)for(let s of e.types)i.delete(s),Pt(s,i);this._queryType!=null&&Pt(this._queryType,i),this._mutationType!=null&&Pt(this._mutationType,i),this._subscriptionType!=null&&Pt(this._subscriptionType,i);for(let s of this._directives)if(mh(s))for(let a of s.args)Pt(a.type,i);Pt(vo,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||ee(!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,Ne(s)){for(let c of s.getInterfaces())if(Ne(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(He(s)){for(let c of s.getInterfaces())if(Ne(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 pt.QUERY:return this.getQueryType();case pt.MUTATION:return this.getMutationType();case pt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return ft(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),ft(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 Pt(t,e){let r=St(t);if(!e.has(r)){if(e.add(r),ft(r))for(let n of r.getTypes())Pt(n,e);else if(He(r)||Ne(r)){for(let n of r.getInterfaces())Pt(n,e);for(let n of Object.values(r.getFields())){Pt(n.type,e);for(let i of n.args)Pt(i.type,e)}}else if(Me(r))for(let n of Object.values(r.getFields()))Pt(n.type,e)}return e}o(Pt,"collectReferencedTypes");function Mr(t,e){switch(e.kind){case I.LIST_TYPE:{let r=Mr(t,e.type);return r&&new we(r)}case I.NON_NULL_TYPE:{let r=Mr(t,e.type);return r&&new Q(r)}case I.NAMED_TYPE:return t.getType(e.name.value)}}o(Mr,"typeFromAST");var Ur=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??gD,r&&(it(r)&&this._inputTypeStack.push(r),jt(r)&&this._parentTypeStack.push(r),tr(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 I.SELECTION_SET:{let i=St(this.getType());this._parentTypeStack.push(jt(i)?i:void 0);break}case I.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(tr(a)?a:void 0);break}case I.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case I.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(He(i)?i:void 0);break}case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?Mr(r,i):St(this.getType());this._typeStack.push(tr(s)?s:void 0);break}case I.VARIABLE_DEFINITION:{let i=Mr(r,e.type);this._inputTypeStack.push(it(i)?i:void 0);break}case I.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(it(s)?s:void 0);break}case I.LIST:{let i=Su(this.getInputType()),s=Ye(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case I.OBJECT_FIELD:{let i=St(this.getInputType()),s,a;Me(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case I.ENUM:{let i=St(this.getInputType()),s;nt(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case I.SELECTION_SET:this._parentTypeStack.pop();break;case I.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case I.DIRECTIVE:this._directive=null;break;case I.OPERATION_DEFINITION:case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:this._typeStack.pop();break;case I.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case I.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case I.LIST:case I.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case I.ENUM:this._enumValue=null;break;default:}}};function gD(t,e,r){let n=r.name.value;if(n===Cu.name&&t.getQueryType()===e)return Cu;if(n===xu.name&&t.getQueryType()===e)return xu;if(n===Lu.name&&jt(e))return Lu;if(He(e)||Ne(e))return e.getFields()[n]}o(gD,"getFieldDef");function Ei(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=bi(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),ho(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=bi(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o(Ei,"visitWithTypeInfo");function Du(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Du,"printPathArray");function Th(t,e,r){return{prev:t,key:e,typename:r}}o(Th,"addPath");function rr(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o(rr,"pathToArray");function Sh(t,e,r=yD){return Io(t,e,r,void 0)}o(Sh,"coerceInputValue");function yD(t,e,r){let n="Invalid value "+U(e);throw t.length>0&&(n+=` at "value${Du(t)}"`),r.message=n+": "+r.message,r}o(yD,"defaultOnError");function Io(t,e,r,n){if(ge(e)){if(t!=null)return Io(t,e.ofType,r,n);r(rr(n),t,new j(`Expected non-nullable type "${U(e)}" not to be null.`));return}if(t==null)return null;if(Ye(e)){let i=e.ofType;return Nu(t)?Array.from(t,(s,a)=>{let c=Th(n,a,void 0);return Io(s,i,r,c)}):[Io(t,i,r,n)]}if(Me(e)){if(!Oe(t)){r(rr(n),t,new j(`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(ge(a.type)){let u=U(a.type);r(rr(n),t,new j(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Io(c,a.type,r,Th(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=gu(a,Object.keys(e.getFields()));r(rr(n),t,new j(`Field "${a}" is not defined by type "${e.name}".`+hu(c)))}return i}if(Lr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof j?r(rr(n),t,s):r(rr(n),t,new j(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(rr(n),t,new j(`Expected type "${e.name}".`)),i}Ht(!1,"Unexpected input type: "+U(e))}o(Io,"coerceInputValueImpl");function Vt(t,e,r){if(t){if(t.kind===I.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ge(e)?void 0:i}if(ge(e))return t.kind===I.NULL?void 0:Vt(t,e.ofType,r);if(t.kind===I.NULL)return null;if(Ye(e)){let n=e.ofType;if(t.kind===I.LIST){let s=[];for(let a of t.values)if(jw(a,r)){if(ge(n))return;s.push(null)}else{let c=Vt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Vt(t,n,r);return i===void 0?void 0:[i]}if(Me(e)){if(t.kind!==I.OBJECT)return;let n=Object.create(null),i=yi(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||jw(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ge(s.type))return;continue}let c=Vt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(Lr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}Ht(!1,"Unexpected input type: "+U(e))}}o(Vt,"valueFromAST");function jw(t,e){return t.kind===I.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(jw,"isMissingVariable");function Mu(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=bD(t,e,r,c=>{if(s!=null&&i.length>=s)throw new j("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(Mu,"getVariableValues");function bD(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=Mr(t,s.type);if(!it(c)){let l=Ve(s.type);n(new j(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Vw(r,a)){if(s.defaultValue)i[a]=Vt(s.defaultValue,c);else if(ge(c)){let l=U(c);n(new j(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ge(c)){let l=U(c);n(new j(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Sh(u,c,(l,d,p)=>{let f=`Variable "$${a}" got invalid value `+U(d);l.length>0&&(f+=` at "${a}${Du(l)}"`),n(new j(f+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(bD,"coerceVariableValues");function Po(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=yi(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(ge(l))throw new j(`Argument "${u}" of required type "${U(l)}" was not provided.`,{nodes:e});continue}let p=d.value,f=p.kind===I.NULL;if(p.kind===I.VARIABLE){let g=p.name.value;if(r==null||!Vw(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ge(l))throw new j(`Argument "${u}" of required type "${U(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}f=r[g]==null}if(f&&ge(l))throw new j(`Argument "${u}" of non-null type "${U(l)}" must not be null.`,{nodes:p});let h=Vt(p,l,r);if(h===void 0)throw new j(`Argument "${u}" has invalid value ${Ve(p)}.`,{nodes:p});i[u]=h}return i}o(Po,"getArgumentValues");function Ao(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 Po(t,i,r)}o(Ao,"getDirectiveValues");function Vw(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Vw,"hasOwnProperty");var Uu=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===I.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===I.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}},Bw=class extends Uu{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},wi=class extends Uu{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 Ur(this._schema);Cr(e,Ei(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 ku(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"),`
131
131
  query IntrospectionQuery {
132
132
  __schema {
133
133
  ${s}
@@ -232,5 +232,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
232
232
  }
233
233
  }
234
234
  }
235
- `}o(ku,"getIntrospectionQuery");function Fu(t,e){Oe(t)&&Oe(t.__schema)||ee(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${U(t)}.`);let r=t.__schema,n=qt(r.types,E=>E.name,E=>f(E));for(let E of[...hh,...vh])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(C):[];return new So({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===ue.LIST){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");return new we(u(P))}if(E.kind===ue.NON_NULL){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");let x=u(P);return new Q(Tu(x))}return l(E)}function l(E){let P=E.name;if(!P)throw new Error(`Unknown type reference: ${U(E)}.`);let x=n[P];if(!x)throw new Error(`Invalid or incomplete schema, unknown type: ${P}. Ensure that a full introspection query is used in order to build a client schema.`);return x}function d(E){return Eu(l(E))}function p(E){return wu(l(E))}function f(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ue.SCALAR:return h(E);case ue.OBJECT:return _(E);case ue.INTERFACE:return T(E);case ue.UNION:return A(E);case ue.ENUM:return y(E);case ue.INPUT_OBJECT:return S(E)}let P=U(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${P}.`)}function h(E){return new rt({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function g(E){if(E.interfaces===null&&E.kind===ue.INTERFACE)return[];if(!E.interfaces){let P=U(E);throw new Error(`Introspection result missing interfaces: ${P}.`)}return E.interfaces.map(p)}function _(E){return new Fe({name:E.name,description:E.description,interfaces:()=>g(E),fields:()=>O(E)})}function T(E){return new er({name:E.name,description:E.description,interfaces:()=>g(E),fields:()=>O(E)})}function A(E){if(!E.possibleTypes){let P=U(E);throw new Error(`Introspection result missing possibleTypes: ${P}.`)}return new an({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function y(E){if(!E.enumValues){let P=U(E);throw new Error(`Introspection result missing enumValues: ${P}.`)}return new $t({name:E.name,description:E.description,values:qt(E.enumValues,P=>P.name,P=>({description:P.description,deprecationReason:P.deprecationReason}))})}function S(E){if(!E.inputFields){let P=U(E);throw new Error(`Introspection result missing inputFields: ${P}.`)}return new cn({name:E.name,description:E.description,fields:()=>w(E.inputFields)})}function O(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${U(E)}.`);return qt(E.fields,P=>P.name,V)}function V(E){let P=u(E.type);if(!tr(P)){let x=U(P);throw new Error(`Introspection must provide output type for fields, but received: ${x}.`)}if(!E.args){let x=U(E);throw new Error(`Introspection result missing field args: ${x}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:P,args:w(E.args)}}function w(E){return qt(E,P=>P.name,v)}function v(E){let P=u(E.type);if(!it(P)){let X=U(P);throw new Error(`Introspection must provide input type for arguments, but received: ${X}.`)}let x=E.defaultValue!=null?Vt(fu(E.defaultValue),P):void 0;return{description:E.description,type:P,defaultValue:x,deprecationReason:E.deprecationReason}}function C(E){if(!E.args){let P=U(E);throw new Error(`Introspection result missing directive args: ${P}.`)}if(!E.locations){let P=U(E);throw new Error(`Introspection result missing directive locations: ${P}.`)}return new It({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:w(E.args)})}}o(Fu,"buildClientSchema");function $D(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o($D,"queryComplexityMessage");function Bw(t){let e=new Ur(t.schema),r=[],n=new wi(t.schema,t.query,e,s=>r.push(s)),i=new Ih(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(Cr(t.query,Ei(e,i)),r.length)throw r.pop();return i.complexity}o(Bw,"getComplexity");var Ih=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}=Mu(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 Fe||r instanceof er)&&(n=r.getFields());let i;Dr(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 h=this.includeDirectiveDef&&Ao(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Ao(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case I.FIELD:{let p=n[c.name.value];if(!p)break;let f=St(p.type),h;try{h=Po(p,c,this.variableValues||{})}catch(A){return this.context.reportError(A),a}let g=0;jt(f)&&(g=this.nodeComplexity(c,f));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(A=>{let y=A(_);return typeof y=="number"&&!isNaN(y)?(u=vi(y,a,i),!0):!1}))return this.context.reportError(new j(`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 I.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let f=this.context.getSchema().getType(p.typeCondition.name.value);if(!jt(f))break;let h=this.nodeComplexity(p,f);Dr(f)?u=vi(h,a,this.context.getSchema().getPossibleTypes(f).map(g=>g.name)):u=vi(h,a,[f.name]);break}case I.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!jt(p)))break;let f=this.nodeComplexity(c,p);Dr(p)?u=vi(f,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=vi(f,a,[p.name]);break}default:{u=vi(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 j($D(this.options.maximumComplexity,this.complexity))}};function vi(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(vi,"addComplexities");function Gw(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Gw,"simpleEstimator");var Kw=o((t,e,r={})=>{let{definitions:n}=t,i=jD(n),s=VD(n);return Object.entries(s).map(([a,c])=>Hu(c,i,0,e,a,r))},"depthLimit");function jD(t){return t.reduce((e,r)=>(r.kind===I.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(jD,"getFragments");function VD(t){return t.reduce((e,r)=>{if(r.kind===I.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(VD,"getQueriesAndMutations");function Hu(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new j(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case I.FIELD:return BD(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>Hu(c,e,r+1,n,i,s)));case I.FRAGMENT_SPREAD:return Hu(e[t.name.value],e,r,n,i,s);case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:case I.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>Hu(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(Hu,"determineDepth");var BD=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var GD=o(async(t,e)=>{if(!e.complexityLimit)throw new Ti.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new Ti.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=ku(),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 j("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Fu(c,{assumeValid:!0}),l=Bw({estimators:[Gw({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new j(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),KD=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new Ti.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Kw(t,r))},"applyDepthLimitPolicy"),Jw=o(async(t,e,r)=>{let n=Ti.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=pu(s.query);r.useDepthLimit&&await KD(a,r.useDepthLimit),r.useComplexityLimit&&await GD(a,r.useComplexityLimit)}catch(i){if(i instanceof j)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return t},"GraphQLComplexityLimitInboundPolicy");var zw=Oh(Gt());function JD(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(JD,"isIntrospectionQuery");var Ww=o(async(t,e)=>{let n=await t.clone().json();return JD(n.query)?zw.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
235
+ `}o(ku,"getIntrospectionQuery");function Fu(t,e){Oe(t)&&Oe(t.__schema)||ee(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${U(t)}.`);let r=t.__schema,n=qt(r.types,E=>E.name,E=>f(E));for(let E of[...hh,...vh])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(C):[];return new So({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===ue.LIST){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");return new we(u(P))}if(E.kind===ue.NON_NULL){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");let x=u(P);return new Q(Tu(x))}return l(E)}function l(E){let P=E.name;if(!P)throw new Error(`Unknown type reference: ${U(E)}.`);let x=n[P];if(!x)throw new Error(`Invalid or incomplete schema, unknown type: ${P}. Ensure that a full introspection query is used in order to build a client schema.`);return x}function d(E){return Eu(l(E))}function p(E){return wu(l(E))}function f(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ue.SCALAR:return h(E);case ue.OBJECT:return _(E);case ue.INTERFACE:return T(E);case ue.UNION:return A(E);case ue.ENUM:return y(E);case ue.INPUT_OBJECT:return S(E)}let P=U(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${P}.`)}function h(E){return new rt({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function g(E){if(E.interfaces===null&&E.kind===ue.INTERFACE)return[];if(!E.interfaces){let P=U(E);throw new Error(`Introspection result missing interfaces: ${P}.`)}return E.interfaces.map(p)}function _(E){return new Fe({name:E.name,description:E.description,interfaces:()=>g(E),fields:()=>O(E)})}function T(E){return new er({name:E.name,description:E.description,interfaces:()=>g(E),fields:()=>O(E)})}function A(E){if(!E.possibleTypes){let P=U(E);throw new Error(`Introspection result missing possibleTypes: ${P}.`)}return new an({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function y(E){if(!E.enumValues){let P=U(E);throw new Error(`Introspection result missing enumValues: ${P}.`)}return new $t({name:E.name,description:E.description,values:qt(E.enumValues,P=>P.name,P=>({description:P.description,deprecationReason:P.deprecationReason}))})}function S(E){if(!E.inputFields){let P=U(E);throw new Error(`Introspection result missing inputFields: ${P}.`)}return new cn({name:E.name,description:E.description,fields:()=>w(E.inputFields)})}function O(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${U(E)}.`);return qt(E.fields,P=>P.name,V)}function V(E){let P=u(E.type);if(!tr(P)){let x=U(P);throw new Error(`Introspection must provide output type for fields, but received: ${x}.`)}if(!E.args){let x=U(E);throw new Error(`Introspection result missing field args: ${x}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:P,args:w(E.args)}}function w(E){return qt(E,P=>P.name,v)}function v(E){let P=u(E.type);if(!it(P)){let X=U(P);throw new Error(`Introspection must provide input type for arguments, but received: ${X}.`)}let x=E.defaultValue!=null?Vt(fu(E.defaultValue),P):void 0;return{description:E.description,type:P,defaultValue:x,deprecationReason:E.deprecationReason}}function C(E){if(!E.args){let P=U(E);throw new Error(`Introspection result missing directive args: ${P}.`)}if(!E.locations){let P=U(E);throw new Error(`Introspection result missing directive locations: ${P}.`)}return new It({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:w(E.args)})}}o(Fu,"buildClientSchema");function jD(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(jD,"queryComplexityMessage");function Gw(t){let e=new Ur(t.schema),r=[],n=new wi(t.schema,t.query,e,s=>r.push(s)),i=new Ih(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(Cr(t.query,Ei(e,i)),r.length)throw r.pop();return i.complexity}o(Gw,"getComplexity");var Ih=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}=Mu(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 Fe||r instanceof er)&&(n=r.getFields());let i;Dr(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 h=this.includeDirectiveDef&&Ao(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Ao(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case I.FIELD:{let p=n[c.name.value];if(!p)break;let f=St(p.type),h;try{h=Po(p,c,this.variableValues||{})}catch(A){return this.context.reportError(A),a}let g=0;jt(f)&&(g=this.nodeComplexity(c,f));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(A=>{let y=A(_);return typeof y=="number"&&!isNaN(y)?(u=vi(y,a,i),!0):!1}))return this.context.reportError(new j(`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 I.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let f=this.context.getSchema().getType(p.typeCondition.name.value);if(!jt(f))break;let h=this.nodeComplexity(p,f);Dr(f)?u=vi(h,a,this.context.getSchema().getPossibleTypes(f).map(g=>g.name)):u=vi(h,a,[f.name]);break}case I.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!jt(p)))break;let f=this.nodeComplexity(c,p);Dr(p)?u=vi(f,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=vi(f,a,[p.name]);break}default:{u=vi(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 j(jD(this.options.maximumComplexity,this.complexity))}};function vi(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(vi,"addComplexities");function Kw(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Kw,"simpleEstimator");var Jw=o((t,e,r={})=>{let{definitions:n}=t,i=VD(n),s=BD(n);return Object.entries(s).map(([a,c])=>Hu(c,i,0,e,a,r))},"depthLimit");function VD(t){return t.reduce((e,r)=>(r.kind===I.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(VD,"getFragments");function BD(t){return t.reduce((e,r)=>{if(r.kind===I.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(BD,"getQueriesAndMutations");function Hu(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new j(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case I.FIELD:return GD(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>Hu(c,e,r+1,n,i,s)));case I.FRAGMENT_SPREAD:return Hu(e[t.name.value],e,r,n,i,s);case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:case I.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>Hu(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(Hu,"determineDepth");var GD=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var KD=o(async(t,e)=>{if(!e.complexityLimit)throw new Ti.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new Ti.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=ku(),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 j("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Fu(c,{assumeValid:!0}),l=Gw({estimators:[Kw({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new j(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),JD=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new Ti.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Jw(t,r))},"applyDepthLimitPolicy"),zw=o(async(t,e,r)=>{let n=Ti.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=pu(s.query);r.useDepthLimit&&await JD(a,r.useDepthLimit),r.useComplexityLimit&&await KD(a,r.useComplexityLimit)}catch(i){if(i instanceof j)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return t},"GraphQLComplexityLimitInboundPolicy");var Ww=Oh(Gt());function zD(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(zD,"isIntrospectionQuery");var Qw=o(async(t,e)=>{let n=await t.clone().json();return zD(n.query)?Ww.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
236
236
  /*! For license information please see index.minified.js.LEGAL.txt */