()
| 436 | `+z)+` |
| 437 | `+W+"}":"{"+D.join(",")+"}",z=W,X}}if(typeof pLq.stringify!=="function")pLq.stringify=function(j,H,J){var M;if(z="",Y="",typeof J==="number")for(M=0;M<J;M+=1)Y+=" ";else if(typeof J==="string")Y=J;if(A=H,H&&typeof H!=="function"&&(typeof H!=="object"||typeof H.length!=="number"))throw Error("JSON.stringify");return w("",{"":j})}})()});var ULq=m((QXA,FLq)=>{var UW8=null,mr9=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,pr9=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,Br9=function(q){var K={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(q!==void 0&&q!==null){if(q.strict===!0)K.strict=!0;if(q.storeAsString===!0)K.storeAsString=!0;if(K.alwaysParseAsBig=q.alwaysParseAsBig===!0?q.alwaysParseAsBig:!1,K.useNativeBigInt=q.useNativeBigInt===!0?q.useNativeBigInt:!1,typeof q.constructorAction<"u")if(q.constructorAction==="error"||q.constructorAction==="ignore"||q.constructorAction==="preserve")K.constructorAction=q.constructorAction;else throw Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${q.constructorAction}`);if(typeof q.protoAction<"u")if(q.protoAction==="error"||q.protoAction==="ignore"||q.protoAction==="preserve")K.protoAction=q.protoAction;else throw Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${q.protoAction}`)}var _,z,Y={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:` |
| 438 | `,r:"\r",t:"\t"},$,A=function(W){throw{name:"SyntaxError",message:W,at:_,text:$}},O=function(W){if(W&&W!==z)A("Expected '"+W+"' instead of '"+z+"'");return z=$.charAt(_),_+=1,z},w=function(){var W,D="";if(z==="-")D="-",O("-");while(z>="0"&&z<="9")D+=z,O();if(z==="."){D+=".";while(O()&&z>="0"&&z<="9")D+=z}if(z==="e"||z==="E"){if(D+=z,O(),z==="-"||z==="+")D+=z,O();while(z>="0"&&z<="9")D+=z,O()}if(W=+D,!isFinite(W))A("Bad number");else{if(UW8==null)UW8=SG1();if(D.length>15)return K.storeAsString?D:K.useNativeBigInt?BigInt(D):new UW8(D);else return!K.alwaysParseAsBig?W:K.useNativeBigInt?BigInt(W):new UW8(W)}},j=function(){var W,D,f="",G;if(z==='"'){var Z=_;while(O()){if(z==='"'){if(_-1>Z)f+=$.substring(Z,_-1);return O(),f}if(z==="\\"){if(_-1>Z)f+=$.substring(Z,_-1);if(O(),z==="u"){G=0;for(D=0;D<4;D+=1){if(W=parseInt(O(),16),!isFinite(W))break;G=G*16+W}f+=String.fromCharCode(G)}else if(typeof Y[z]==="string")f+=Y[z];else break;Z=_}}}A("Bad string")},H=function(){while(z&&z<=" ")O()},J=function(){switch(z){case"t":return O("t"),O("r"),O("u"),O("e"),!0;case"f":return O("f"),O("a"),O("l"),O("s"),O("e"),!1;case"n":return O("n"),O("u"),O("l"),O("l"),null}A("Unexpected '"+z+"'")},M,X=function(){var W=[];if(z==="["){if(O("["),H(),z==="]")return O("]"),W;while(z){if(W.push(M()),H(),z==="]")return O("]"),W;O(","),H()}}A("Bad array")},P=function(){var W,D=Object.create(null);if(z==="{"){if(O("{"),H(),z==="}")return O("}"),D;while(z){if(W=j(),H(),O(":"),K.strict===!0&&Object.hasOwnProperty.call(D,W))A('Duplicate key "'+W+'"');if(mr9.test(W)===!0)if(K.protoAction==="error")A("Object contains forbidden prototype property");else if(K.protoAction==="ignore")M();else D[W]=M();else if(pr9.test(W)===!0)if(K.constructorAction==="error")A("Object contains forbidden constructor property");else if(K.constructorAction==="ignore")M();else D[W]=M();else D[W]=M();if(H(),z==="}")return O("}"),D;O(","),H()}}A("Bad object")};return M=function(){switch(H(),z){case"{":return P();case"[":return X();case'"':return j();case"-":return w();default:return z>="0"&&z<="9"?w():J()}},function(W,D){var f;if($=W+"",_=0,z=" ",f=M(),H(),z)A("Syntax error");return typeof D==="function"?function G(Z,T){var v,V,E=Z[T];if(E&&typeof E==="object")Object.keys(E).forEach(function(S){if(V=G(E,S),V!==void 0)E[S]=V;else delete E[S]});return D.call(Z,T,E)}({"":f},""):f}};FLq.exports=Br9});var cLq=m((dXA,QW8)=>{var QLq=gLq().stringify,dLq=ULq();QW8.exports=function(q){return{parse:dLq(q),stringify:QLq}};QW8.exports.parse=dLq();QW8.exports.stringify=QLq});var CG1=m((sLq)=>{Object.defineProperty(sLq,"__esModule",{value:!0});sLq.GCE_LINUX_BIOS_PATHS=void 0;sLq.isGoogleCloudServerless=iLq;sLq.isGoogleComputeEngineLinux=rLq;sLq.isGoogleComputeEngineMACAddress=oLq;sLq.isGoogleComputeEngine=aLq;sLq.detectGCPResidency=Fr9;var lLq=U6("fs"),nLq=U6("os");sLq.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var gr9=/^42:01/;function iLq(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function rLq(){if((0,nLq.platform)()!=="linux")return!1;try{(0,lLq.statSync)(sLq.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let q=(0,lLq.readFileSync)(sLq.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(q)}catch(q){return!1}}function oLq(){let q=(0,nLq.networkInterfaces)();for(let K of Object.values(q)){if(!K)continue;for(let{mac:_}of K)if(gr9.test(_))return!0}return!1}function aLq(){return rLq()||oLq()}function Fr9(){return iLq()||aLq()}});var qRq=m((tLq)=>{Object.defineProperty(tLq,"__esModule",{value:!0});tLq.Colours=void 0;class p_{static isEnabled(q){return q.isTTY&&(typeof q.getColorDepth==="function"?q.getColorDepth()>2:!0)}static refresh(){if(p_.enabled=p_.isEnabled(process.stderr),!this.enabled)p_.reset="",p_.bright="",p_.dim="",p_.red="",p_.green="",p_.yellow="",p_.blue="",p_.magenta="",p_.cyan="",p_.white="",p_.grey="";else p_.reset="\x1B[0m",p_.bright="\x1B[1m",p_.dim="\x1B[2m",p_.red="\x1B[31m",p_.green="\x1B[32m",p_.yellow="\x1B[33m",p_.blue="\x1B[34m",p_.magenta="\x1B[35m",p_.cyan="\x1B[36m",p_.white="\x1B[37m",p_.grey="\x1B[90m"}}tLq.Colours=p_;p_.enabled=!1;p_.reset="";p_.bright="";p_.dim="";p_.red="";p_.green="";p_.yellow="";p_.blue="";p_.magenta="";p_.cyan="";p_.white="";p_.grey="";p_.refresh()});var ARq=m((SO)=>{var nr9=SO&&SO.__createBinding||(Object.create?function(q,K,_,z){if(z===void 0)z=_;var Y=Object.getOwnPropertyDescriptor(K,_);if(!Y||("get"in Y?!K.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return K[_]}};Object.defineProperty(q,z,Y)}:function(q,K,_,z){if(z===void 0)z=_;q[z]=K[_]}),ir9=SO&&SO.__setModuleDefault||(Object.create?function(q,K){Object.defineProperty(q,"default",{enumerable:!0,value:K})}:function(q,K){q.default=K}),KRq=SO&&SO.__importStar||function(q){if(q&&q.__esModule)return q;var K={};if(q!=null){for(var _ in q)if(_!=="default"&&Object.prototype.hasOwnProperty.call(q,_))nr9(K,q,_)}return ir9(K,q),K};Object.defineProperty(SO,"__esModule",{value:!0});SO.env=SO.DebugLogBackendBase=SO.placeholder=SO.AdhocDebugLogger=SO.LogSeverity=void 0;SO.getNodeBackend=bG1;SO.getDebugBackend=or9;SO.getStructuredBackend=ar9;SO.setBackend=sr9;SO.log=$Rq;var rr9=U6("node:events"),yd6=KRq(U6("node:process")),_Rq=KRq(U6("node:util")),tE=qRq(),qu;(function(q){q.DEFAULT="DEFAULT",q.DEBUG="DEBUG",q.INFO="INFO",q.WARNING="WARNING",q.ERROR="ERROR"})(qu||(SO.LogSeverity=qu={}));class cW8 extends rr9.EventEmitter{constructor(q,K){super();this.namespace=q,this.upstream=K,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(_,z)=>this.on(_,z)}),this.func.debug=(..._)=>this.invokeSeverity(qu.DEBUG,..._),this.func.info=(..._)=>this.invokeSeverity(qu.INFO,..._),this.func.warn=(..._)=>this.invokeSeverity(qu.WARNING,..._),this.func.error=(..._)=>this.invokeSeverity(qu.ERROR,..._),this.func.sublog=(_)=>$Rq(_,this.func)}invoke(q,...K){if(this.upstream)this.upstream(q,...K);this.emit("log",q,K)}invokeSeverity(q,...K){this.invoke({severity:q},...K)}}SO.AdhocDebugLogger=cW8;SO.placeholder=new cW8("",()=>{}).func;class Ed6{constructor(){var q;this.cached=new Map,this.filters=[],this.filtersSet=!1;let K=(q=yd6.env[SO.env.nodeEnables])!==null&&q!==void 0?q:"*";if(K==="all")K="*";this.filters=K.split(",")}log(q,K,..._){try{if(!this.filtersSet)this.setFilters(),this.filtersSet=!0;let z=this.cached.get(q);if(!z)z=this.makeLogger(q),this.cached.set(q,z);z(K,..._)}catch(z){console.error(z)}}}SO.DebugLogBackendBase=Ed6;class IG1 extends Ed6{constructor(){super(...arguments);this.enabledRegexp=/.*/g}isEnabled(q){return this.enabledRegexp.test(q)}makeLogger(q){if(!this.enabledRegexp.test(q))return()=>{};return(K,..._)=>{var z;let Y=`${tE.Colours.green}${q}${tE.Colours.reset}`,$=`${tE.Colours.yellow}${yd6.pid}${tE.Colours.reset}`,A;switch(K.severity){case qu.ERROR:A=`${tE.Colours.red}${K.severity}${tE.Colours.reset}`;break;case qu.INFO:A=`${tE.Colours.magenta}${K.severity}${tE.Colours.reset}`;break;case qu.WARNING:A=`${tE.Colours.yellow}${K.severity}${tE.Colours.reset}`;break;default:A=(z=K.severity)!==null&&z!==void 0?z:qu.DEFAULT;break}let O=_Rq.formatWithOptions({colors:tE.Colours.enabled},..._),w=Object.assign({},K);delete w.severity;let j=Object.getOwnPropertyNames(w).length?JSON.stringify(w):"",H=j?`${tE.Colours.grey}${j}${tE.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",$,Y,A,O,j?` ${H}`:"")}}setFilters(){let K=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${K}$`,"i")}}function bG1(){return new IG1}class zRq extends Ed6{constructor(q){super();this.debugPkg=q}makeLogger(q){let K=this.debugPkg(q);return(_,...z)=>{K(z[0],...z.slice(1))}}setFilters(){var q;let K=(q=yd6.env.NODE_DEBUG)!==null&&q!==void 0?q:"";yd6.env.NODE_DEBUG=`${K}${K?",":""}${this.filters.join(",")}`}}function or9(q){return new zRq(q)}class YRq extends Ed6{constructor(q){var K;super();this.upstream=(K=q)!==null&&K!==void 0?K:new IG1}makeLogger(q){let K=this.upstream.makeLogger(q);return(_,...z)=>{var Y;let $=(Y=_.severity)!==null&&Y!==void 0?Y:qu.INFO,A=Object.assign({severity:$,message:_Rq.format(...z)},_),O=JSON.stringify(A);K(_,O)}}setFilters(){this.upstream.setFilters()}}function ar9(q){return new YRq(q)}SO.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var xG1=new Map,LS=void 0;function sr9(q){LS=q,xG1.clear()}function $Rq(q,K){if(!yd6.env[SO.env.nodeEnables])return SO.placeholder;if(!q)return SO.placeholder;if(K)q=`${K.instance.namespace}:${q}`;let z=xG1.get(q);if(z)return z.func;if(LS===null)return SO.placeholder;else if(LS===void 0)LS=bG1();let Y=(()=>{let $=void 0;return new cW8(q,(O,...w)=>{if($!==LS){if(LS===null)return;else if(LS===void 0)LS=bG1();$=LS}LS===null||LS===void 0||LS.log(q,O,...w)})})();return xG1.set(q,Y),Y.func}});var ORq=m((A$6)=>{var tr9=A$6&&A$6.__createBinding||(Object.create?function(q,K,_,z){if(z===void 0)z=_;var Y=Object.getOwnPropertyDescriptor(K,_);if(!Y||("get"in Y?!K.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return K[_]}};Object.defineProperty(q,z,Y)}:function(q,K,_,z){if(z===void 0)z=_;q[z]=K[_]}),er9=A$6&&A$6.__exportStar||function(q,K){for(var _ in q)if(_!=="default"&&!Object.prototype.hasOwnProperty.call(K,_))tr9(K,q,_)};Object.defineProperty(A$6,"__esModule",{value:!0});er9(ARq(),A$6)});var Rd6=m((X3)=>{var qo9=X3&&X3.__createBinding||(Object.create?function(q,K,_,z){if(z===void 0)z=_;var Y=Object.getOwnPropertyDescriptor(K,_);if(!Y||("get"in Y?!K.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return K[_]}};Object.defineProperty(q,z,Y)}:function(q,K,_,z){if(z===void 0)z=_;q[z]=K[_]}),Ko9=X3&&X3.__exportStar||function(q,K){for(var _ in q)if(_!=="default"&&!Object.prototype.hasOwnProperty.call(K,_))qo9(K,q,_)};Object.defineProperty(X3,"__esModule",{value:!0});X3.gcpResidencyCache=X3.METADATA_SERVER_DETECTION=X3.HEADERS=X3.HEADER_VALUE=X3.HEADER_NAME=X3.SECONDARY_HOST_ADDRESS=X3.HOST_ADDRESS=X3.BASE_PATH=void 0;X3.instance=Oo9;X3.project=wo9;X3.universe=jo9;X3.bulk=Ho9;X3.isAvailable=Mo9;X3.resetIsAvailableCache=Xo9;X3.getGCPResidency=pG1;X3.setGCPResidency=jRq;X3.requestTimeout=HRq;var uG1=eI(),_o9=cLq(),zo9=CG1(),Yo9=ORq();X3.BASE_PATH="/computeMetadata/v1";X3.HOST_ADDRESS="http://169.254.169.254";X3.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";X3.HEADER_NAME="Metadata-Flavor";X3.HEADER_VALUE="Google";X3.HEADERS=Object.freeze({[X3.HEADER_NAME]:X3.HEADER_VALUE});var wRq=Yo9.log("gcp metadata");X3.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function mG1(q){if(!q)q=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||X3.HOST_ADDRESS;if(!/^https?:\/\//.test(q))q=`http://${q}`;return new URL(X3.BASE_PATH,q).href}function $o9(q){Object.keys(q).forEach((K)=>{switch(K){case"params":case"property":case"headers":break;case"qs":throw Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw Error(`'${K}' is not a valid configuration option.`)}})}async function Ld6(q,K={},_=3,z=!1){let Y="",$={},A={};if(typeof q==="object"){let H=q;Y=H.metadataKey,$=H.params||$,A=H.headers||A,_=H.noResponseRetries||_,z=H.fastFail||z}else Y=q;if(typeof K==="string")Y+=`/${K}`;else{if($o9(K),K.property)Y+=`/${K.property}`;A=K.headers||A,$=K.params||$}let O=z?Ao9:uG1.request,w={url:`${mG1()}/${Y}`,headers:{...X3.HEADERS,...A},retryConfig:{noResponseRetries:_},params:$,responseType:"text",timeout:HRq()};wRq.info("instance request %j",w);let j=await O(w);if(wRq.info("instance metadata is %s",j.data),j.headers[X3.HEADER_NAME.toLowerCase()]!==X3.HEADER_VALUE)throw Error(`Invalid response from metadata service: incorrect ${X3.HEADER_NAME} header. Expected '${X3.HEADER_VALUE}', got ${j.headers[X3.HEADER_NAME.toLowerCase()]?`'${j.headers[X3.HEADER_NAME.toLowerCase()]}'`:"no header"}`);if(typeof j.data==="string")try{return _o9.parse(j.data)}catch(H){}return j.data}async function Ao9(q){var K;let _={...q,url:(K=q.url)===null||K===void 0?void 0:K.toString().replace(mG1(),mG1(X3.SECONDARY_HOST_ADDRESS))},z=!1,Y=(0,uG1.request)(q).then((A)=>{return z=!0,A}).catch((A)=>{if(z)return $;else throw z=!0,A}),$=(0,uG1.request)(_).then((A)=>{return z=!0,A}).catch((A)=>{if(z)return Y;else throw z=!0,A});return Promise.race([Y,$])}function Oo9(q){return Ld6("instance",q)}function wo9(q){return Ld6("project",q)}function jo9(q){return Ld6("universe",q)}async function Ho9(q){let K={};return await Promise.all(q.map((_)=>{return(async()=>{let z=await Ld6(_),Y=_.metadataKey;K[Y]=z})()})),K}function Jo9(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var lW8;async function Mo9(){if(process.env.METADATA_SERVER_DETECTION){let q=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(q in X3.METADATA_SERVER_DETECTION))throw RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${q}\`, but it should be \`${Object.keys(X3.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(q){case"assume-present":return!0;case"none":return!1;case"bios-only":return pG1();case"ping-only":}}try{if(lW8===void 0)lW8=Ld6("instance",void 0,Jo9(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST));return await lW8,!0}catch(q){let K=q;if(process.env.DEBUG_AUTH)console.info(K);if(K.type==="request-timeout")return!1;if(K.response&&K.response.status===404)return!1;else{if(!(K.response&&K.response.status===404)&&(!K.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(K.code))){let _="UNKNOWN";if(K.code)_=K.code;process.emitWarning(`received unexpected error = ${K.message} code = ${_}`,"MetadataLookupWarning")}return!1}}}function Xo9(){lW8=void 0}X3.gcpResidencyCache=null;function pG1(){if(X3.gcpResidencyCache===null)jRq();return X3.gcpResidencyCache}function jRq(q=null){X3.gcpResidencyCache=q!==null?q:(0,zo9.detectGCPResidency)()}function HRq(){return pG1()?0:3000}Ko9(CG1(),X3)});var FG1=m((vo9)=>{vo9.byteLength=Wo9;vo9.toByteArray=fo9;vo9.fromByteArray=To9;var sg=[],RS=[],Po9=typeof Uint8Array<"u"?Uint8Array:Array,BG1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(l86=0,gG1=BG1.length;l86<gG1;++l86)sg[l86]=BG1[l86],RS[BG1.charCodeAt(l86)]=l86;var l86,gG1;RS[45]=62;RS[95]=63;function JRq(q){var K=q.length;if(K%4>0)throw Error("Invalid string. Length must be a multiple of 4");var _=q.indexOf("=");if(_===-1)_=K;var z=_===K?0:4-_%4;return[_,z]}function Wo9(q){var K=JRq(q),_=K[0],z=K[1];return(_+z)*3/4-z}function Do9(q,K,_){return(K+_)*3/4-_}function fo9(q){var K,_=JRq(q),z=_[0],Y=_[1],$=new Po9(Do9(q,z,Y)),A=0,O=Y>0?z-4:z,w;for(w=0;w<O;w+=4)K=RS[q.charCodeAt(w)]<<18|RS[q.charCodeAt(w+1)]<<12|RS[q.charCodeAt(w+2)]<<6|RS[q.charCodeAt(w+3)],$[A++]=K>>16&255,$[A++]=K>>8&255,$[A++]=K&255;if(Y===2)K=RS[q.charCodeAt(w)]<<2|RS[q.charCodeAt(w+1)]>>4,$[A++]=K&255;if(Y===1)K=RS[q.charCodeAt(w)]<<10|RS[q.charCodeAt(w+1)]<<4|RS[q.charCodeAt(w+2)]>>2,$[A++]=K>>8&255,$[A++]=K&255;return $}function Zo9(q){return sg[q>>18&63]+sg[q>>12&63]+sg[q>>6&63]+sg[q&63]}function Go9(q,K,_){var z,Y=[];for(var $=K;$<_;$+=3)z=(q[$]<<16&16711680)+(q[$+1]<<8&65280)+(q[$+2]&255),Y.push(Zo9(z));return Y.join("")}function To9(q){var K,_=q.length,z=_%3,Y=[],$=16383;for(var A=0,O=_-z;A<O;A+=$)Y.push(Go9(q,A,A+$>O?O:A+$));if(z===1)K=q[_-1],Y.push(sg[K>>2]+sg[K<<4&63]+"==");else if(z===2)K=(q[_-2]<<8)+q[_-1],Y.push(sg[K>>10]+sg[K>>4&63]+sg[K<<2&63]+"=");return Y.join("")}});var PRq=m((MRq)=>{Object.defineProperty(MRq,"__esModule",{value:!0});MRq.BrowserCrypto=void 0;var qG6=FG1(),yo9=KG6();class nW8{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(q){let K=new TextEncoder().encode(q),_=await window.crypto.subtle.digest("SHA-256",K);return qG6.fromByteArray(new Uint8Array(_))}randomBytesBase64(q){let K=new Uint8Array(q);return window.crypto.getRandomValues(K),qG6.fromByteArray(K)}static padBase64(q){while(q.length%4!==0)q+="=";return q}async verify(q,K,_){let z={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},Y=new TextEncoder().encode(K),$=qG6.toByteArray(nW8.padBase64(_)),A=await window.crypto.subtle.importKey("jwk",q,z,!0,["verify"]);return await window.crypto.subtle.verify(z,A,$,Y)}async sign(q,K){let _={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},z=new TextEncoder().encode(K),Y=await window.crypto.subtle.importKey("jwk",q,_,!0,["sign"]),$=await window.crypto.subtle.sign(_,Y,z);return qG6.fromByteArray(new Uint8Array($))}decodeBase64StringUtf8(q){let K=qG6.toByteArray(nW8.padBase64(q));return new TextDecoder().decode(K)}encodeBase64StringUtf8(q){let K=new TextEncoder().encode(q);return qG6.fromByteArray(K)}async sha256DigestHex(q){let K=new TextEncoder().encode(q),_=await window.crypto.subtle.digest("SHA-256",K);return(0,yo9.fromArrayBufferToHex)(_)}async signWithHmacSha256(q,K){let _=typeof q==="string"?q:String.fromCharCode(...new Uint16Array(q)),z=new TextEncoder,Y=await window.crypto.subtle.importKey("raw",z.encode(_),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",Y,z.encode(K))}}MRq.BrowserCrypto=nW8});var ZRq=m((DRq)=>{Object.defineProperty(DRq,"__esModule",{value:!0});DRq.NodeCrypto=void 0;var _G6=U6("crypto");class WRq{async sha256DigestBase64(q){return _G6.createHash("sha256").update(q).digest("base64")}randomBytesBase64(q){return _G6.randomBytes(q).toString("base64")}async verify(q,K,_){let z=_G6.createVerify("RSA-SHA256");return z.update(K),z.end(),z.verify(q,_,"base64")}async sign(q,K){let _=_G6.createSign("RSA-SHA256");return _.update(K),_.end(),_.sign(q,"base64")}decodeBase64StringUtf8(q){return Buffer.from(q,"base64").toString("utf-8")}encodeBase64StringUtf8(q){return Buffer.from(q,"utf-8").toString("base64")}async sha256DigestHex(q){return _G6.createHash("sha256").update(q).digest("hex")}async signWithHmacSha256(q,K){let _=typeof q==="string"?q:Lo9(q);return Eo9(_G6.createHmac("sha256",_).update(K).digest())}}DRq.NodeCrypto=WRq;function Eo9(q){return q.buffer.slice(q.byteOffset,q.byteOffset+q.byteLength)}function Lo9(q){return Buffer.from(q)}});var KG6=m((TRq)=>{Object.defineProperty(TRq,"__esModule",{value:!0});TRq.createCrypto=So9;TRq.hasBrowserCrypto=GRq;TRq.fromArrayBufferToHex=Co9;var Ro9=PRq(),ho9=ZRq();function So9(){if(GRq())return new Ro9.BrowserCrypto;return new ho9.NodeCrypto}function GRq(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}function Co9(q){return Array.from(new Uint8Array(q)).map((_)=>{return _.toString(16).padStart(2,"0")}).join("")}});var kRq=m((vRq)=>{Object.defineProperty(vRq,"__esModule",{value:!0});vRq.validate=uo9;function uo9(q){let K=[{invalid:"uri",expected:"url"},{invalid:"json",expected:"data"},{invalid:"qs",expected:"params"}];for(let _ of K)if(q[_.invalid]){let z=`'${_.invalid}' is not a valid configuration option. Please use '${_.expected}' instead. This library is using Axios for requests. Please see https://github.com/axios/axios to learn more about the valid request options.`;throw Error(z)}}});var UG1=m((qPA,po9)=>{po9.exports={name:"google-auth-library",version:"9.15.1",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=14"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^6.1.1","gcp-metadata":"^6.1.0",gtoken:"^7.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/chai":"^4.1.7","@types/jws":"^3.1.0","@types/mocha":"^9.0.0","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^20.4.2","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^8.0.0",chai:"^4.2.0",cheerio:"1.0.0-rc.12",codecov:"^3.0.2","engine.io":"6.6.2",gts:"^5.0.0","is-docker":"^2.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^3.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"5.0.0",keypair:"^1.0.4",linkinator:"^4.0.0",mocha:"^9.2.2",mv:"^2.1.1",ncp:"^2.0.0",nock:"^13.0.0","null-loader":"^4.0.0",pdfmake:"0.2.12",puppeteer:"^21.0.0",sinon:"^18.0.0","ts-loader":"^8.0.0",typescript:"^5.1.6",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.json","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install",precompile:"gts clean"},license:"Apache-2.0"}});var Sd6=m((NRq)=>{Object.defineProperty(NRq,"__esModule",{value:!0});NRq.DefaultTransporter=void 0;var Bo9=eI(),go9=kRq(),Fo9=UG1(),VRq="google-api-nodejs-client";class hd6{constructor(){this.instance=new Bo9.Gaxios}configure(q={}){if(q.headers=q.headers||{},typeof window>"u"){let K=q.headers["User-Agent"];if(!K)q.headers["User-Agent"]=hd6.USER_AGENT;else if(!K.includes(`${VRq}/`))q.headers["User-Agent"]=`${K} ${hd6.USER_AGENT}`;if(!q.headers["x-goog-api-client"]){let _=process.version.replace(/^v/,"");q.headers["x-goog-api-client"]=`gl-node/${_}`}}return q}request(q){return q=this.configure(q),(0,go9.validate)(q),this.instance.request(q).catch((K)=>{throw this.processError(K)})}get defaults(){return this.instance.defaults}set defaults(q){this.instance.defaults=q}processError(q){let K=q.response,_=q,z=K?K.data:null;if(K&&z&&z.error&&K.status!==200)if(typeof z.error==="string")_.message=z.error,_.status=K.status;else if(Array.isArray(z.error.errors))_.message=z.error.errors.map((Y)=>Y.message).join(` |
| 439 | `),_.code=z.error.code,_.errors=z.error.errors;else _.message=z.error.message,_.code=z.error.code;else if(K&&K.status>=400)_.message=z,_.status=K.status;return _}}NRq.DefaultTransporter=hd6;hd6.USER_AGENT=`${VRq}/${Fo9.version}`});var i86=m((n86)=>{var Ku=n86&&n86.__classPrivateFieldGet||function(q,K,_,z){if(_==="a"&&!z)throw TypeError("Private accessor was defined without a getter");if(typeof K==="function"?q!==K||!z:!K.has(q))throw TypeError("Cannot read private member from an object whose class did not declare it");return _==="m"?z:_==="a"?z.call(q):z?z.value:K.get(q)},zG6,nn,QG1,dG1;Object.defineProperty(n86,"__esModule",{value:!0});n86.LRUCache=void 0;n86.snakeToCamel=ERq;n86.originalOrCamelOptions=Uo9;function ERq(q){return q.replace(/([_][^_])/g,(K)=>K.slice(1).toUpperCase())}function Uo9(q){function K(_){var z;let Y=q||{};return(z=Y[_])!==null&&z!==void 0?z:Y[ERq(_)]}return{get:K}}class LRq{constructor(q){zG6.add(this),nn.set(this,new Map),this.capacity=q.capacity,this.maxAge=q.maxAge}set(q,K){Ku(this,zG6,"m",QG1).call(this,q,K),Ku(this,zG6,"m",dG1).call(this)}get(q){let K=Ku(this,nn,"f").get(q);if(!K)return;return Ku(this,zG6,"m",QG1).call(this,q,K.value),Ku(this,zG6,"m",dG1).call(this),K.value}}n86.LRUCache=LRq;nn=new WeakMap,zG6=new WeakSet,QG1=function(K,_){Ku(this,nn,"f").delete(K),Ku(this,nn,"f").set(K,{value:_,lastAccessed:Date.now()})},dG1=function(){let K=this.maxAge?Date.now()-this.maxAge:0,_=Ku(this,nn,"f").entries().next();while(!_.done&&(Ku(this,nn,"f").size>this.capacity||_.value[1].lastAccessed<K))Ku(this,nn,"f").delete(_.value[0]),_=Ku(this,nn,"f").entries().next()}});var tg=m((CRq)=>{Object.defineProperty(CRq,"__esModule",{value:!0});CRq.AuthClient=CRq.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=CRq.DEFAULT_UNIVERSE=void 0;var Qo9=U6("events"),RRq=eI(),hRq=Sd6(),do9=i86();CRq.DEFAULT_UNIVERSE="googleapis.com";CRq.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300000;class SRq extends Qo9.EventEmitter{constructor(q={}){var K,_,z,Y,$;super();this.credentials={},this.eagerRefreshThresholdMillis=CRq.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS,this.forceRefreshOnFailure=!1,this.universeDomain=CRq.DEFAULT_UNIVERSE;let A=(0,do9.originalOrCamelOptions)(q);if(this.apiKey=q.apiKey,this.projectId=(K=A.get("project_id"))!==null&&K!==void 0?K:null,this.quotaProjectId=A.get("quota_project_id"),this.credentials=(_=A.get("credentials"))!==null&&_!==void 0?_:{},this.universeDomain=(z=A.get("universe_domain"))!==null&&z!==void 0?z:CRq.DEFAULT_UNIVERSE,this.transporter=(Y=q.transporter)!==null&&Y!==void 0?Y:new hRq.DefaultTransporter,q.transporterOptions)this.transporter.defaults=q.transporterOptions;if(q.eagerRefreshThresholdMillis)this.eagerRefreshThresholdMillis=q.eagerRefreshThresholdMillis;this.forceRefreshOnFailure=($=q.forceRefreshOnFailure)!==null&&$!==void 0?$:!1}get gaxios(){if(this.transporter instanceof RRq.Gaxios)return this.transporter;else if(this.transporter instanceof hRq.DefaultTransporter)return this.transporter.instance;else if("instance"in this.transporter&&this.transporter.instance instanceof RRq.Gaxios)return this.transporter.instance;return null}setCredentials(q){this.credentials=q}addSharedMetadataHeaders(q){if(!q["x-goog-user-project"]&&this.quotaProjectId)q["x-goog-user-project"]=this.quotaProjectId;return q}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}}CRq.AuthClient=SRq});var lG1=m((uRq)=>{Object.defineProperty(uRq,"__esModule",{value:!0});uRq.LoginTicket=void 0;class IRq{constructor(q,K){this.envelope=q,this.payload=K}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let q=this.getPayload();if(q&&q.sub)return q.sub;return null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}}uRq.LoginTicket=IRq});var O$6=m((BRq)=>{Object.defineProperty(BRq,"__esModule",{value:!0});BRq.OAuth2Client=BRq.ClientAuthentication=BRq.CertificateFormat=BRq.CodeChallengeMethod=void 0;var co9=eI(),nG1=U6("querystring"),lo9=U6("stream"),no9=M01(),iG1=KG6(),io9=tg(),ro9=lG1(),pRq;(function(q){q.Plain="plain",q.S256="S256"})(pRq||(BRq.CodeChallengeMethod=pRq={}));var rn;(function(q){q.PEM="PEM",q.JWK="JWK"})(rn||(BRq.CertificateFormat=rn={}));var Cd6;(function(q){q.ClientSecretPost="ClientSecretPost",q.ClientSecretBasic="ClientSecretBasic",q.None="None"})(Cd6||(BRq.ClientAuthentication=Cd6={}));class Gv extends io9.AuthClient{constructor(q,K,_){let z=q&&typeof q==="object"?q:{clientId:q,clientSecret:K,redirectUri:_};super(z);this.certificateCache={},this.certificateExpiry=null,this.certificateCacheFormat=rn.PEM,this.refreshTokenPromises=new Map,this._clientId=z.clientId,this._clientSecret=z.clientSecret,this.redirectUri=z.redirectUri,this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...z.endpoints},this.clientAuthentication=z.clientAuthentication||Cd6.ClientSecretPost,this.issuers=z.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}generateAuthUrl(q={}){if(q.code_challenge_method&&!q.code_challenge)throw Error("If a code_challenge_method is provided, code_challenge must be included.");if(q.response_type=q.response_type||"code",q.client_id=q.client_id||this._clientId,q.redirect_uri=q.redirect_uri||this.redirectUri,Array.isArray(q.scope))q.scope=q.scope.join(" ");return this.endpoints.oauth2AuthBaseUrl.toString()+"?"+nG1.stringify(q)}generateCodeVerifier(){throw Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let q=(0,iG1.createCrypto)(),_=q.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),Y=(await q.sha256DigestBase64(_)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:_,codeChallenge:Y}}getToken(q,K){let _=typeof q==="string"?{code:q}:q;if(K)this.getTokenAsync(_).then((z)=>K(null,z.tokens,z.res),(z)=>K(z,null,z.response));else return this.getTokenAsync(_)}async getTokenAsync(q){let K=this.endpoints.oauth2TokenUrl.toString(),_={"Content-Type":"application/x-www-form-urlencoded"},z={client_id:q.client_id||this._clientId,code_verifier:q.codeVerifier,code:q.code,grant_type:"authorization_code",redirect_uri:q.redirect_uri||this.redirectUri};if(this.clientAuthentication===Cd6.ClientSecretBasic){let A=Buffer.from(`${this._clientId}:${this._clientSecret}`);_.Authorization=`Basic ${A.toString("base64")}`}if(this.clientAuthentication===Cd6.ClientSecretPost)z.client_secret=this._clientSecret;let Y=await this.transporter.request({...Gv.RETRY_CONFIG,method:"POST",url:K,data:nG1.stringify(z),headers:_}),$=Y.data;if(Y.data&&Y.data.expires_in)$.expiry_date=new Date().getTime()+Y.data.expires_in*1000,delete $.expires_in;return this.emit("tokens",$),{tokens:$,res:Y}}async refreshToken(q){if(!q)return this.refreshTokenNoCache(q);if(this.refreshTokenPromises.has(q))return this.refreshTokenPromises.get(q);let K=this.refreshTokenNoCache(q).then((_)=>{return this.refreshTokenPromises.delete(q),_},(_)=>{throw this.refreshTokenPromises.delete(q),_});return this.refreshTokenPromises.set(q,K),K}async refreshTokenNoCache(q){var K;if(!q)throw Error("No refresh token is set.");let _=this.endpoints.oauth2TokenUrl.toString(),z={refresh_token:q,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},Y;try{Y=await this.transporter.request({...Gv.RETRY_CONFIG,method:"POST",url:_,data:nG1.stringify(z),headers:{"Content-Type":"application/x-www-form-urlencoded"}})}catch(A){if(A instanceof co9.GaxiosError&&A.message==="invalid_grant"&&((K=A.response)===null||K===void 0?void 0:K.data)&&/ReAuth/i.test(A.response.data.error_description))A.message=JSON.stringify(A.response.data);throw A}let $=Y.data;if(Y.data&&Y.data.expires_in)$.expiry_date=new Date().getTime()+Y.data.expires_in*1000,delete $.expires_in;return this.emit("tokens",$),{tokens:$,res:Y}}refreshAccessToken(q){if(q)this.refreshAccessTokenAsync().then((K)=>q(null,K.credentials,K.res),q);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let q=await this.refreshToken(this.credentials.refresh_token),K=q.tokens;return K.refresh_token=this.credentials.refresh_token,this.credentials=K,{credentials:this.credentials,res:q.res}}getAccessToken(q){if(q)this.getAccessTokenAsync().then((K)=>q(null,K.token,K.res),q);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let _=await this.processAndValidateRefreshHandler();if(_===null||_===void 0?void 0:_.access_token)return this.setCredentials(_),{token:this.credentials.access_token}}else throw Error("No refresh token or refresh handler callback is set.");let K=await this.refreshAccessTokenAsync();if(!K.credentials||K.credentials&&!K.credentials.access_token)throw Error("Could not refresh access token.");return{token:K.credentials.access_token,res:K.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(q){return(await this.getRequestMetadataAsync(q)).headers}async getRequestMetadataAsync(q){let K=this.credentials;if(!K.access_token&&!K.refresh_token&&!this.apiKey&&!this.refreshHandler)throw Error("No access, refresh token, API key or refresh handler callback is set.");if(K.access_token&&!this.isTokenExpiring()){K.token_type=K.token_type||"Bearer";let A={Authorization:K.token_type+" "+K.access_token};return{headers:this.addSharedMetadataHeaders(A)}}if(this.refreshHandler){let A=await this.processAndValidateRefreshHandler();if(A===null||A===void 0?void 0:A.access_token){this.setCredentials(A);let O={Authorization:"Bearer "+this.credentials.access_token};return{headers:this.addSharedMetadataHeaders(O)}}}if(this.apiKey)return{headers:{"X-Goog-Api-Key":this.apiKey}};let _=null,z=null;try{_=await this.refreshToken(K.refresh_token),z=_.tokens}catch(A){let O=A;if(O.response&&(O.response.status===403||O.response.status===404))O.message=`Could not refresh access token: ${O.message}`;throw O}let Y=this.credentials;Y.token_type=Y.token_type||"Bearer",z.refresh_token=Y.refresh_token,this.credentials=z;let $={Authorization:Y.token_type+" "+z.access_token};return{headers:this.addSharedMetadataHeaders($),res:_.res}}static getRevokeTokenUrl(q){return new Gv().getRevokeTokenURL(q).toString()}getRevokeTokenURL(q){let K=new URL(this.endpoints.oauth2RevokeUrl);return K.searchParams.append("token",q),K}revokeToken(q,K){let _={...Gv.RETRY_CONFIG,url:this.getRevokeTokenURL(q).toString(),method:"POST"};if(K)this.transporter.request(_).then((z)=>K(null,z),K);else return this.transporter.request(_)}revokeCredentials(q){if(q)this.revokeCredentialsAsync().then((K)=>q(null,K),q);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let q=this.credentials.access_token;if(this.credentials={},q)return this.revokeToken(q);else throw Error("No access token to revoke.")}request(q,K){if(K)this.requestAsync(q).then((_)=>K(null,_),(_)=>{return K(_,_.response)});else return this.requestAsync(q)}async requestAsync(q,K=!1){let _;try{let z=await this.getRequestMetadataAsync(q.url);if(q.headers=q.headers||{},z.headers&&z.headers["x-goog-user-project"])q.headers["x-goog-user-project"]=z.headers["x-goog-user-project"];if(z.headers&&z.headers.Authorization)q.headers.Authorization=z.headers.Authorization;if(this.apiKey)q.headers["X-Goog-Api-Key"]=this.apiKey;_=await this.transporter.request(q)}catch(z){let Y=z.response;if(Y){let $=Y.status,A=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),O=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,w=Y.config.data instanceof lo9.Readable,j=$===401||$===403;if(!K&&j&&!w&&A)return await this.refreshAccessTokenAsync(),this.requestAsync(q,!0);else if(!K&&j&&!w&&O){let H=await this.processAndValidateRefreshHandler();if(H===null||H===void 0?void 0:H.access_token)this.setCredentials(H);return this.requestAsync(q,!0)}}throw z}return _}verifyIdToken(q,K){if(K&&typeof K!=="function")throw Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(K)this.verifyIdTokenAsync(q).then((_)=>K(null,_),K);else return this.verifyIdTokenAsync(q)}async verifyIdTokenAsync(q){if(!q.idToken)throw Error("The verifyIdToken method requires an ID Token");let K=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(q.idToken,K.certs,q.audience,this.issuers,q.maxExpiry)}async getTokenInfo(q){let{data:K}=await this.transporter.request({...Gv.RETRY_CONFIG,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Authorization:`Bearer ${q}`},url:this.endpoints.tokenInfoUrl.toString()}),_=Object.assign({expiry_date:new Date().getTime()+K.expires_in*1000,scopes:K.scope.split(" ")},K);return delete _.expires_in,delete _.scope,_}getFederatedSignonCerts(q){if(q)this.getFederatedSignonCertsAsync().then((K)=>q(null,K.certs,K.res),q);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let q=new Date().getTime(),K=(0,iG1.hasBrowserCrypto)()?rn.JWK:rn.PEM;if(this.certificateExpiry&&q<this.certificateExpiry.getTime()&&this.certificateCacheFormat===K)return{certs:this.certificateCache,format:K};let _,z;switch(K){case rn.PEM:z=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case rn.JWK:z=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw Error(`Unsupported certificate format ${K}`)}try{_=await this.transporter.request({...Gv.RETRY_CONFIG,url:z})}catch(w){if(w instanceof Error)w.message=`Failed to retrieve verification certificates: ${w.message}`;throw w}let Y=_?_.headers["cache-control"]:void 0,$=-1;if(Y){let j=new RegExp("max-age=([0-9]*)").exec(Y);if(j&&j.length===2)$=Number(j[1])*1000}let A={};switch(K){case rn.PEM:A=_.data;break;case rn.JWK:for(let w of _.data.keys)A[w.kid]=w;break;default:throw Error(`Unsupported certificate format ${K}`)}let O=new Date;return this.certificateExpiry=$===-1?null:new Date(O.getTime()+$),this.certificateCache=A,this.certificateCacheFormat=K,{certs:A,format:K,res:_}}getIapPublicKeys(q){if(q)this.getIapPublicKeysAsync().then((K)=>q(null,K.pubkeys,K.res),q);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let q,K=this.endpoints.oauth2IapPublicKeyUrl.toString();try{q=await this.transporter.request({...Gv.RETRY_CONFIG,url:K})}catch(_){if(_ instanceof Error)_.message=`Failed to retrieve verification certificates: ${_.message}`;throw _}return{pubkeys:q.data,res:q}}verifySignedJwtWithCerts(){throw Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(q,K,_,z,Y){let $=(0,iG1.createCrypto)();if(!Y)Y=Gv.DEFAULT_MAX_TOKEN_LIFETIME_SECS_;let A=q.split(".");if(A.length!==3)throw Error("Wrong number of segments in token: "+q);let O=A[0]+"."+A[1],w=A[2],j,H;try{j=JSON.parse($.decodeBase64StringUtf8(A[0]))}catch(G){if(G instanceof Error)G.message=`Can't parse token envelope: ${A[0]}': ${G.message}`;throw G}if(!j)throw Error("Can't parse token envelope: "+A[0]);try{H=JSON.parse($.decodeBase64StringUtf8(A[1]))}catch(G){if(G instanceof Error)G.message=`Can't parse token payload '${A[0]}`;throw G}if(!H)throw Error("Can't parse token payload: "+A[1]);if(!Object.prototype.hasOwnProperty.call(K,j.kid))throw Error("No pem found for envelope: "+JSON.stringify(j));let J=K[j.kid];if(j.alg==="ES256")w=no9.joseToDer(w,"ES256").toString("base64");if(!await $.verify(J,O,w))throw Error("Invalid token signature: "+q);if(!H.iat)throw Error("No issue time in token: "+JSON.stringify(H));if(!H.exp)throw Error("No expiration time in token: "+JSON.stringify(H));let X=Number(H.iat);if(isNaN(X))throw Error("iat field using invalid format");let P=Number(H.exp);if(isNaN(P))throw Error("exp field using invalid format");let W=new Date().getTime()/1000;if(P>=W+Y)throw Error("Expiration time too far in future: "+JSON.stringify(H));let D=X-Gv.CLOCK_SKEW_SECS_,f=P+Gv.CLOCK_SKEW_SECS_;if(W<D)throw Error("Token used too early, "+W+" < "+D+": "+JSON.stringify(H));if(W>f)throw Error("Token used too late, "+W+" > "+f+": "+JSON.stringify(H));if(z&&z.indexOf(H.iss)<0)throw Error("Invalid issuer, expected one of ["+z+"], but got "+H.iss);if(typeof _<"u"&&_!==null){let G=H.aud,Z=!1;if(_.constructor===Array)Z=_.indexOf(G)>-1;else Z=G===_;if(!Z)throw Error("Wrong recipient, payload audience != requiredAudience")}return new ro9.LoginTicket(j,H)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let q=await this.refreshHandler();if(!q.access_token)throw Error("No access token is returned by the refreshHandler callback.");return q}return}isTokenExpiring(){let q=this.credentials.expiry_date;return q?q<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}}BRq.OAuth2Client=Gv;Gv.GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";Gv.CLOCK_SKEW_SECS_=300;Gv.DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400});var rG1=m((QRq)=>{Object.defineProperty(QRq,"__esModule",{value:!0});QRq.Compute=void 0;var to9=eI(),FRq=Rd6(),eo9=O$6();class URq extends eo9.OAuth2Client{constructor(q={}){super(q);this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=q.serviceAccountEmail||"default",this.scopes=Array.isArray(q.scopes)?q.scopes:q.scopes?[q.scopes]:[]}async refreshTokenNoCache(q){let K=`service-accounts/${this.serviceAccountEmail}/token`,_;try{let Y={property:K};if(this.scopes.length>0)Y.params={scopes:this.scopes.join(",")};_=await FRq.instance(Y)}catch(Y){if(Y instanceof to9.GaxiosError)Y.message=`Could not refresh access token: ${Y.message}`,this.wrapError(Y);throw Y}let z=_;if(_&&_.expires_in)z.expiry_date=new Date().getTime()+_.expires_in*1000,delete z.expires_in;return this.emit("tokens",z),{tokens:z,res:null}}async fetchIdToken(q){let K=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${q}`,_;try{let z={property:K};_=await FRq.instance(z)}catch(z){if(z instanceof Error)z.message=`Could not fetch ID token: ${z.message}`;throw z}return _}wrapError(q){let K=q.response;if(K&&K.status){if(q.status=K.status,K.status===403)q.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+q.message;else if(K.status===404)q.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+q.message}}}QRq.Compute=URq});var oG1=m((lRq)=>{Object.defineProperty(lRq,"__esModule",{value:!0});lRq.IdTokenClient=void 0;var qa9=O$6();class cRq extends qa9.OAuth2Client{constructor(q){super(q);this.targetAudience=q.targetAudience,this.idTokenProvider=q.idTokenProvider}async getRequestMetadataAsync(q){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let _=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:_,expiry_date:this.getIdTokenExpiryDate(_)}}return{headers:{Authorization:"Bearer "+this.credentials.id_token}}}getIdTokenExpiryDate(q){let K=q.split(".")[1];if(K)return JSON.parse(Buffer.from(K,"base64").toString("ascii")).exp*1000}}lRq.IdTokenClient=cRq});var aG1=m((rRq)=>{Object.defineProperty(rRq,"__esModule",{value:!0});rRq.GCPEnv=void 0;rRq.clear=Ka9;rRq.getEnv=_a9;var iRq=Rd6(),on;(function(q){q.APP_ENGINE="APP_ENGINE",q.KUBERNETES_ENGINE="KUBERNETES_ENGINE",q.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",q.COMPUTE_ENGINE="COMPUTE_ENGINE",q.CLOUD_RUN="CLOUD_RUN",q.NONE="NONE"})(on||(rRq.GCPEnv=on={}));var bd6;function Ka9(){bd6=void 0}async function _a9(){if(bd6)return bd6;return bd6=za9(),bd6}async function za9(){let q=on.NONE;if(Ya9())q=on.APP_ENGINE;else if($a9())q=on.CLOUD_FUNCTIONS;else if(await wa9())if(await Oa9())q=on.KUBERNETES_ENGINE;else if(Aa9())q=on.CLOUD_RUN;else q=on.COMPUTE_ENGINE;else q=on.NONE;return q}function Ya9(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function $a9(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function Aa9(){return!!process.env.K_CONFIGURATION}async function Oa9(){try{return await iRq.instance("attributes/cluster-name"),!0}catch(q){return!1}}async function wa9(){return iRq.isAvailable()}});var Yhq=m((r86)=>{var _u=r86&&r86.__classPrivateFieldGet||function(q,K,_,z){if(_==="a"&&!z)throw TypeError("Private accessor was defined without a getter");if(typeof K==="function"?q!==K||!z:!K.has(q))throw TypeError("Cannot read private member from an object whose class did not declare it");return _==="m"?z:_==="a"?z.call(q):z?z.value:K.get(q)},aRq=r86&&r86.__classPrivateFieldSet||function(q,K,_,z,Y){if(z==="m")throw TypeError("Private method is not writable");if(z==="a"&&!Y)throw TypeError("Private accessor was defined without a setter");if(typeof K==="function"?q!==K||!Y:!K.has(q))throw TypeError("Cannot write private member to an object whose class did not declare it");return z==="a"?Y.call(q,_):Y?Y.value=_:K.set(q,_),_},zu,YG6,sG1,sRq,tRq,tG1,eG1,eRq;Object.defineProperty(r86,"__esModule",{value:!0});r86.GoogleToken=void 0;var qhq=U6("fs"),Ja9=eI(),Ma9=IZ6(),Xa9=U6("path"),Pa9=U6("util"),Khq=qhq.readFile?(0,Pa9.promisify)(qhq.readFile):async()=>{throw new $G6("use key rather than keyFile.","MISSING_CREDENTIALS")},_hq="https://www.googleapis.com/oauth2/v4/token",Wa9="https://accounts.google.com/o/oauth2/revoke?token=";class $G6 extends Error{constructor(q,K){super(q);this.code=K}}class zhq{get accessToken(){return this.rawToken?this.rawToken.access_token:void 0}get idToken(){return this.rawToken?this.rawToken.id_token:void 0}get tokenType(){return this.rawToken?this.rawToken.token_type:void 0}get refreshToken(){return this.rawToken?this.rawToken.refresh_token:void 0}constructor(q){zu.add(this),this.transporter={request:(K)=>(0,Ja9.request)(K)},YG6.set(this,void 0),_u(this,zu,"m",eG1).call(this,q)}hasExpired(){let q=new Date().getTime();if(this.rawToken&&this.expiresAt)return q>=this.expiresAt;else return!0}isTokenExpiring(){var q;let K=new Date().getTime(),_=(q=this.eagerRefreshThresholdMillis)!==null&&q!==void 0?q:0;if(this.rawToken&&this.expiresAt)return this.expiresAt<=K+_;else return!0}getToken(q,K={}){if(typeof q==="object")K=q,q=void 0;if(K=Object.assign({forceRefresh:!1},K),q){let _=q;_u(this,zu,"m",sG1).call(this,K).then((z)=>_(null,z),q);return}return _u(this,zu,"m",sG1).call(this,K)}async getCredentials(q){switch(Xa9.extname(q)){case".json":{let _=await Khq(q,"utf8"),z=JSON.parse(_),Y=z.private_key,$=z.client_email;if(!Y||!$)throw new $G6("private_key and client_email are required.","MISSING_CREDENTIALS");return{privateKey:Y,clientEmail:$}}case".der":case".crt":case".pem":return{privateKey:await Khq(q,"utf8")};case".p12":case".pfx":throw new $G6("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");default:throw new $G6("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}revokeToken(q){if(q){_u(this,zu,"m",tG1).call(this).then(()=>q(),q);return}return _u(this,zu,"m",tG1).call(this)}}r86.GoogleToken=zhq;YG6=new WeakMap,zu=new WeakSet,sG1=async function(K){if(_u(this,YG6,"f")&&!K.forceRefresh)return _u(this,YG6,"f");try{return await aRq(this,YG6,_u(this,zu,"m",sRq).call(this,K),"f")}finally{aRq(this,YG6,void 0,"f")}},sRq=async function(K){if(this.isTokenExpiring()===!1&&K.forceRefresh===!1)return Promise.resolve(this.rawToken);if(!this.key&&!this.keyFile)throw Error("No key or keyFile set.");if(!this.key&&this.keyFile){let _=await this.getCredentials(this.keyFile);if(this.key=_.privateKey,this.iss=_.clientEmail||this.iss,!_.clientEmail)_u(this,zu,"m",tRq).call(this)}return _u(this,zu,"m",eRq).call(this)},tRq=function(){if(!this.iss)throw new $G6("email is required.","MISSING_CREDENTIALS")},tG1=async function(){if(!this.accessToken)throw Error("No token to revoke.");let K=Wa9+this.accessToken;await this.transporter.request({url:K,retry:!0}),_u(this,zu,"m",eG1).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims})},eG1=function(K={}){if(this.keyFile=K.keyFile,this.key=K.key,this.rawToken=void 0,this.iss=K.email||K.iss,this.sub=K.sub,this.additionalClaims=K.additionalClaims,typeof K.scope==="object")this.scope=K.scope.join(" ");else this.scope=K.scope;if(this.eagerRefreshThresholdMillis=K.eagerRefreshThresholdMillis,K.transporter)this.transporter=K.transporter},eRq=async function(){var K,_;let z=Math.floor(new Date().getTime()/1000),Y=this.additionalClaims||{},$=Object.assign({iss:this.iss,scope:this.scope,aud:_hq,exp:z+3600,iat:z,sub:this.sub},Y),A=Ma9.sign({header:{alg:"RS256"},payload:$,secret:this.key});try{let O=await this.transporter.request({method:"POST",url:_hq,data:{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:A},headers:{"Content-Type":"application/x-www-form-urlencoded"},responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});return this.rawToken=O.data,this.expiresAt=O.data.expires_in===null||O.data.expires_in===void 0?void 0:(z+O.data.expires_in)*1000,this.rawToken}catch(O){this.rawToken=void 0,this.tokenExpires=void 0;let w=O.response&&((K=O.response)===null||K===void 0?void 0:K.data)?(_=O.response)===null||_===void 0?void 0:_.data:{};if(w.error){let j=w.error_description?`: ${w.error_description}`:"";O.message=`${w.error}${j}`}throw O}}});var KT1=m((Ahq)=>{Object.defineProperty(Ahq,"__esModule",{value:!0});Ahq.JWTAccess=void 0;var Da9=IZ6(),fa9=i86(),$hq={alg:"RS256",typ:"JWT"};class qT1{constructor(q,K,_,z){this.cache=new fa9.LRUCache({capacity:500,maxAge:3600000}),this.email=q,this.key=K,this.keyId=_,this.eagerRefreshThresholdMillis=z!==null&&z!==void 0?z:300000}getCachedKey(q,K){let _=q;if(K&&Array.isArray(K)&&K.length)_=q?`${q}_${K.join("_")}`:`${K.join("_")}`;else if(typeof K==="string")_=q?`${q}_${K}`:K;if(!_)throw Error("Scopes or url must be provided");return _}getRequestHeaders(q,K,_){let z=this.getCachedKey(q,_),Y=this.cache.get(z),$=Date.now();if(Y&&Y.expiration-$>this.eagerRefreshThresholdMillis)return Y.headers;let A=Math.floor(Date.now()/1000),O=qT1.getExpirationTime(A),w;if(Array.isArray(_))_=_.join(" ");if(_)w={iss:this.email,sub:this.email,scope:_,exp:O,iat:A};else w={iss:this.email,sub:this.email,aud:q,exp:O,iat:A};if(K){for(let X in w)if(K[X])throw Error(`The '${X}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let j=this.keyId?{...$hq,kid:this.keyId}:$hq,H=Object.assign(w,K),M={Authorization:`Bearer ${Da9.sign({header:j,payload:H,secret:this.key})}`};return this.cache.set(z,{expiration:O*1000,headers:M}),M}static getExpirationTime(q){return q+3600}fromJSON(q){if(!q)throw Error("Must pass in a JSON object containing the service account auth settings.");if(!q.client_email)throw Error("The incoming JSON object does not contain a client_email field");if(!q.private_key)throw Error("The incoming JSON object does not contain a private_key field");this.email=q.client_email,this.key=q.private_key,this.keyId=q.private_key_id,this.projectId=q.project_id}fromStream(q,K){if(K)this.fromStreamAsync(q).then(()=>K(),K);else return this.fromStreamAsync(q)}fromStreamAsync(q){return new Promise((K,_)=>{if(!q)_(Error("Must pass in a stream containing the service account auth settings."));let z="";q.setEncoding("utf8").on("data",(Y)=>z+=Y).on("error",_).on("end",()=>{try{let Y=JSON.parse(z);this.fromJSON(Y),K()}catch(Y){_(Y)}})})}}Ahq.JWTAccess=qT1});var zT1=m((jhq)=>{Object.defineProperty(jhq,"__esModule",{value:!0});jhq.JWT=void 0;var whq=Yhq(),Za9=KT1(),Ga9=O$6(),iW8=tg();class _T1 extends Ga9.OAuth2Client{constructor(q,K,_,z,Y,$){let A=q&&typeof q==="object"?q:{email:q,keyFile:K,key:_,keyId:$,scopes:z,subject:Y};super(A);this.email=A.email,this.keyFile=A.keyFile,this.key=A.key,this.keyId=A.keyId,this.scopes=A.scopes,this.subject=A.subject,this.additionalClaims=A.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(q){let K=new _T1(this);return K.scopes=q,K}async getRequestMetadataAsync(q){q=this.defaultServicePath?`https://${this.defaultServicePath}/`:q;let K=!this.hasUserScopes()&&q||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==iW8.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==iW8.DEFAULT_UNIVERSE)throw RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${iW8.DEFAULT_UNIVERSE}`);if(!this.apiKey&&K)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:_}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders({Authorization:`Bearer ${_.id_token}`})}}else{if(!this.access)this.access=new Za9.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis);let _;if(this.hasUserScopes())_=this.scopes;else if(!q)_=this.defaultScopes;let z=this.useJWTAccessWithScope||this.universeDomain!==iW8.DEFAULT_UNIVERSE,Y=await this.access.getRequestHeaders(q!==null&&q!==void 0?q:void 0,this.additionalClaims,z?_:void 0);return{headers:this.addSharedMetadataHeaders(Y)}}else if(this.hasAnyScopes()||this.apiKey)return super.getRequestMetadataAsync(q);else return{headers:{}}}async fetchIdToken(q){let K=new whq.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:q},transporter:this.transporter});if(await K.getToken({forceRefresh:!0}),!K.idToken)throw Error("Unknown error: Failed to fetch ID token");return K.idToken}hasUserScopes(){if(!this.scopes)return!1;return this.scopes.length>0}hasAnyScopes(){if(this.scopes&&this.scopes.length>0)return!0;if(this.defaultScopes&&this.defaultScopes.length>0)return!0;return!1}authorize(q){if(q)this.authorizeAsync().then((K)=>q(null,K),q);else return this.authorizeAsync()}async authorizeAsync(){let q=await this.refreshToken();if(!q)throw Error("No result returned");return this.credentials=q.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,q.tokens}async refreshTokenNoCache(q){let K=this.createGToken(),z={access_token:(await K.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:K.expiresAt,id_token:K.idToken};return this.emit("tokens",z),{res:null,tokens:z}}createGToken(){if(!this.gtoken)this.gtoken=new whq.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter});return this.gtoken}fromJSON(q){if(!q)throw Error("Must pass in a JSON object containing the service account auth settings.");if(!q.client_email)throw Error("The incoming JSON object does not contain a client_email field");if(!q.private_key)throw Error("The incoming JSON object does not contain a private_key field");this.email=q.client_email,this.key=q.private_key,this.keyId=q.private_key_id,this.projectId=q.project_id,this.quotaProjectId=q.quota_project_id,this.universeDomain=q.universe_domain||this.universeDomain}fromStream(q,K){if(K)this.fromStreamAsync(q).then(()=>K(),K);else return this.fromStreamAsync(q)}fromStreamAsync(q){return new Promise((K,_)=>{if(!q)throw Error("Must pass in a stream containing the service account auth settings.");let z="";q.setEncoding("utf8").on("error",_).on("data",(Y)=>z+=Y).on("end",()=>{try{let Y=JSON.parse(z);this.fromJSON(Y),K()}catch(Y){_(Y)}})})}fromAPIKey(q){if(typeof q!=="string")throw Error("Must provide an API Key string.");this.apiKey=q}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};else if(this.keyFile){let K=await this.createGToken().getCredentials(this.keyFile);return{private_key:K.privateKey,client_email:K.clientEmail}}throw Error("A key or a keyFile must be provided to getCredentials.")}}jhq.JWT=_T1});var YT1=m((Jhq)=>{Object.defineProperty(Jhq,"__esModule",{value:!0});Jhq.UserRefreshClient=Jhq.USER_REFRESH_ACCOUNT_TYPE=void 0;var Ta9=O$6(),va9=U6("querystring");Jhq.USER_REFRESH_ACCOUNT_TYPE="authorized_user";class rW8 extends Ta9.OAuth2Client{constructor(q,K,_,z,Y){let $=q&&typeof q==="object"?q:{clientId:q,clientSecret:K,refreshToken:_,eagerRefreshThresholdMillis:z,forceRefreshOnFailure:Y};super($);this._refreshToken=$.refreshToken,this.credentials.refresh_token=$.refreshToken}async refreshTokenNoCache(q){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(q){return(await this.transporter.request({...rW8.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,headers:{"Content-Type":"application/x-www-form-urlencoded"},method:"POST",data:(0,va9.stringify)({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:q})})).data.id_token}fromJSON(q){if(!q)throw Error("Must pass in a JSON object containing the user refresh token");if(q.type!=="authorized_user")throw Error('The incoming JSON object does not have the "authorized_user" type');if(!q.client_id)throw Error("The incoming JSON object does not contain a client_id field");if(!q.client_secret)throw Error("The incoming JSON object does not contain a client_secret field");if(!q.refresh_token)throw Error("The incoming JSON object does not contain a refresh_token field");this._clientId=q.client_id,this._clientSecret=q.client_secret,this._refreshToken=q.refresh_token,this.credentials.refresh_token=q.refresh_token,this.quotaProjectId=q.quota_project_id,this.universeDomain=q.universe_domain||this.universeDomain}fromStream(q,K){if(K)this.fromStreamAsync(q).then(()=>K(),K);else return this.fromStreamAsync(q)}async fromStreamAsync(q){return new Promise((K,_)=>{if(!q)return _(Error("Must pass in a stream containing the user refresh token."));let z="";q.setEncoding("utf8").on("error",_).on("data",(Y)=>z+=Y).on("end",()=>{try{let Y=JSON.parse(z);return this.fromJSON(Y),K()}catch(Y){return _(Y)}})})}static fromJSON(q){let K=new rW8;return K.fromJSON(q),K}}Jhq.UserRefreshClient=rW8});var $T1=m((Phq)=>{Object.defineProperty(Phq,"__esModule",{value:!0});Phq.Impersonated=Phq.IMPERSONATED_ACCOUNT_TYPE=void 0;var Xhq=O$6(),Va9=eI(),Na9=i86();Phq.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";class xd6 extends Xhq.OAuth2Client{constructor(q={}){var K,_,z,Y,$,A;super(q);if(this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=(K=q.sourceClient)!==null&&K!==void 0?K:new Xhq.OAuth2Client,this.targetPrincipal=(_=q.targetPrincipal)!==null&&_!==void 0?_:"",this.delegates=(z=q.delegates)!==null&&z!==void 0?z:[],this.targetScopes=(Y=q.targetScopes)!==null&&Y!==void 0?Y:[],this.lifetime=($=q.lifetime)!==null&&$!==void 0?$:3600,!(0,Na9.originalOrCamelOptions)(q).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=(A=q.endpoint)!==null&&A!==void 0?A:`https://iamcredentials.${this.universeDomain}`}async sign(q){await this.sourceClient.getAccessToken();let K=`projects/-/serviceAccounts/${this.targetPrincipal}`,_=`${this.endpoint}/v1/${K}:signBlob`,z={delegates:this.delegates,payload:Buffer.from(q).toString("base64")};return(await this.sourceClient.request({...xd6.RETRY_CONFIG,url:_,data:z,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){var q,K,_,z,Y,$;try{await this.sourceClient.getAccessToken();let A="projects/-/serviceAccounts/"+this.targetPrincipal,O=`${this.endpoint}/v1/${A}:generateAccessToken`,w={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},j=await this.sourceClient.request({...xd6.RETRY_CONFIG,url:O,data:w,method:"POST"}),H=j.data;return this.credentials.access_token=H.accessToken,this.credentials.expiry_date=Date.parse(H.expireTime),{tokens:this.credentials,res:j}}catch(A){if(!(A instanceof Error))throw A;let O=0,w="";if(A instanceof Va9.GaxiosError)O=(_=(K=(q=A===null||A===void 0?void 0:A.response)===null||q===void 0?void 0:q.data)===null||K===void 0?void 0:K.error)===null||_===void 0?void 0:_.status,w=($=(Y=(z=A===null||A===void 0?void 0:A.response)===null||z===void 0?void 0:z.data)===null||Y===void 0?void 0:Y.error)===null||$===void 0?void 0:$.message;if(O&&w)throw A.message=`${O}: unable to impersonate: ${w}`,A;else throw A.message=`unable to impersonate: ${A}`,A}}async fetchIdToken(q,K){var _,z;await this.sourceClient.getAccessToken();let Y=`projects/-/serviceAccounts/${this.targetPrincipal}`,$=`${this.endpoint}/v1/${Y}:generateIdToken`,A={delegates:this.delegates,audience:q,includeEmail:(_=K===null||K===void 0?void 0:K.includeEmail)!==null&&_!==void 0?_:!0,useEmailAzp:(z=K===null||K===void 0?void 0:K.includeEmail)!==null&&z!==void 0?z:!0};return(await this.sourceClient.request({...xd6.RETRY_CONFIG,url:$,data:A,method:"POST"})).data.token}}Phq.Impersonated=xd6});var AT1=m((Zhq)=>{Object.defineProperty(Zhq,"__esModule",{value:!0});Zhq.OAuthClientAuthHandler=void 0;Zhq.getErrorFromOAuthErrorResponse=Ra9;var Dhq=U6("querystring"),Ea9=KG6(),La9=["PUT","POST","PATCH"];class fhq{constructor(q){this.clientAuthentication=q,this.crypto=(0,Ea9.createCrypto)()}applyClientAuthenticationOptions(q,K){if(this.injectAuthenticatedHeaders(q,K),!K)this.injectAuthenticatedRequestBody(q)}injectAuthenticatedHeaders(q,K){var _;if(K)q.headers=q.headers||{},Object.assign(q.headers,{Authorization:`Bearer ${K}}`});else if(((_=this.clientAuthentication)===null||_===void 0?void 0:_.confidentialClientType)==="basic"){q.headers=q.headers||{};let z=this.clientAuthentication.clientId,Y=this.clientAuthentication.clientSecret||"",$=this.crypto.encodeBase64StringUtf8(`${z}:${Y}`);Object.assign(q.headers,{Authorization:`Basic ${$}`})}}injectAuthenticatedRequestBody(q){var K;if(((K=this.clientAuthentication)===null||K===void 0?void 0:K.confidentialClientType)==="request-body"){let _=(q.method||"GET").toUpperCase();if(La9.indexOf(_)!==-1){let z,Y=q.headers||{};for(let $ in Y)if($.toLowerCase()==="content-type"&&Y[$]){z=Y[$].toLowerCase();break}if(z==="application/x-www-form-urlencoded"){q.data=q.data||"";let $=Dhq.parse(q.data);Object.assign($,{client_id:this.clientAuthentication.clientId,client_secret:this.clientAuthentication.clientSecret||""}),q.data=Dhq.stringify($)}else if(z==="application/json")q.data=q.data||{},Object.assign(q.data,{client_id:this.clientAuthentication.clientId,client_secret:this.clientAuthentication.clientSecret||""});else throw Error(`${z} content-types are not supported with ${this.clientAuthentication.confidentialClientType} client authentication`)}else throw Error(`${_} HTTP method does not support ${this.clientAuthentication.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}}Zhq.OAuthClientAuthHandler=fhq;function Ra9(q,K){let{error:_,error_description:z,error_uri:Y}=q,$=`Error code ${_}`;if(typeof z<"u")$+=`: ${z}`;if(typeof Y<"u")$+=` - ${Y}`;let A=Error($);if(K){let O=Object.keys(K);if(K.stack)O.push("stack");O.forEach((w)=>{if(w!=="message")Object.defineProperty(A,w,{value:K[w],writable:!1,enumerable:!0})})}return A}});var wT1=m((vhq)=>{Object.defineProperty(vhq,"__esModule",{value:!0});vhq.StsCredentials=void 0;var Sa9=eI(),Ca9=U6("querystring"),ba9=Sd6(),Thq=AT1();class OT1 extends Thq.OAuthClientAuthHandler{constructor(q,K){super(K);this.tokenExchangeEndpoint=q,this.transporter=new ba9.DefaultTransporter}async exchangeToken(q,K,_){var z,Y,$;let A={grant_type:q.grantType,resource:q.resource,audience:q.audience,scope:(z=q.scope)===null||z===void 0?void 0:z.join(" "),requested_token_type:q.requestedTokenType,subject_token:q.subjectToken,subject_token_type:q.subjectTokenType,actor_token:(Y=q.actingParty)===null||Y===void 0?void 0:Y.actorToken,actor_token_type:($=q.actingParty)===null||$===void 0?void 0:$.actorTokenType,options:_&&JSON.stringify(_)};Object.keys(A).forEach((j)=>{if(typeof A[j]>"u")delete A[j]});let O={"Content-Type":"application/x-www-form-urlencoded"};Object.assign(O,K||{});let w={...OT1.RETRY_CONFIG,url:this.tokenExchangeEndpoint.toString(),method:"POST",headers:O,data:Ca9.stringify(A),responseType:"json"};this.applyClientAuthenticationOptions(w);try{let j=await this.transporter.request(w),H=j.data;return H.res=j,H}catch(j){if(j instanceof Sa9.GaxiosError&&j.response)throw(0,Thq.getErrorFromOAuthErrorResponse)(j.response.data,j);throw j}}}vhq.StsCredentials=OT1});var o86=m((dW)=>{var jT1=dW&&dW.__classPrivateFieldGet||function(q,K,_,z){if(_==="a"&&!z)throw TypeError("Private accessor was defined without a getter");if(typeof K==="function"?q!==K||!z:!K.has(q))throw TypeError("Cannot read private member from an object whose class did not declare it");return _==="m"?z:_==="a"?z.call(q):z?z.value:K.get(q)},Vhq=dW&&dW.__classPrivateFieldSet||function(q,K,_,z,Y){if(z==="m")throw TypeError("Private method is not writable");if(z==="a"&&!Y)throw TypeError("Private accessor was defined without a setter");if(typeof K==="function"?q!==K||!Y:!K.has(q))throw TypeError("Cannot write private member to an object whose class did not declare it");return z==="a"?Y.call(q,_):Y?Y.value=_:K.set(q,_),_},HT1,AG6,yhq;Object.defineProperty(dW,"__esModule",{value:!0});dW.BaseExternalAccountClient=dW.DEFAULT_UNIVERSE=dW.CLOUD_RESOURCE_MANAGER=dW.EXTERNAL_ACCOUNT_TYPE=dW.EXPIRATION_TIME_OFFSET=void 0;var xa9=U6("stream"),Ia9=tg(),ua9=wT1(),Nhq=i86(),ma9="urn:ietf:params:oauth:grant-type:token-exchange",pa9="urn:ietf:params:oauth:token-type:access_token",JT1="https://www.googleapis.com/auth/cloud-platform",Ba9=3600;dW.EXPIRATION_TIME_OFFSET=300000;dW.EXTERNAL_ACCOUNT_TYPE="external_account";dW.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var ga9="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",Fa9="https://sts.{universeDomain}/v1/token",Ua9=UG1(),Qa9=tg();Object.defineProperty(dW,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return Qa9.DEFAULT_UNIVERSE}});class oW8 extends Ia9.AuthClient{constructor(q,K){var _;super({...q,...K});HT1.add(this),AG6.set(this,null);let z=(0,Nhq.originalOrCamelOptions)(q),Y=z.get("type");if(Y&&Y!==dW.EXTERNAL_ACCOUNT_TYPE)throw Error(`Expected "${dW.EXTERNAL_ACCOUNT_TYPE}" type but received "${q.type}"`);let $=z.get("client_id"),A=z.get("client_secret"),O=(_=z.get("token_url"))!==null&&_!==void 0?_:Fa9.replace("{universeDomain}",this.universeDomain),w=z.get("subject_token_type"),j=z.get("workforce_pool_user_project"),H=z.get("service_account_impersonation_url"),J=z.get("service_account_impersonation"),M=(0,Nhq.originalOrCamelOptions)(J).get("token_lifetime_seconds");if(this.cloudResourceManagerURL=new URL(z.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),$)this.clientAuth={confidentialClientType:"basic",clientId:$,clientSecret:A};this.stsCredential=new ua9.StsCredentials(O,this.clientAuth),this.scopes=z.get("scopes")||[JT1],this.cachedAccessToken=null,this.audience=z.get("audience"),this.subjectTokenType=w,this.workforcePoolUserProject=j;let X=new RegExp(ga9);if(this.workforcePoolUserProject&&!this.audience.match(X))throw Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");if(this.serviceAccountImpersonationUrl=H,this.serviceAccountImpersonationLifetime=M,this.serviceAccountImpersonationLifetime)this.configLifetimeRequested=!0;else this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=Ba9;this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){var q;if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);let _=/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl);return((q=_===null||_===void 0?void 0:_.groups)===null||q===void 0?void 0:q.email)||null}return null}setCredentials(q){super.setCredentials(q),this.cachedAccessToken=q}async getAccessToken(){if(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))await this.refreshAccessTokenAsync();return{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let K={Authorization:`Bearer ${(await this.getAccessToken()).token}`};return this.addSharedMetadataHeaders(K)}request(q,K){if(K)this.requestAsync(q).then((_)=>K(null,_),(_)=>{return K(_,_.response)});else return this.requestAsync(q)}async getProjectId(){let q=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;else if(q){let K=await this.getRequestHeaders(),_=await this.transporter.request({...oW8.RETRY_CONFIG,headers:K,url:`${this.cloudResourceManagerURL.toString()}${q}`,responseType:"json"});return this.projectId=_.data.projectId,this.projectId}return null}async requestAsync(q,K=!1){let _;try{let z=await this.getRequestHeaders();if(q.headers=q.headers||{},z&&z["x-goog-user-project"])q.headers["x-goog-user-project"]=z["x-goog-user-project"];if(z&&z.Authorization)q.headers.Authorization=z.Authorization;_=await this.transporter.request(q)}catch(z){let Y=z.response;if(Y){let $=Y.status,A=Y.config.data instanceof xa9.Readable;if(!K&&($===401||$===403)&&!A&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(q,!0)}throw z}return _}async refreshAccessTokenAsync(){Vhq(this,AG6,jT1(this,AG6,"f")||jT1(this,HT1,"m",yhq).call(this),"f");try{return await jT1(this,AG6,"f")}finally{Vhq(this,AG6,null,"f")}}getProjectNumber(q){let K=q.match(/\/projects\/([^/]+)/);if(!K)return null;return K[1]}async getImpersonatedAccessToken(q){let K={...oW8.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${q}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"},responseType:"json"},_=await this.transporter.request(K),z=_.data;return{access_token:z.accessToken,expiry_date:new Date(z.expireTime).getTime(),res:_}}isExpired(q){let K=new Date().getTime();return q.expiry_date?K>=q.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){if(typeof this.scopes==="string")return[this.scopes];return this.scopes||[JT1]}getMetricsHeaderValue(){let q=process.version.replace(/^v/,""),K=this.serviceAccountImpersonationUrl!==void 0,_=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${q} auth/${Ua9.version} google-byoid-sdk source/${_} sa-impersonation/${K} config-lifetime/${this.configLifetimeRequested}`}}dW.BaseExternalAccountClient=oW8;AG6=new WeakMap,HT1=new WeakSet,yhq=async function(){let K=await this.retrieveSubjectToken(),_={grantType:ma9,audience:this.audience,requestedTokenType:pa9,subjectToken:K,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[JT1]:this.getScopesArray()},z=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,Y={"x-goog-api-client":this.getMetricsHeaderValue()},$=await this.stsCredential.exchangeToken(_,Y,z);if(this.serviceAccountImpersonationUrl)this.cachedAccessToken=await this.getImpersonatedAccessToken($.access_token);else if($.expires_in)this.cachedAccessToken={access_token:$.access_token,expiry_date:new Date().getTime()+$.expires_in*1000,res:$.res};else this.cachedAccessToken={access_token:$.access_token,res:$.res};return this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}});var hhq=m((Lhq)=>{var MT1,XT1,PT1;Object.defineProperty(Lhq,"__esModule",{value:!0});Lhq.FileSubjectTokenSupplier=void 0;var WT1=U6("util"),DT1=U6("fs"),da9=(0,WT1.promisify)((MT1=DT1.readFile)!==null&&MT1!==void 0?MT1:()=>{}),ca9=(0,WT1.promisify)((XT1=DT1.realpath)!==null&&XT1!==void 0?XT1:()=>{}),la9=(0,WT1.promisify)((PT1=DT1.lstat)!==null&&PT1!==void 0?PT1:()=>{});class Ehq{constructor(q){this.filePath=q.filePath,this.formatType=q.formatType,this.subjectTokenFieldName=q.subjectTokenFieldName}async getSubjectToken(q){let K=this.filePath;try{if(K=await ca9(K),!(await la9(K)).isFile())throw Error()}catch(Y){if(Y instanceof Error)Y.message=`The file at ${K} does not exist, or it is not a file. ${Y.message}`;throw Y}let _,z=await da9(K,{encoding:"utf8"});if(this.formatType==="text")_=z;else if(this.formatType==="json"&&this.subjectTokenFieldName)_=JSON.parse(z)[this.subjectTokenFieldName];if(!_)throw Error("Unable to parse the subject_token from the credential_source file");return _}}Lhq.FileSubjectTokenSupplier=Ehq});var xhq=m((Chq)=>{Object.defineProperty(Chq,"__esModule",{value:!0});Chq.UrlSubjectTokenSupplier=void 0;class Shq{constructor(q){this.url=q.url,this.formatType=q.formatType,this.subjectTokenFieldName=q.subjectTokenFieldName,this.headers=q.headers,this.additionalGaxiosOptions=q.additionalGaxiosOptions}async getSubjectToken(q){let K={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers,responseType:this.formatType},_;if(this.formatType==="text")_=(await q.transporter.request(K)).data;else if(this.formatType==="json"&&this.subjectTokenFieldName)_=(await q.transporter.request(K)).data[this.subjectTokenFieldName];if(!_)throw Error("Unable to parse the subject_token from the credential_source URL");return _}}Chq.UrlSubjectTokenSupplier=Shq});var GT1=m((Ihq)=>{Object.defineProperty(Ihq,"__esModule",{value:!0});Ihq.IdentityPoolClient=void 0;var na9=o86(),fT1=i86(),ia9=hhq(),ra9=xhq();class ZT1 extends na9.BaseExternalAccountClient{constructor(q,K){super(q,K);let _=(0,fT1.originalOrCamelOptions)(q),z=_.get("credential_source"),Y=_.get("subject_token_supplier");if(!z&&!Y)throw Error("A credential source or subject token supplier must be specified.");if(z&&Y)throw Error("Only one of credential source or subject token supplier can be specified.");if(Y)this.subjectTokenSupplier=Y,this.credentialSourceType="programmatic";else{let $=(0,fT1.originalOrCamelOptions)(z),A=(0,fT1.originalOrCamelOptions)($.get("format")),O=A.get("type")||"text",w=A.get("subject_token_field_name");if(O!=="json"&&O!=="text")throw Error(`Invalid credential_source format "${O}"`);if(O==="json"&&!w)throw Error("Missing subject_token_field_name for JSON credential_source format");let j=$.get("file"),H=$.get("url"),J=$.get("headers");if(j&&H)throw Error('No valid Identity Pool "credential_source" provided, must be either file or url.');else if(j&&!H)this.credentialSourceType="file",this.subjectTokenSupplier=new ia9.FileSubjectTokenSupplier({filePath:j,formatType:O,subjectTokenFieldName:w});else if(!j&&H)this.credentialSourceType="url",this.subjectTokenSupplier=new ra9.UrlSubjectTokenSupplier({url:H,formatType:O,subjectTokenFieldName:w,headers:J,additionalGaxiosOptions:ZT1.RETRY_CONFIG});else throw Error('No valid Identity Pool "credential_source" provided, must be either file or url.')}}async retrieveSubjectToken(){return this.subjectTokenSupplier.getSubjectToken(this.supplierContext)}}Ihq.IdentityPoolClient=ZT1});var TT1=m((ghq)=>{Object.defineProperty(ghq,"__esModule",{value:!0});ghq.AwsRequestSigner=void 0;var phq=KG6(),mhq="AWS4-HMAC-SHA256",oa9="aws4_request";class Bhq{constructor(q,K){this.getCredentials=q,this.region=K,this.crypto=(0,phq.createCrypto)()}async getRequestOptions(q){if(!q.url)throw Error('"url" is required in "amzOptions"');let K=typeof q.data==="object"?JSON.stringify(q.data):q.data,_=q.url,z=q.method||"GET",Y=q.body||K,$=q.headers,A=await this.getCredentials(),O=new URL(_),w=await sa9({crypto:this.crypto,host:O.host,canonicalUri:O.pathname,canonicalQuerystring:O.search.substr(1),method:z,region:this.region,securityCredentials:A,requestPayload:Y,additionalAmzHeaders:$}),j=Object.assign(w.amzDate?{"x-amz-date":w.amzDate}:{},{Authorization:w.authorizationHeader,host:O.host},$||{});if(A.token)Object.assign(j,{"x-amz-security-token":A.token});let H={url:_,method:z,headers:j};if(typeof Y<"u")H.body=Y;return H}}ghq.AwsRequestSigner=Bhq;async function Id6(q,K,_){return await q.signWithHmacSha256(K,_)}async function aa9(q,K,_,z,Y){let $=await Id6(q,`AWS4${K}`,_),A=await Id6(q,$,z),O=await Id6(q,A,Y);return await Id6(q,O,"aws4_request")}async function sa9(q){let K=q.additionalAmzHeaders||{},_=q.requestPayload||"",z=q.host.split(".")[0],Y=new Date,$=Y.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),A=Y.toISOString().replace(/[-]/g,"").replace(/T.*/,""),O={};if(Object.keys(K).forEach((Z)=>{O[Z.toLowerCase()]=K[Z]}),q.securityCredentials.token)O["x-amz-security-token"]=q.securityCredentials.token;let w=Object.assign({host:q.host},O.date?{}:{"x-amz-date":$},O),j="",H=Object.keys(w).sort();H.forEach((Z)=>{j+=`${Z}:${w[Z]} |
| 440 | `});let J=H.join(";"),M=await q.crypto.sha256DigestHex(_),X=`${q.method} |
| 441 | ${q.canonicalUri} |
no test coverage detected