auth/dist/main/index.js
Seth Vargo d16fd896f7
feat: allow opt-out of exporting environment variables (#157)
This allows users to opt-out of exporting environment variables. This might be helpful if they **don't** want future steps to be authenticated, or if the exported environment variables conflict with other values.
2022-03-24 16:02:18 -05:00

1 line
No EOL
144 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(()=>{var e={351:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){if(r===undefined)r=n;Object.defineProperty(e,r,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,r){if(r===undefined)r=n;e[r]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.hasOwnProperty.call(e,n))r(t,e,n);s(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const o=i(n(37));const a=n(278);function issueCommand(e,t,n){const r=new Command(e,t,n);process.stdout.write(r.toString()+o.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const c="::";class Command{constructor(e,t,n){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=n}toString(){let e=c+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const n in this.properties){if(this.properties.hasOwnProperty(n)){const r=this.properties[n];if(r){if(t){t=false}else{e+=","}e+=`${n}=${escapeProperty(r)}`}}}}e+=`${c}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){if(r===undefined)r=n;Object.defineProperty(e,r,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,r){if(r===undefined)r=n;e[r]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.hasOwnProperty.call(e,n))r(t,e,n);s(t,e);return t};var o=this&&this.__awaiter||function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=n(351);const c=n(717);const l=n(278);const u=i(n(37));const f=i(n(17));const d=n(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const n=l.toCommandValue(t);process.env[e]=n;const r=process.env["GITHUB_ENV"]||"";if(r){const t="_GitHubActionsFileCommandDelimeter_";const r=`${e}<<${t}${u.EOL}${n}${u.EOL}${t}`;c.issueCommand("ENV",r)}else{a.issueCommand("set-env",{name:e},n)}}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){c.issueCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${f.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const n=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!n){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return n}return n.trim()}t.getInput=getInput;function getMultilineInput(e,t){const n=getInput(e,t).split("\n").filter((e=>e!==""));return n}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const n=["true","True","TRUE"];const r=["false","False","FALSE"];const s=getInput(e,t);if(n.includes(s))return true;if(r.includes(s))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){process.stdout.write(u.EOL);a.issueCommand("set-output",{name:e},t)}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+u.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return o(this,void 0,void 0,(function*(){startGroup(e);let n;try{n=yield t()}finally{endGroup()}return n}))}t.group=group;function saveState(e,t){a.issueCommand("save-state",{name:e},t)}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return o(this,void 0,void 0,(function*(){return yield d.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken},717:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){if(r===undefined)r=n;Object.defineProperty(e,r,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,r){if(r===undefined)r=n;e[r]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.hasOwnProperty.call(e,n))r(t,e,n);s(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issueCommand=void 0;const o=i(n(147));const a=i(n(37));const c=n(278);function issueCommand(e,t){const n=process.env[`GITHUB_${e}`];if(!n){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!o.existsSync(n)){throw new Error(`Missing file at path: ${n}`)}o.appendFileSync(n,`${c.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueCommand=issueCommand},41:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const s=n(925);const i=n(702);const o=n(186);class OidcClient{static createHttpClient(e=true,t=10){const n={allowRetries:e,maxRetries:t};return new s.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],n)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return r(this,void 0,void 0,(function*(){const n=OidcClient.createHttpClient();const r=yield n.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const s=(t=r.result)===null||t===void 0?void 0:t.value;if(!s){throw new Error("Response json body do not have ID Token field")}return s}))}static getIDToken(e){return r(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const n=encodeURIComponent(e);t=`${t}&audience=${n}`}o.debug(`ID token url is ${t}`);const n=yield OidcClient.getCall(t);o.setSecret(n);return n}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},702:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){e.headers["Authorization"]="Basic "+Buffer.from(this.username+":"+this.password).toString("base64")}canHandleAuthentication(e){return false}handleAuthentication(e,t,n){return null}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){e.headers["Authorization"]="Bearer "+this.token}canHandleAuthentication(e){return false}handleAuthentication(e,t,n){return null}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){e.headers["Authorization"]="Basic "+Buffer.from("PAT:"+this.token).toString("base64")}canHandleAuthentication(e){return false}handleAuthentication(e,t,n){return null}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},925:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const r=n(685);const s=n(687);const i=n(443);let o;var a;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(a=t.HttpCodes||(t.HttpCodes={}));var c;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(c=t.Headers||(t.Headers={}));var l;(function(e){e["ApplicationJson"]="application/json"})(l=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){let t=i.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const u=[a.MovedPermanently,a.ResourceMoved,a.SeeOther,a.TemporaryRedirect,a.PermanentRedirect];const f=[a.BadGateway,a.ServiceUnavailable,a.GatewayTimeout];const d=["OPTIONS","GET","DELETE","HEAD"];const p=10;const h=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return new Promise((async(e,t)=>{let n=Buffer.alloc(0);this.message.on("data",(e=>{n=Buffer.concat([n,e])}));this.message.on("end",(()=>{e(n.toString())}))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){let t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,n){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=n;if(n){if(n.ignoreSslError!=null){this._ignoreSslError=n.ignoreSslError}this._socketTimeout=n.socketTimeout;if(n.allowRedirects!=null){this._allowRedirects=n.allowRedirects}if(n.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=n.allowRedirectDowngrade}if(n.maxRedirects!=null){this._maxRedirects=Math.max(n.maxRedirects,0)}if(n.keepAlive!=null){this._keepAlive=n.keepAlive}if(n.allowRetries!=null){this._allowRetries=n.allowRetries}if(n.maxRetries!=null){this._maxRetries=n.maxRetries}}}options(e,t){return this.request("OPTIONS",e,null,t||{})}get(e,t){return this.request("GET",e,null,t||{})}del(e,t){return this.request("DELETE",e,null,t||{})}post(e,t,n){return this.request("POST",e,t,n||{})}patch(e,t,n){return this.request("PATCH",e,t,n||{})}put(e,t,n){return this.request("PUT",e,t,n||{})}head(e,t){return this.request("HEAD",e,null,t||{})}sendStream(e,t,n,r){return this.request(e,t,n,r)}async getJson(e,t={}){t[c.Accept]=this._getExistingOrDefaultHeader(t,c.Accept,l.ApplicationJson);let n=await this.get(e,t);return this._processResponse(n,this.requestOptions)}async postJson(e,t,n={}){let r=JSON.stringify(t,null,2);n[c.Accept]=this._getExistingOrDefaultHeader(n,c.Accept,l.ApplicationJson);n[c.ContentType]=this._getExistingOrDefaultHeader(n,c.ContentType,l.ApplicationJson);let s=await this.post(e,r,n);return this._processResponse(s,this.requestOptions)}async putJson(e,t,n={}){let r=JSON.stringify(t,null,2);n[c.Accept]=this._getExistingOrDefaultHeader(n,c.Accept,l.ApplicationJson);n[c.ContentType]=this._getExistingOrDefaultHeader(n,c.ContentType,l.ApplicationJson);let s=await this.put(e,r,n);return this._processResponse(s,this.requestOptions)}async patchJson(e,t,n={}){let r=JSON.stringify(t,null,2);n[c.Accept]=this._getExistingOrDefaultHeader(n,c.Accept,l.ApplicationJson);n[c.ContentType]=this._getExistingOrDefaultHeader(n,c.ContentType,l.ApplicationJson);let s=await this.patch(e,r,n);return this._processResponse(s,this.requestOptions)}async request(e,t,n,r){if(this._disposed){throw new Error("Client has already been disposed.")}let s=new URL(t);let i=this._prepareRequest(e,s,r);let o=this._allowRetries&&d.indexOf(e)!=-1?this._maxRetries+1:1;let c=0;let l;while(c<o){l=await this.requestRaw(i,n);if(l&&l.message&&l.message.statusCode===a.Unauthorized){let e;for(let t=0;t<this.handlers.length;t++){if(this.handlers[t].canHandleAuthentication(l)){e=this.handlers[t];break}}if(e){return e.handleAuthentication(this,i,n)}else{return l}}let t=this._maxRedirects;while(u.indexOf(l.message.statusCode)!=-1&&this._allowRedirects&&t>0){const o=l.message.headers["location"];if(!o){break}let a=new URL(o);if(s.protocol=="https:"&&s.protocol!=a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}await l.readBody();if(a.hostname!==s.hostname){for(let e in r){if(e.toLowerCase()==="authorization"){delete r[e]}}}i=this._prepareRequest(e,a,r);l=await this.requestRaw(i,n);t--}if(f.indexOf(l.message.statusCode)==-1){return l}c+=1;if(c<o){await l.readBody();await this._performExponentialBackoff(c)}}return l}dispose(){if(this._agent){this._agent.destroy()}this._disposed=true}requestRaw(e,t){return new Promise(((n,r)=>{let callbackForResult=function(e,t){if(e){r(e)}n(t)};this.requestRawWithCallback(e,t,callbackForResult)}))}requestRawWithCallback(e,t,n){let r;if(typeof t==="string"){e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let s=false;let handleResult=(e,t)=>{if(!s){s=true;n(e,t)}};let i=e.httpModule.request(e.options,(e=>{let t=new HttpClientResponse(e);handleResult(null,t)}));i.on("socket",(e=>{r=e}));i.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error("Request timeout: "+e.options.path),null)}));i.on("error",(function(e){handleResult(e,null)}));if(t&&typeof t==="string"){i.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){i.end()}));t.pipe(i)}else{i.end()}}getAgent(e){let t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,n){const i={};i.parsedUrl=t;const o=i.parsedUrl.protocol==="https:";i.httpModule=o?s:r;const a=o?443:80;i.options={};i.options.host=i.parsedUrl.hostname;i.options.port=i.parsedUrl.port?parseInt(i.parsedUrl.port):a;i.options.path=(i.parsedUrl.pathname||"")+(i.parsedUrl.search||"");i.options.method=e;i.options.headers=this._mergeHeaders(n);if(this.userAgent!=null){i.options.headers["user-agent"]=this.userAgent}i.options.agent=this._getAgent(i.parsedUrl);if(this.handlers){this.handlers.forEach((e=>{e.prepareRequest(i.options)}))}return i}_mergeHeaders(e){const lowercaseKeys=e=>Object.keys(e).reduce(((t,n)=>(t[n.toLowerCase()]=e[n],t)),{});if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,n){const lowercaseKeys=e=>Object.keys(e).reduce(((t,n)=>(t[n.toLowerCase()]=e[n],t)),{});let r;if(this.requestOptions&&this.requestOptions.headers){r=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||r||n}_getAgent(e){let t;let a=i.getProxyUrl(e);let c=a&&a.hostname;if(this._keepAlive&&c){t=this._proxyAgent}if(this._keepAlive&&!c){t=this._agent}if(!!t){return t}const l=e.protocol==="https:";let u=100;if(!!this.requestOptions){u=this.requestOptions.maxSockets||r.globalAgent.maxSockets}if(c){if(!o){o=n(294)}const e={maxSockets:u,keepAlive:this._keepAlive,proxy:{...(a.username||a.password)&&{proxyAuth:`${a.username}:${a.password}`},host:a.hostname,port:a.port}};let r;const s=a.protocol==="https:";if(l){r=s?o.httpsOverHttps:o.httpsOverHttp}else{r=s?o.httpOverHttps:o.httpOverHttp}t=r(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:u};t=l?new s.Agent(e):new r.Agent(e);this._agent=t}if(!t){t=l?s.globalAgent:r.globalAgent}if(l&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){e=Math.min(p,e);const t=h*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}static dateTimeDeserializer(e,t){if(typeof t==="string"){let e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}async _processResponse(e,t){return new Promise((async(n,r)=>{const s=e.message.statusCode;const i={statusCode:s,result:null,headers:{}};if(s==a.NotFound){n(i)}let o;let c;try{c=await e.readBody();if(c&&c.length>0){if(t&&t.deserializeDates){o=JSON.parse(c,HttpClient.dateTimeDeserializer)}else{o=JSON.parse(c)}i.result=o}i.headers=e.message.headers}catch(e){}if(s>299){let e;if(o&&o.message){e=o.message}else if(c&&c.length>0){e=c}else{e="Failed request: ("+s+")"}let t=new HttpClientError(e,s);t.result=i.result;r(t)}else{n(i)}}))}}t.HttpClient=HttpClient},443:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getProxyUrl(e){let t=e.protocol==="https:";let n;if(checkBypass(e)){return n}let r;if(t){r=process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{r=process.env["http_proxy"]||process.env["HTTP_PROXY"]}if(r){n=new URL(r)}return n}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}let t=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!t){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}let r=[e.hostname.toUpperCase()];if(typeof n==="number"){r.push(`${r[0]}:${n}`)}for(let e of t.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(r.some((t=>t===e))){return true}}return false}t.checkBypass=checkBypass},308:(e,t,n)=>{(()=>{var t={497:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isExternalAccount=t.isServiceAccountKey=t.parseCredential=void 0;const r=n(976);const s=n(102);function parseCredential(e){e=(e||"").trim();if(!e){throw new Error(`Missing service account key JSON (got empty value)`)}if(!e.startsWith("{")){e=(0,s.fromBase64)(e)}try{const t=JSON.parse(e);return t}catch(e){const t=(0,r.errorMessage)(e);throw new SyntaxError(`Failed to parse service account key JSON credentials: ${t}`)}}t.parseCredential=parseCredential;function isServiceAccountKey(e){return e.type==="service_account"}t.isServiceAccountKey=isServiceAccountKey;function isExternalAccount(e){return e.type!=="external_account"}t.isExternalAccount=isExternalAccount;t["default"]={parseCredential:parseCredential,isServiceAccountKey:isServiceAccountKey,isExternalAccount:isExternalAccount}},962:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseCSV=void 0;function parseCSV(e){e=(e||"").trim();if(!e){return[]}const t=e.split(/(?<!\\),/gi);for(let e=0;e<t.length;e++){t[e]=t[e].trim().replace(/\\,/gi,",")}return t}t.parseCSV=parseCSV},102:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.fromBase64=t.toBase64=void 0;function toBase64(e){return Buffer.from(e).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}t.toBase64=toBase64;function fromBase64(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");while(t.length%4)t+="=";return Buffer.from(t,"base64").toString("utf8")}t.fromBase64=fromBase64},976:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.errorMessage=void 0;function errorMessage(e){if(!e)return"";let t=`${e}`;if(e instanceof Error){t=e.message}else if(typeof e==="object"){t=JSON.stringify(e)}const n=t.trim().replace("Error: ","").trim();if(!n)return"";if(n.length>1&&isUpper(n[0])&&!isUpper(n[1])){return n[0].toLowerCase()+n.slice(1)}return n}t.errorMessage=errorMessage;function isUpper(e){return e===e.toUpperCase()}},219:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.removeFile=t.writeSecureFile=t.isEmptyDir=void 0;const s=n(147);const i=n(976);function isEmptyDir(e){return r(this,void 0,void 0,(function*(){try{const t=yield s.promises.readdir(e);return t.length<=0}catch(e){return true}}))}t.isEmptyDir=isEmptyDir;function writeSecureFile(e,t){return r(this,void 0,void 0,(function*(){yield s.promises.writeFile(e,t,{mode:416,flag:"wx"});return e}))}t.writeSecureFile=writeSecureFile;function removeFile(e){return r(this,void 0,void 0,(function*(){try{yield s.promises.unlink(e);return true}catch(t){const n=(0,i.errorMessage)(t);if(n.toUpperCase().includes("ENOENT")){return false}throw new Error(`Failed to remove "${e}": ${n}`)}}))}t.removeFile=removeFile},546:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.parseGcloudIgnore=void 0;const s=n(147);const i=n(17);const o=n(976);function parseGcloudIgnore(e){return r(this,void 0,void 0,(function*(){const t=(0,i.dirname)(e);let n=[];try{n=(yield s.promises.readFile(e,{encoding:"utf-8"})).toString().split(/\r?\n/).filter(shouldKeepIgnoreLine).map((e=>e.trim()))}catch(e){const t=(0,o.errorMessage)(e);if(!t.toUpperCase().includes("ENOENT")){throw e}}for(let e=0;e<n.length;e++){const r=n[e];if(r.startsWith("#!include:")){const o=r.substring(10).trim();const a=(0,i.join)(t,o);const c=(yield s.promises.readFile(a,{encoding:"utf-8"})).toString().split(/\r?\n/).filter(shouldKeepIgnoreLine).map((e=>e.trim()));n.splice(e,1,...c);e+=c.length}}return n}))}t.parseGcloudIgnore=parseGcloudIgnore;function shouldKeepIgnoreLine(e){const t=(e||"").trim();if(t===""){return false}if(t.startsWith("#")&&!t.startsWith("#!")){return false}return true}},144:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){if(r===undefined)r=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,r,s)}:function(e,t,n,r){if(r===undefined)r=n;e[r]=t[n]});var s=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))r(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});s(n(497),t);s(n(962),t);s(n(102),t);s(n(976),t);s(n(219),t);s(n(546),t);s(n(575),t);s(n(570),t);s(n(816),t);s(n(596),t);s(n(324),t)},575:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.parseKVStringAndFile=t.parseKVYAML=t.parseKVJSON=t.parseKVFile=t.parseKVString=void 0;const s=r(n(603));const i=n(147);const o=n(976);function parseKVString(e){e=(e||"").trim();if(!e){return{}}const t={};const n=e.split(/(?<!\\)[,\n]/gi);for(let e=0;e<n.length;e++){const r=(n[e]||"").trim();if(!r){continue}const s=r.indexOf("=");if(!s||s===-1){throw new SyntaxError(`Failed to parse KEY=VALUE pair "${r}": missing "="`)}const i=r.slice(0,s).trim().replace(/\\([,\n])/gi,"$1");const o=r.slice(s+1).trim().replace(/\\([,\n])/gi,"$1");if(!i||!o){throw new SyntaxError(`Failed to parse KEY=VALUE pair "${r}": no value`)}t[i]=o}return t}t.parseKVString=parseKVString;function parseKVFile(e){try{const t=(0,i.readFileSync)(e,"utf-8");if(t&&t.trim()&&t.trim()[0]==="{"){return parseKVJSON(t)}return parseKVYAML(t)}catch(t){const n=(0,o.errorMessage)(t);throw new Error(`Failed to read file '${e}': ${n}`)}}t.parseKVFile=parseKVFile;function parseKVJSON(e){e=(e||"").trim();if(!e){return{}}try{const t=JSON.parse(e);const n={};for(const[e,r]of Object.entries(t)){if(typeof e!=="string"){throw new SyntaxError(`Failed to parse key "${e}", expected string, got ${typeof e}`)}if(e.trim()===""){throw new SyntaxError(`Failed to parse key "${e}", expected at least one character`)}if(typeof r!=="string"){const t=JSON.stringify(r);throw new SyntaxError(`Failed to parse value "${t}" for "${e}", expected string, got ${typeof r}`)}if(r.trim()===""){throw new SyntaxError(`Value for key "${e}" cannot be empty (got "${r}")`)}n[e]=r}return n}catch(e){const t=(0,o.errorMessage)(e);throw new Error(`Failed to parse KV pairs as JSON: ${t}`)}}t.parseKVJSON=parseKVJSON;function parseKVYAML(e){if(!e||e.trim().length===0){return{}}const t=s.default.parse(e);const n={};for(const[e,r]of Object.entries(t)){if(typeof e!=="string"||typeof r!=="string"){throw new SyntaxError(`env_vars_file must contain only KEY: VALUE strings. Error parsing key ${e} of type ${typeof e} with value ${r} of type ${typeof r}`)}n[e.trim()]=r.trim()}return n}t.parseKVYAML=parseKVYAML;function parseKVStringAndFile(e,t){e=(e||"").trim();t=(t||"").trim();let n={};if(t){const e=parseKVFile(t);n=Object.assign(Object.assign({},n),e)}if(e){const t=parseKVString(e);n=Object.assign(Object.assign({},n),t)}return n}t.parseKVStringAndFile=parseKVStringAndFile},570:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.randomFilepath=t.randomFilename=void 0;const r=n(17);const s=n(113);const i=n(37);function randomFilename(e=12){return(0,s.randomBytes)(e).toString("hex")}t.randomFilename=randomFilename;function randomFilepath(e=(0,i.tmpdir)(),t=12){return(0,r.join)(e,randomFilename(t))}t.randomFilepath=randomFilepath;t["default"]={randomFilename:randomFilename,randomFilepath:randomFilepath}},816:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseDuration=void 0;function parseDuration(e){e=(e||"").trim();if(!e){return 0}let t=0;let n="";for(let r=0;r<e.length;r++){const s=e[r];switch(s){case" ":continue;case",":continue;case"s":{t+=+n;n="";break}case"m":{t+=+n*60;n="";break}case"h":{t+=+n*60*60;n="";break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n+=s;break;default:throw new SyntaxError(`Unsupported character "${s}" at position ${r}`)}}if(n){t+=+n}return t}t.parseDuration=parseDuration},596:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.allOf=t.exactlyOneOf=t.presence=void 0;function presence(e){return(e||"").trim()||undefined}t.presence=presence;function exactlyOneOf(...e){e=e||[];let t=false;for(let n=0;n<e.length;n++){if(e[n]){if(t){return false}else{t=true}}}if(!t){return false}return true}t.exactlyOneOf=exactlyOneOf;function allOf(...e){e=e||[];for(let t=0;t<e.length;t++){if(!e[t])return false}return true}t.allOf=allOf},324:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.pinnedToHeadWarning=t.isPinnedToHead=void 0;function isPinnedToHead(){const e=process.env.GITHUB_ACTION_REF;return e==="master"||e==="main"}t.isPinnedToHead=isPinnedToHead;function pinnedToHeadWarning(e){const t=process.env.GITHUB_ACTION_REF;const n=process.env.GITHUB_ACTION_REPOSITORY;return`${n} is pinned at "${t}". We strongly advise against `+`pinning to "@${t}" as it may be unstable. Please update your `+`GitHub Action YAML from:\n`+`\n`+` uses: '${n}@${t}'\n`+`\n`+`to:\n`+`\n`+` uses: '${n}@${e}'\n`+`\n`+`Alternatively, you can pin to any git tag or git SHA in the repository.`}t.pinnedToHeadWarning=pinnedToHeadWarning},113:e=>{"use strict";e.exports=n(113)},147:e=>{"use strict";e.exports=n(147)},37:e=>{"use strict";e.exports=n(37)},17:e=>{"use strict";e.exports=n(17)},525:(e,t,n)=>{"use strict";var r=n(941);var s=n(914);var i=n(387);const o={anchorPrefix:"a",customTags:null,indent:2,indentSeq:true,keepCstNodes:false,keepNodeTypes:true,keepBlobsInJSON:true,mapAsMap:false,maxAliasCount:100,prettyErrors:false,simpleKeys:false,version:"1.2"};const a={get binary(){return s.binaryOptions},set binary(e){Object.assign(s.binaryOptions,e)},get bool(){return s.boolOptions},set bool(e){Object.assign(s.boolOptions,e)},get int(){return s.intOptions},set int(e){Object.assign(s.intOptions,e)},get null(){return s.nullOptions},set null(e){Object.assign(s.nullOptions,e)},get str(){return s.strOptions},set str(e){Object.assign(s.strOptions,e)}};const c={"1.0":{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:r.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:r.defaultTagPrefix}]},1.2:{schema:"core",merge:false,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:r.defaultTagPrefix}]}};function stringifyTag(e,t){if((e.version||e.options.version)==="1.0"){const e=t.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(e)return"!"+e[1];const n=t.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return n?`!${n[1]}/${n[2]}`:`!${t.replace(/^tag:/,"")}`}let n=e.tagPrefixes.find((e=>t.indexOf(e.prefix)===0));if(!n){const r=e.getDefaults().tagPrefixes;n=r&&r.find((e=>t.indexOf(e.prefix)===0))}if(!n)return t[0]==="!"?t:`!<${t}>`;const r=t.substr(n.prefix.length).replace(/[!,[\]{}]/g,(e=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[e])));return n.handle+r}function getTagObject(e,t){if(t instanceof s.Alias)return s.Alias;if(t.tag){const n=e.filter((e=>e.tag===t.tag));if(n.length>0)return n.find((e=>e.format===t.format))||n[0]}let n,r;if(t instanceof s.Scalar){r=t.value;const s=e.filter((e=>e.identify&&e.identify(r)||e.class&&r instanceof e.class));n=s.find((e=>e.format===t.format))||s.find((e=>!e.format))}else{r=t;n=e.find((e=>e.nodeClass&&r instanceof e.nodeClass))}if(!n){const e=r&&r.constructor?r.constructor.name:typeof r;throw new Error(`Tag not resolved for ${e} value`)}return n}function stringifyProps(e,t,{anchors:n,doc:r}){const s=[];const i=r.anchors.getName(e);if(i){n[i]=e;s.push(`&${i}`)}if(e.tag){s.push(stringifyTag(r,e.tag))}else if(!t.default){s.push(stringifyTag(r,t.tag))}return s.join(" ")}function stringify(e,t,n,r){const{anchors:i,schema:o}=t.doc;let a;if(!(e instanceof s.Node)){const t={aliasNodes:[],onTagObj:e=>a=e,prevObjects:new Map};e=o.createNode(e,true,null,t);for(const e of t.aliasNodes){e.source=e.source.node;let t=i.getName(e.source);if(!t){t=i.newName();i.map[t]=e.source}}}if(e instanceof s.Pair)return e.toString(t,n,r);if(!a)a=getTagObject(o.tags,e);const c=stringifyProps(e,a,t);if(c.length>0)t.indentAtStart=(t.indentAtStart||0)+c.length+1;const l=typeof a.stringify==="function"?a.stringify(e,t,n,r):e instanceof s.Scalar?s.stringifyString(e,t,n,r):e.toString(t,n,r);if(!c)return l;return e instanceof s.Scalar||l[0]==="{"||l[0]==="["?`${c} ${l}`:`${c}\n${t.indent}${l}`}class Anchors{static validAnchorNode(e){return e instanceof s.Scalar||e instanceof s.YAMLSeq||e instanceof s.YAMLMap}constructor(e){r._defineProperty(this,"map",Object.create(null));this.prefix=e}createAlias(e,t){this.setAnchor(e,t);return new s.Alias(e)}createMergePair(...e){const t=new s.Merge;t.value.items=e.map((e=>{if(e instanceof s.Alias){if(e.source instanceof s.YAMLMap)return e}else if(e instanceof s.YAMLMap){return this.createAlias(e)}throw new Error("Merge sources must be Map nodes or their Aliases")}));return t}getName(e){const{map:t}=this;return Object.keys(t).find((n=>t[n]===e))}getNames(){return Object.keys(this.map)}getNode(e){return this.map[e]}newName(e){if(!e)e=this.prefix;const t=Object.keys(this.map);for(let n=1;true;++n){const r=`${e}${n}`;if(!t.includes(r))return r}}resolveNodes(){const{map:e,_cstAliases:t}=this;Object.keys(e).forEach((t=>{e[t]=e[t].resolved}));t.forEach((e=>{e.source=e.source.resolved}));delete this._cstAliases}setAnchor(e,t){if(e!=null&&!Anchors.validAnchorNode(e)){throw new Error("Anchors may only be set for Scalar, Seq and Map nodes")}if(t&&/[\x00-\x19\s,[\]{}]/.test(t)){throw new Error("Anchor names must not contain whitespace or control characters")}const{map:n}=this;const r=e&&Object.keys(n).find((t=>n[t]===e));if(r){if(!t){return r}else if(r!==t){delete n[r];n[t]=e}}else{if(!t){if(!e)return null;t=this.newName()}n[t]=e}return t}}const visit=(e,t)=>{if(e&&typeof e==="object"){const{tag:n}=e;if(e instanceof s.Collection){if(n)t[n]=true;e.items.forEach((e=>visit(e,t)))}else if(e instanceof s.Pair){visit(e.key,t);visit(e.value,t)}else if(e instanceof s.Scalar){if(n)t[n]=true}}return t};const listTagNames=e=>Object.keys(visit(e,{}));function parseContents(e,t){const n={before:[],after:[]};let i=undefined;let o=false;for(const a of t){if(a.valueRange){if(i!==undefined){const t="Document contains trailing content not separated by a ... or --- line";e.errors.push(new r.YAMLSyntaxError(a,t));break}const t=s.resolveNode(e,a);if(o){t.spaceBefore=true;o=false}i=t}else if(a.comment!==null){const e=i===undefined?n.before:n.after;e.push(a.comment)}else if(a.type===r.Type.BLANK_LINE){o=true;if(i===undefined&&n.before.length>0&&!e.commentBefore){e.commentBefore=n.before.join("\n");n.before=[]}}}e.contents=i||null;if(!i){e.comment=n.before.concat(n.after).join("\n")||null}else{const t=n.before.join("\n");if(t){const e=i instanceof s.Collection&&i.items[0]?i.items[0]:i;e.commentBefore=e.commentBefore?`${t}\n${e.commentBefore}`:t}e.comment=n.after.join("\n")||null}}function resolveTagDirective({tagPrefixes:e},t){const[n,s]=t.parameters;if(!n||!s){const e="Insufficient parameters given for %TAG directive";throw new r.YAMLSemanticError(t,e)}if(e.some((e=>e.handle===n))){const e="The %TAG directive must only be given at most once per handle in the same document.";throw new r.YAMLSemanticError(t,e)}return{handle:n,prefix:s}}function resolveYamlDirective(e,t){let[n]=t.parameters;if(t.name==="YAML:1.0")n="1.0";if(!n){const e="Insufficient parameters given for %YAML directive";throw new r.YAMLSemanticError(t,e)}if(!c[n]){const s=e.version||e.options.version;const i=`Document will be parsed as YAML ${s} rather than YAML ${n}`;e.warnings.push(new r.YAMLWarning(t,i))}return n}function parseDirectives(e,t,n){const s=[];let i=false;for(const n of t){const{comment:o,name:a}=n;switch(a){case"TAG":try{e.tagPrefixes.push(resolveTagDirective(e,n))}catch(t){e.errors.push(t)}i=true;break;case"YAML":case"YAML:1.0":if(e.version){const t="The %YAML directive must only be given at most once per document.";e.errors.push(new r.YAMLSemanticError(n,t))}try{e.version=resolveYamlDirective(e,n)}catch(t){e.errors.push(t)}i=true;break;default:if(a){const t=`YAML only supports %TAG and %YAML directives, and not %${a}`;e.warnings.push(new r.YAMLWarning(n,t))}}if(o)s.push(o)}if(n&&!i&&"1.1"===(e.version||n.version||e.options.version)){const copyTagPrefix=({handle:e,prefix:t})=>({handle:e,prefix:t});e.tagPrefixes=n.tagPrefixes.map(copyTagPrefix);e.version=n.version}e.commentBefore=s.join("\n")||null}function assertCollection(e){if(e instanceof s.Collection)return true;throw new Error("Expected a YAML collection as document contents")}class Document{constructor(e){this.anchors=new Anchors(e.anchorPrefix);this.commentBefore=null;this.comment=null;this.contents=null;this.directivesEndMarker=null;this.errors=[];this.options=e;this.schema=null;this.tagPrefixes=[];this.version=null;this.warnings=[]}add(e){assertCollection(this.contents);return this.contents.add(e)}addIn(e,t){assertCollection(this.contents);this.contents.addIn(e,t)}delete(e){assertCollection(this.contents);return this.contents.delete(e)}deleteIn(e){if(s.isEmptyPath(e)){if(this.contents==null)return false;this.contents=null;return true}assertCollection(this.contents);return this.contents.deleteIn(e)}getDefaults(){return Document.defaults[this.version]||Document.defaults[this.options.version]||{}}get(e,t){return this.contents instanceof s.Collection?this.contents.get(e,t):undefined}getIn(e,t){if(s.isEmptyPath(e))return!t&&this.contents instanceof s.Scalar?this.contents.value:this.contents;return this.contents instanceof s.Collection?this.contents.getIn(e,t):undefined}has(e){return this.contents instanceof s.Collection?this.contents.has(e):false}hasIn(e){if(s.isEmptyPath(e))return this.contents!==undefined;return this.contents instanceof s.Collection?this.contents.hasIn(e):false}set(e,t){assertCollection(this.contents);this.contents.set(e,t)}setIn(e,t){if(s.isEmptyPath(e))this.contents=t;else{assertCollection(this.contents);this.contents.setIn(e,t)}}setSchema(e,t){if(!e&&!t&&this.schema)return;if(typeof e==="number")e=e.toFixed(1);if(e==="1.0"||e==="1.1"||e==="1.2"){if(this.version)this.version=e;else this.options.version=e;delete this.options.schema}else if(e&&typeof e==="string"){this.options.schema=e}if(Array.isArray(t))this.options.customTags=t;const n=Object.assign({},this.getDefaults(),this.options);this.schema=new i.Schema(n)}parse(e,t){if(this.options.keepCstNodes)this.cstNode=e;if(this.options.keepNodeTypes)this.type="DOCUMENT";const{directives:n=[],contents:s=[],directivesEndMarker:i,error:o,valueRange:a}=e;if(o){if(!o.source)o.source=this;this.errors.push(o)}parseDirectives(this,n,t);if(i)this.directivesEndMarker=true;this.range=a?[a.start,a.end]:null;this.setSchema();this.anchors._cstAliases=[];parseContents(this,s);this.anchors.resolveNodes();if(this.options.prettyErrors){for(const e of this.errors)if(e instanceof r.YAMLError)e.makePretty();for(const e of this.warnings)if(e instanceof r.YAMLError)e.makePretty()}return this}listNonDefaultTags(){return listTagNames(this.contents).filter((e=>e.indexOf(i.Schema.defaultPrefix)!==0))}setTagPrefix(e,t){if(e[0]!=="!"||e[e.length-1]!=="!")throw new Error("Handle must start and end with !");if(t){const n=this.tagPrefixes.find((t=>t.handle===e));if(n)n.prefix=t;else this.tagPrefixes.push({handle:e,prefix:t})}else{this.tagPrefixes=this.tagPrefixes.filter((t=>t.handle!==e))}}toJSON(e,t){const{keepBlobsInJSON:n,mapAsMap:r,maxAliasCount:i}=this.options;const o=n&&(typeof e!=="string"||!(this.contents instanceof s.Scalar));const a={doc:this,indentStep:" ",keep:o,mapAsMap:o&&!!r,maxAliasCount:i,stringify:stringify};const c=Object.keys(this.anchors.map);if(c.length>0)a.anchors=new Map(c.map((e=>[this.anchors.map[e],{alias:[],aliasCount:0,count:1}])));const l=s.toJSON(this.contents,e,a);if(typeof t==="function"&&a.anchors)for(const{count:e,res:n}of a.anchors.values())t(n,e);return l}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const e=this.options.indent;if(!Number.isInteger(e)||e<=0){const t=JSON.stringify(e);throw new Error(`"indent" option must be a positive integer, not ${t}`)}this.setSchema();const t=[];let n=false;if(this.version){let e="%YAML 1.2";if(this.schema.name==="yaml-1.1"){if(this.version==="1.0")e="%YAML:1.0";else if(this.version==="1.1")e="%YAML 1.1"}t.push(e);n=true}const r=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:e,prefix:s})=>{if(r.some((e=>e.indexOf(s)===0))){t.push(`%TAG ${e} ${s}`);n=true}}));if(n||this.directivesEndMarker)t.push("---");if(this.commentBefore){if(n||!this.directivesEndMarker)t.unshift("");t.unshift(this.commentBefore.replace(/^/gm,"#"))}const i={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(e),stringify:stringify};let o=false;let a=null;if(this.contents){if(this.contents instanceof s.Node){if(this.contents.spaceBefore&&(n||this.directivesEndMarker))t.push("");if(this.contents.commentBefore)t.push(this.contents.commentBefore.replace(/^/gm,"#"));i.forceBlockIndent=!!this.comment;a=this.contents.comment}const e=a?null:()=>o=true;const r=stringify(this.contents,i,(()=>a=null),e);t.push(s.addComment(r,"",a))}else if(this.contents!==undefined){t.push(stringify(this.contents,i))}if(this.comment){if((!o||a)&&t[t.length-1]!=="")t.push("");t.push(this.comment.replace(/^/gm,"#"))}return t.join("\n")+"\n"}}r._defineProperty(Document,"defaults",c);t.Document=Document;t.defaultOptions=o;t.scalarOptions=a},941:(e,t)=>{"use strict";const n={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."};const r={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"};const s="tag:yaml.org,2002:";const i={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function findLineStarts(e){const t=[0];let n=e.indexOf("\n");while(n!==-1){n+=1;t.push(n);n=e.indexOf("\n",n)}return t}function getSrcInfo(e){let t,n;if(typeof e==="string"){t=findLineStarts(e);n=e}else{if(Array.isArray(e))e=e[0];if(e&&e.context){if(!e.lineStarts)e.lineStarts=findLineStarts(e.context.src);t=e.lineStarts;n=e.context.src}}return{lineStarts:t,src:n}}function getLinePos(e,t){if(typeof e!=="number"||e<0)return null;const{lineStarts:n,src:r}=getSrcInfo(t);if(!n||!r||e>r.length)return null;for(let t=0;t<n.length;++t){const r=n[t];if(e<r){return{line:t,col:e-n[t-1]+1}}if(e===r)return{line:t+1,col:1}}const s=n.length;return{line:s,col:e-n[s-1]+1}}function getLine(e,t){const{lineStarts:n,src:r}=getSrcInfo(t);if(!n||!(e>=1)||e>n.length)return null;const s=n[e-1];let i=n[e];while(i&&i>s&&r[i-1]==="\n")--i;return r.slice(s,i)}function getPrettyContext({start:e,end:t},n,r=80){let s=getLine(e.line,n);if(!s)return null;let{col:i}=e;if(s.length>r){if(i<=r-10){s=s.substr(0,r-1)+"…"}else{const e=Math.round(r/2);if(s.length>i+e)s=s.substr(0,i+e-1)+"…";i-=s.length-r;s="…"+s.substr(1-r)}}let o=1;let a="";if(t){if(t.line===e.line&&i+(t.col-e.col)<=r+1){o=t.col-e.col}else{o=Math.min(s.length+1,r)-i;a="…"}}const c=i>1?" ".repeat(i-1):"";const l="^".repeat(o);return`${s}\n${c}${l}${a}`}class Range{static copy(e){return new Range(e.start,e.end)}constructor(e,t){this.start=e;this.end=t||e}isEmpty(){return typeof this.start!=="number"||!this.end||this.end<=this.start}setOrigRange(e,t){const{start:n,end:r}=this;if(e.length===0||r<=e[0]){this.origStart=n;this.origEnd=r;return t}let s=t;while(s<e.length){if(e[s]>n)break;else++s}this.origStart=n+s;const i=s;while(s<e.length){if(e[s]>=r)break;else++s}this.origEnd=r+s;return i}}class Node{static addStringTerminator(e,t,n){if(n[n.length-1]==="\n")return n;const r=Node.endOfWhiteSpace(e,t);return r>=e.length||e[r]==="\n"?n+"\n":n}static atDocumentBoundary(e,t,r){const s=e[t];if(!s)return true;const i=e[t-1];if(i&&i!=="\n")return false;if(r){if(s!==r)return false}else{if(s!==n.DIRECTIVES_END&&s!==n.DOCUMENT_END)return false}const o=e[t+1];const a=e[t+2];if(o!==s||a!==s)return false;const c=e[t+3];return!c||c==="\n"||c==="\t"||c===" "}static endOfIdentifier(e,t){let n=e[t];const r=n==="<";const s=r?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];while(n&&s.indexOf(n)===-1)n=e[t+=1];if(r&&n===">")t+=1;return t}static endOfIndent(e,t){let n=e[t];while(n===" ")n=e[t+=1];return t}static endOfLine(e,t){let n=e[t];while(n&&n!=="\n")n=e[t+=1];return t}static endOfWhiteSpace(e,t){let n=e[t];while(n==="\t"||n===" ")n=e[t+=1];return t}static startOfLine(e,t){let n=e[t-1];if(n==="\n")return t;while(n&&n!=="\n")n=e[t-=1];return t+1}static endOfBlockIndent(e,t,n){const r=Node.endOfIndent(e,n);if(r>n+t){return r}else{const t=Node.endOfWhiteSpace(e,r);const n=e[t];if(!n||n==="\n")return t}return null}static atBlank(e,t,n){const r=e[t];return r==="\n"||r==="\t"||r===" "||n&&!r}static nextNodeIsIndented(e,t,n){if(!e||t<0)return false;if(t>0)return true;return n&&e==="-"}static normalizeOffset(e,t){const n=e[t];return!n?t:n!=="\n"&&e[t-1]==="\n"?t-1:Node.endOfWhiteSpace(e,t)}static foldNewline(e,t,n){let r=0;let s=false;let i="";let o=e[t+1];while(o===" "||o==="\t"||o==="\n"){switch(o){case"\n":r=0;t+=1;i+="\n";break;case"\t":if(r<=n)s=true;t=Node.endOfWhiteSpace(e,t+2)-1;break;case" ":r+=1;t+=1;break}o=e[t+1]}if(!i)i=" ";if(o&&r<=n)s=true;return{fold:i,offset:t,error:s}}constructor(e,t,n){Object.defineProperty(this,"context",{value:n||null,writable:true});this.error=null;this.range=null;this.valueRange=null;this.props=t||[];this.type=e;this.value=null}getPropValue(e,t,n){if(!this.context)return null;const{src:r}=this.context;const s=this.props[e];return s&&r[s.start]===t?r.slice(s.start+(n?1:0),s.end):null}get anchor(){for(let e=0;e<this.props.length;++e){const t=this.getPropValue(e,n.ANCHOR,true);if(t!=null)return t}return null}get comment(){const e=[];for(let t=0;t<this.props.length;++t){const r=this.getPropValue(t,n.COMMENT,true);if(r!=null)e.push(r)}return e.length>0?e.join("\n"):null}commentHasRequiredWhitespace(e){const{src:t}=this.context;if(this.header&&e===this.header.end)return false;if(!this.valueRange)return false;const{end:n}=this.valueRange;return e!==n||Node.atBlank(t,n-1)}get hasComment(){if(this.context){const{src:e}=this.context;for(let t=0;t<this.props.length;++t){if(e[this.props[t].start]===n.COMMENT)return true}}return false}get hasProps(){if(this.context){const{src:e}=this.context;for(let t=0;t<this.props.length;++t){if(e[this.props[t].start]!==n.COMMENT)return true}}return false}get includesTrailingLines(){return false}get jsonLike(){const e=[r.FLOW_MAP,r.FLOW_SEQ,r.QUOTE_DOUBLE,r.QUOTE_SINGLE];return e.indexOf(this.type)!==-1}get rangeAsLinePos(){if(!this.range||!this.context)return undefined;const e=getLinePos(this.range.start,this.context.root);if(!e)return undefined;const t=getLinePos(this.range.end,this.context.root);return{start:e,end:t}}get rawValue(){if(!this.valueRange||!this.context)return null;const{start:e,end:t}=this.valueRange;return this.context.src.slice(e,t)}get tag(){for(let e=0;e<this.props.length;++e){const t=this.getPropValue(e,n.TAG,false);if(t!=null){if(t[1]==="<"){return{verbatim:t.slice(2,-1)}}else{const[e,n,r]=t.match(/^(.*!)([^!]*)$/);return{handle:n,suffix:r}}}}return null}get valueRangeContainsNewline(){if(!this.valueRange||!this.context)return false;const{start:e,end:t}=this.valueRange;const{src:n}=this.context;for(let r=e;r<t;++r){if(n[r]==="\n")return true}return false}parseComment(e){const{src:t}=this.context;if(t[e]===n.COMMENT){const n=Node.endOfLine(t,e+1);const r=new Range(e,n);this.props.push(r);return n}return e}setOrigRanges(e,t){if(this.range)t=this.range.setOrigRange(e,t);if(this.valueRange)this.valueRange.setOrigRange(e,t);this.props.forEach((n=>n.setOrigRange(e,t)));return t}toString(){const{context:{src:e},range:t,value:n}=this;if(n!=null)return n;const r=e.slice(t.start,t.end);return Node.addStringTerminator(e,t.end,r)}}class YAMLError extends Error{constructor(e,t,n){if(!n||!(t instanceof Node))throw new Error(`Invalid arguments for new ${e}`);super();this.name=e;this.message=n;this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const e=this.source.context&&this.source.context.root;if(typeof this.offset==="number"){this.range=new Range(this.offset,this.offset+1);const t=e&&getLinePos(this.offset,e);if(t){const e={line:t.line,col:t.col+1};this.linePos={start:t,end:e}}delete this.offset}else{this.range=this.source.range;this.linePos=this.source.rangeAsLinePos}if(this.linePos){const{line:t,col:n}=this.linePos.start;this.message+=` at line ${t}, column ${n}`;const r=e&&getPrettyContext(this.linePos,e);if(r)this.message+=`:\n\n${r}\n`}delete this.source}}class YAMLReferenceError extends YAMLError{constructor(e,t){super("YAMLReferenceError",e,t)}}class YAMLSemanticError extends YAMLError{constructor(e,t){super("YAMLSemanticError",e,t)}}class YAMLSyntaxError extends YAMLError{constructor(e,t){super("YAMLSyntaxError",e,t)}}class YAMLWarning extends YAMLError{constructor(e,t){super("YAMLWarning",e,t)}}function _defineProperty(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}class PlainValue extends Node{static endOfLine(e,t,n){let r=e[t];let s=t;while(r&&r!=="\n"){if(n&&(r==="["||r==="]"||r==="{"||r==="}"||r===","))break;const t=e[s+1];if(r===":"&&(!t||t==="\n"||t==="\t"||t===" "||n&&t===","))break;if((r===" "||r==="\t")&&t==="#")break;s+=1;r=t}return s}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{src:n}=this.context;let r=n[t-1];while(e<t&&(r==="\n"||r==="\t"||r===" "))r=n[--t-1];let s="";for(let r=e;r<t;++r){const e=n[r];if(e==="\n"){const{fold:e,offset:t}=Node.foldNewline(n,r,-1);s+=e;r=t}else if(e===" "||e==="\t"){const i=r;let o=n[r+1];while(r<t&&(o===" "||o==="\t")){r+=1;o=n[r+1]}if(o!=="\n")s+=r>i?n.slice(i,r+1):e}else{s+=e}}const i=n[e];switch(i){case"\t":{const e="Plain value cannot start with a tab character";const t=[new YAMLSemanticError(this,e)];return{errors:t,str:s}}case"@":case"`":{const e=`Plain value cannot start with reserved character ${i}`;const t=[new YAMLSemanticError(this,e)];return{errors:t,str:s}}default:return s}}parseBlockValue(e){const{indent:t,inFlow:n,src:r}=this.context;let s=e;let i=e;for(let e=r[s];e==="\n";e=r[s]){if(Node.atDocumentBoundary(r,s+1))break;const e=Node.endOfBlockIndent(r,t,s+1);if(e===null||r[e]==="#")break;if(r[e]==="\n"){s=e}else{i=PlainValue.endOfLine(r,e,n);s=i}}if(this.valueRange.isEmpty())this.valueRange.start=e;this.valueRange.end=i;return i}parse(e,t){this.context=e;const{inFlow:n,src:r}=e;let s=t;const i=r[s];if(i&&i!=="#"&&i!=="\n"){s=PlainValue.endOfLine(r,t,n)}this.valueRange=new Range(t,s);s=Node.endOfWhiteSpace(r,s);s=this.parseComment(s);if(!this.hasComment||this.valueRange.isEmpty()){s=this.parseBlockValue(s)}return s}}t.Char=n;t.Node=Node;t.PlainValue=PlainValue;t.Range=Range;t.Type=r;t.YAMLError=YAMLError;t.YAMLReferenceError=YAMLReferenceError;t.YAMLSemanticError=YAMLSemanticError;t.YAMLSyntaxError=YAMLSyntaxError;t.YAMLWarning=YAMLWarning;t._defineProperty=_defineProperty;t.defaultTagPrefix=s;t.defaultTags=i},387:(e,t,n)=>{"use strict";var r=n(941);var s=n(914);var i=n(130);function createMap(e,t,n){const r=new s.YAMLMap(e);if(t instanceof Map){for(const[s,i]of t)r.items.push(e.createPair(s,i,n))}else if(t&&typeof t==="object"){for(const s of Object.keys(t))r.items.push(e.createPair(s,t[s],n))}if(typeof e.sortMapEntries==="function"){r.items.sort(e.sortMapEntries)}return r}const o={createNode:createMap,default:true,nodeClass:s.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:s.resolveMap};function createSeq(e,t,n){const r=new s.YAMLSeq(e);if(t&&t[Symbol.iterator]){for(const s of t){const t=e.createNode(s,n.wrapScalars,null,n);r.items.push(t)}}return r}const a={createNode:createSeq,default:true,nodeClass:s.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:s.resolveSeq};const c={identify:e=>typeof e==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:s.resolveString,stringify(e,t,n,r){t=Object.assign({actualString:true},t);return s.stringifyString(e,t,n,r)},options:s.strOptions};const l=[o,a,c];const intIdentify$2=e=>typeof e==="bigint"||Number.isInteger(e);const intResolve$1=(e,t,n)=>s.intOptions.asBigInt?BigInt(e):parseInt(t,n);function intStringify$1(e,t,n){const{value:r}=e;if(intIdentify$2(r)&&r>=0)return n+r.toString(t);return s.stringifyNumber(e)}const u={identify:e=>e==null,createNode:(e,t,n)=>n.wrapScalars?new s.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:s.nullOptions,stringify:()=>s.nullOptions.nullStr};const f={identify:e=>typeof e==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>e[0]==="t"||e[0]==="T",options:s.boolOptions,stringify:({value:e})=>e?s.boolOptions.trueStr:s.boolOptions.falseStr};const d={identify:e=>intIdentify$2(e)&&e>=0,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(e,t)=>intResolve$1(e,t,8),options:s.intOptions,stringify:e=>intStringify$1(e,8,"0o")};const p={identify:intIdentify$2,default:true,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:e=>intResolve$1(e,e,10),options:s.intOptions,stringify:s.stringifyNumber};const h={identify:e=>intIdentify$2(e)&&e>=0,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(e,t)=>intResolve$1(e,t,16),options:s.intOptions,stringify:e=>intStringify$1(e,16,"0x")};const g={identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:s.stringifyNumber};const m={identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify:({value:e})=>Number(e).toExponential()};const y={identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(e,t,n){const r=t||n;const i=new s.Scalar(parseFloat(e));if(r&&r[r.length-1]==="0")i.minFractionDigits=r.length;return i},stringify:s.stringifyNumber};const v=l.concat([u,f,d,p,h,g,m,y]);const intIdentify$1=e=>typeof e==="bigint"||Number.isInteger(e);const stringifyJSON=({value:e})=>JSON.stringify(e);const w=[o,a,{identify:e=>typeof e==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:s.resolveString,stringify:stringifyJSON},{identify:e=>e==null,createNode:(e,t,n)=>n.wrapScalars?new s.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:stringifyJSON},{identify:e=>typeof e==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:e=>e==="true",stringify:stringifyJSON},{identify:intIdentify$1,default:true,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:e=>s.intOptions.asBigInt?BigInt(e):parseInt(e,10),stringify:({value:e})=>intIdentify$1(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:stringifyJSON}];w.scalarFallback=e=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(e)}`)};const boolStringify=({value:e})=>e?s.boolOptions.trueStr:s.boolOptions.falseStr;const intIdentify=e=>typeof e==="bigint"||Number.isInteger(e);function intResolve(e,t,n){let r=t.replace(/_/g,"");if(s.intOptions.asBigInt){switch(n){case 2:r=`0b${r}`;break;case 8:r=`0o${r}`;break;case 16:r=`0x${r}`;break}const t=BigInt(r);return e==="-"?BigInt(-1)*t:t}const i=parseInt(r,n);return e==="-"?-1*i:i}function intStringify(e,t,n){const{value:r}=e;if(intIdentify(r)){const e=r.toString(t);return r<0?"-"+n+e.substr(1):n+e}return s.stringifyNumber(e)}const S=l.concat([{identify:e=>e==null,createNode:(e,t,n)=>n.wrapScalars?new s.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:s.nullOptions,stringify:()=>s.nullOptions.nullStr},{identify:e=>typeof e==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>true,options:s.boolOptions,stringify:boolStringify},{identify:e=>typeof e==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>false,options:s.boolOptions,stringify:boolStringify},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(e,t,n)=>intResolve(t,n,2),stringify:e=>intStringify(e,2,"0b")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(e,t,n)=>intResolve(t,n,8),stringify:e=>intStringify(e,8,"0")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(e,t,n)=>intResolve(t,n,10),stringify:s.stringifyNumber},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(e,t,n)=>intResolve(t,n,16),stringify:e=>intStringify(e,16,"0x")},{identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:s.stringifyNumber},{identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify:({value:e})=>Number(e).toExponential()},{identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(e,t){const n=new s.Scalar(parseFloat(e.replace(/_/g,"")));if(t){const e=t.replace(/_/g,"");if(e[e.length-1]==="0")n.minFractionDigits=e.length}return n},stringify:s.stringifyNumber}],i.binary,i.omap,i.pairs,i.set,i.intTime,i.floatTime,i.timestamp);const O={core:v,failsafe:l,json:w,yaml11:S};const E={binary:i.binary,bool:f,float:y,floatExp:m,floatNaN:g,floatTime:i.floatTime,int:p,intHex:h,intOct:d,intTime:i.intTime,map:o,null:u,omap:i.omap,pairs:i.pairs,seq:a,set:i.set,timestamp:i.timestamp};function findTagObject(e,t,n){if(t){const e=n.filter((e=>e.tag===t));const r=e.find((e=>!e.format))||e[0];if(!r)throw new Error(`Tag ${t} not found`);return r}return n.find((t=>(t.identify&&t.identify(e)||t.class&&e instanceof t.class)&&!t.format))}function createNode(e,t,n){if(e instanceof s.Node)return e;const{defaultPrefix:r,onTagObj:i,prevObjects:c,schema:l,wrapScalars:u}=n;if(t&&t.startsWith("!!"))t=r+t.slice(2);let f=findTagObject(e,t,l.tags);if(!f){if(typeof e.toJSON==="function")e=e.toJSON();if(!e||typeof e!=="object")return u?new s.Scalar(e):e;f=e instanceof Map?o:e[Symbol.iterator]?a:o}if(i){i(f);delete n.onTagObj}const d={value:undefined,node:undefined};if(e&&typeof e==="object"&&c){const t=c.get(e);if(t){const e=new s.Alias(t);n.aliasNodes.push(e);return e}d.value=e;c.set(e,d)}d.node=f.createNode?f.createNode(n.schema,e,n):u?new s.Scalar(e):e;if(t&&d.node instanceof s.Node)d.node.tag=t;return d.node}function getSchemaTags(e,t,n,r){let s=e[r.replace(/\W/g,"")];if(!s){const t=Object.keys(e).map((e=>JSON.stringify(e))).join(", ");throw new Error(`Unknown schema "${r}"; use one of ${t}`)}if(Array.isArray(n)){for(const e of n)s=s.concat(e)}else if(typeof n==="function"){s=n(s.slice())}for(let e=0;e<s.length;++e){const n=s[e];if(typeof n==="string"){const r=t[n];if(!r){const e=Object.keys(t).map((e=>JSON.stringify(e))).join(", ");throw new Error(`Unknown custom tag "${n}"; use one of ${e}`)}s[e]=r}}return s}const sortMapEntriesByKey=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;class Schema{constructor({customTags:e,merge:t,schema:n,sortMapEntries:r,tags:s}){this.merge=!!t;this.name=n;this.sortMapEntries=r===true?sortMapEntriesByKey:r||null;if(!e&&s)i.warnOptionDeprecation("tags","customTags");this.tags=getSchemaTags(O,E,e||s,n)}createNode(e,t,n,r){const s={defaultPrefix:Schema.defaultPrefix,schema:this,wrapScalars:t};const i=r?Object.assign(r,s):s;return createNode(e,n,i)}createPair(e,t,n){if(!n)n={wrapScalars:true};const r=this.createNode(e,n.wrapScalars,null,n);const i=this.createNode(t,n.wrapScalars,null,n);return new s.Pair(r,i)}}r._defineProperty(Schema,"defaultPrefix",r.defaultTagPrefix);r._defineProperty(Schema,"defaultTags",r.defaultTags);t.Schema=Schema},83:(e,t,n)=>{"use strict";var r=n(611);var s=n(525);var i=n(387);var o=n(941);var a=n(130);n(914);function createNode(e,t=true,n){if(n===undefined&&typeof t==="string"){n=t;t=true}const r=Object.assign({},s.Document.defaults[s.defaultOptions.version],s.defaultOptions);const o=new i.Schema(r);return o.createNode(e,t,n)}class Document extends s.Document{constructor(e){super(Object.assign({},s.defaultOptions,e))}}function parseAllDocuments(e,t){const n=[];let s;for(const i of r.parse(e)){const e=new Document(t);e.parse(i,s);n.push(e);s=e}return n}function parseDocument(e,t){const n=r.parse(e);const s=new Document(t).parse(n[0]);if(n.length>1){const e="Source contains multiple documents; please use YAML.parseAllDocuments()";s.errors.unshift(new o.YAMLSemanticError(n[1],e))}return s}function parse(e,t){const n=parseDocument(e,t);n.warnings.forEach((e=>a.warn(e)));if(n.errors.length>0)throw n.errors[0];return n.toJSON()}function stringify(e,t){const n=new Document(t);n.contents=e;return String(n)}const c={createNode:createNode,defaultOptions:s.defaultOptions,Document:Document,parse:parse,parseAllDocuments:parseAllDocuments,parseCST:r.parse,parseDocument:parseDocument,scalarOptions:s.scalarOptions,stringify:stringify};t.YAML=c},611:(e,t,n)=>{"use strict";var r=n(941);class BlankLine extends r.Node{constructor(){super(r.Type.BLANK_LINE)}get includesTrailingLines(){return true}parse(e,t){this.context=e;this.range=new r.Range(t,t+1);return t+1}}class CollectionItem extends r.Node{constructor(e,t){super(e,t);this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(e,t){this.context=e;const{parseNode:n,src:s}=e;let{atLineStart:i,lineStart:o}=e;if(!i&&this.type===r.Type.SEQ_ITEM)this.error=new r.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line");const a=i?t-o:e.indent;let c=r.Node.endOfWhiteSpace(s,t+1);let l=s[c];const u=l==="#";const f=[];let d=null;while(l==="\n"||l==="#"){if(l==="#"){const e=r.Node.endOfLine(s,c+1);f.push(new r.Range(c,e));c=e}else{i=true;o=c+1;const e=r.Node.endOfWhiteSpace(s,o);if(s[e]==="\n"&&f.length===0){d=new BlankLine;o=d.parse({src:s},o)}c=r.Node.endOfIndent(s,o)}l=s[c]}if(r.Node.nextNodeIsIndented(l,c-(o+a),this.type!==r.Type.SEQ_ITEM)){this.node=n({atLineStart:i,inCollection:false,indent:a,lineStart:o,parent:this},c)}else if(l&&o>t+1){c=o-1}if(this.node){if(d){const t=e.parent.items||e.parent.contents;if(t)t.push(d)}if(f.length)Array.prototype.push.apply(this.props,f);c=this.node.range.end}else{if(u){const e=f[0];this.props.push(e);c=e.end}else{c=r.Node.endOfLine(s,t+1)}}const p=this.node?this.node.valueRange.end:c;this.valueRange=new r.Range(t,p);return c}setOrigRanges(e,t){t=super.setOrigRanges(e,t);return this.node?this.node.setOrigRanges(e,t):t}toString(){const{context:{src:e},node:t,range:n,value:s}=this;if(s!=null)return s;const i=t?e.slice(n.start,t.range.start)+String(t):e.slice(n.start,n.end);return r.Node.addStringTerminator(e,n.end,i)}}class Comment extends r.Node{constructor(){super(r.Type.COMMENT)}parse(e,t){this.context=e;const n=this.parseComment(t);this.range=new r.Range(t,n);return n}}function grabCollectionEndComments(e){let t=e;while(t instanceof CollectionItem)t=t.node;if(!(t instanceof Collection))return null;const n=t.items.length;let s=-1;for(let e=n-1;e>=0;--e){const n=t.items[e];if(n.type===r.Type.COMMENT){const{indent:t,lineStart:r}=n.context;if(t>0&&n.range.start>=r+t)break;s=e}else if(n.type===r.Type.BLANK_LINE)s=e;else break}if(s===-1)return null;const i=t.items.splice(s,n-s);const o=i[0].range.start;while(true){t.range.end=o;if(t.valueRange&&t.valueRange.end>o)t.valueRange.end=o;if(t===e)break;t=t.context.parent}return i}class Collection extends r.Node{static nextContentHasIndent(e,t,n){const s=r.Node.endOfLine(e,t)+1;t=r.Node.endOfWhiteSpace(e,s);const i=e[t];if(!i)return false;if(t>=s+n)return true;if(i!=="#"&&i!=="\n")return false;return Collection.nextContentHasIndent(e,t,n)}constructor(e){super(e.type===r.Type.SEQ_ITEM?r.Type.SEQ:r.Type.MAP);for(let t=e.props.length-1;t>=0;--t){if(e.props[t].start<e.context.lineStart){this.props=e.props.slice(0,t+1);e.props=e.props.slice(t+1);const n=e.props[0]||e.valueRange;e.range.start=n.start;break}}this.items=[e];const t=grabCollectionEndComments(e);if(t)Array.prototype.push.apply(this.items,t)}get includesTrailingLines(){return this.items.length>0}parse(e,t){this.context=e;const{parseNode:n,src:s}=e;let i=r.Node.startOfLine(s,t);const o=this.items[0];o.context.parent=this;this.valueRange=r.Range.copy(o.valueRange);const a=o.range.start-o.context.lineStart;let c=t;c=r.Node.normalizeOffset(s,c);let l=s[c];let u=r.Node.endOfWhiteSpace(s,i)===c;let f=false;while(l){while(l==="\n"||l==="#"){if(u&&l==="\n"&&!f){const e=new BlankLine;c=e.parse({src:s},c);this.valueRange.end=c;if(c>=s.length){l=null;break}this.items.push(e);c-=1}else if(l==="#"){if(c<i+a&&!Collection.nextContentHasIndent(s,c,a)){return c}const e=new Comment;c=e.parse({indent:a,lineStart:i,src:s},c);this.items.push(e);this.valueRange.end=c;if(c>=s.length){l=null;break}}i=c+1;c=r.Node.endOfIndent(s,i);if(r.Node.atBlank(s,c)){const e=r.Node.endOfWhiteSpace(s,c);const t=s[e];if(!t||t==="\n"||t==="#"){c=e}}l=s[c];u=true}if(!l){break}if(c!==i+a&&(u||l!==":")){if(c<i+a){if(i>t)c=i;break}else if(!this.error){const e="All collection items must start at the same column";this.error=new r.YAMLSyntaxError(this,e)}}if(o.type===r.Type.SEQ_ITEM){if(l!=="-"){if(i>t)c=i;break}}else if(l==="-"&&!this.error){const e=s[c+1];if(!e||e==="\n"||e==="\t"||e===" "){const e="A collection cannot be both a mapping and a sequence";this.error=new r.YAMLSyntaxError(this,e)}}const e=n({atLineStart:u,inCollection:true,indent:a,lineStart:i,parent:this},c);if(!e)return c;this.items.push(e);this.valueRange.end=e.valueRange.end;c=r.Node.normalizeOffset(s,e.range.end);l=s[c];u=false;f=e.includesTrailingLines;if(l){let e=c-1;let t=s[e];while(t===" "||t==="\t")t=s[--e];if(t==="\n"){i=e+1;u=true}}const d=grabCollectionEndComments(e);if(d)Array.prototype.push.apply(this.items,d)}return c}setOrigRanges(e,t){t=super.setOrigRanges(e,t);this.items.forEach((n=>{t=n.setOrigRanges(e,t)}));return t}toString(){const{context:{src:e},items:t,range:n,value:s}=this;if(s!=null)return s;let i=e.slice(n.start,t[0].range.start)+String(t[0]);for(let e=1;e<t.length;++e){const n=t[e];const{atLineStart:r,indent:s}=n.context;if(r)for(let e=0;e<s;++e)i+=" ";i+=String(n)}return r.Node.addStringTerminator(e,n.end,i)}}class Directive extends r.Node{constructor(){super(r.Type.DIRECTIVE);this.name=null}get parameters(){const e=this.rawValue;return e?e.trim().split(/[ \t]+/):[]}parseName(e){const{src:t}=this.context;let n=e;let r=t[n];while(r&&r!=="\n"&&r!=="\t"&&r!==" ")r=t[n+=1];this.name=t.slice(e,n);return n}parseParameters(e){const{src:t}=this.context;let n=e;let s=t[n];while(s&&s!=="\n"&&s!=="#")s=t[n+=1];this.valueRange=new r.Range(e,n);return n}parse(e,t){this.context=e;let n=this.parseName(t+1);n=this.parseParameters(n);n=this.parseComment(n);this.range=new r.Range(t,n);return n}}class Document extends r.Node{static startCommentOrEndBlankLine(e,t){const n=r.Node.endOfWhiteSpace(e,t);const s=e[n];return s==="#"||s==="\n"?n:t}constructor(){super(r.Type.DOCUMENT);this.directives=null;this.contents=null;this.directivesEndMarker=null;this.documentEndMarker=null}parseDirectives(e){const{src:t}=this.context;this.directives=[];let n=true;let s=false;let i=e;while(!r.Node.atDocumentBoundary(t,i,r.Char.DIRECTIVES_END)){i=Document.startCommentOrEndBlankLine(t,i);switch(t[i]){case"\n":if(n){const e=new BlankLine;i=e.parse({src:t},i);if(i<t.length){this.directives.push(e)}}else{i+=1;n=true}break;case"#":{const e=new Comment;i=e.parse({src:t},i);this.directives.push(e);n=false}break;case"%":{const e=new Directive;i=e.parse({parent:this,src:t},i);this.directives.push(e);s=true;n=false}break;default:if(s){this.error=new r.YAMLSemanticError(this,"Missing directives-end indicator line")}else if(this.directives.length>0){this.contents=this.directives;this.directives=[]}return i}}if(t[i]){this.directivesEndMarker=new r.Range(i,i+3);return i+3}if(s){this.error=new r.YAMLSemanticError(this,"Missing directives-end indicator line")}else if(this.directives.length>0){this.contents=this.directives;this.directives=[]}return i}parseContents(e){const{parseNode:t,src:n}=this.context;if(!this.contents)this.contents=[];let s=e;while(n[s-1]==="-")s-=1;let i=r.Node.endOfWhiteSpace(n,e);let o=s===e;this.valueRange=new r.Range(i);while(!r.Node.atDocumentBoundary(n,i,r.Char.DOCUMENT_END)){switch(n[i]){case"\n":if(o){const e=new BlankLine;i=e.parse({src:n},i);if(i<n.length){this.contents.push(e)}}else{i+=1;o=true}s=i;break;case"#":{const e=new Comment;i=e.parse({src:n},i);this.contents.push(e);o=false}break;default:{const e=r.Node.endOfIndent(n,i);const a={atLineStart:o,indent:-1,inFlow:false,inCollection:false,lineStart:s,parent:this};const c=t(a,e);if(!c)return this.valueRange.end=e;this.contents.push(c);i=c.range.end;o=false;const l=grabCollectionEndComments(c);if(l)Array.prototype.push.apply(this.contents,l)}}i=Document.startCommentOrEndBlankLine(n,i)}this.valueRange.end=i;if(n[i]){this.documentEndMarker=new r.Range(i,i+3);i+=3;if(n[i]){i=r.Node.endOfWhiteSpace(n,i);if(n[i]==="#"){const e=new Comment;i=e.parse({src:n},i);this.contents.push(e)}switch(n[i]){case"\n":i+=1;break;case undefined:break;default:this.error=new r.YAMLSyntaxError(this,"Document end marker line cannot have a non-comment suffix")}}}return i}parse(e,t){e.root=this;this.context=e;const{src:n}=e;let r=n.charCodeAt(t)===65279?t+1:t;r=this.parseDirectives(r);r=this.parseContents(r);return r}setOrigRanges(e,t){t=super.setOrigRanges(e,t);this.directives.forEach((n=>{t=n.setOrigRanges(e,t)}));if(this.directivesEndMarker)t=this.directivesEndMarker.setOrigRange(e,t);this.contents.forEach((n=>{t=n.setOrigRanges(e,t)}));if(this.documentEndMarker)t=this.documentEndMarker.setOrigRange(e,t);return t}toString(){const{contents:e,directives:t,value:n}=this;if(n!=null)return n;let s=t.join("");if(e.length>0){if(t.length>0||e[0].type===r.Type.COMMENT)s+="---\n";s+=e.join("")}if(s[s.length-1]!=="\n")s+="\n";return s}}class Alias extends r.Node{parse(e,t){this.context=e;const{src:n}=e;let s=r.Node.endOfIdentifier(n,t+1);this.valueRange=new r.Range(t+1,s);s=r.Node.endOfWhiteSpace(n,s);s=this.parseComment(s);return s}}const s={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"};class BlockValue extends r.Node{constructor(e,t){super(e,t);this.blockIndent=null;this.chomping=s.CLIP;this.header=null}get includesTrailingLines(){return this.chomping===s.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{indent:n,src:i}=this.context;if(this.valueRange.isEmpty())return"";let o=null;let a=i[t-1];while(a==="\n"||a==="\t"||a===" "){t-=1;if(t<=e){if(this.chomping===s.KEEP)break;else return""}if(a==="\n")o=t;a=i[t-1]}let c=t+1;if(o){if(this.chomping===s.KEEP){c=o;t=this.valueRange.end}else{t=o}}const l=n+this.blockIndent;const u=this.type===r.Type.BLOCK_FOLDED;let f=true;let d="";let p="";let h=false;for(let n=e;n<t;++n){for(let e=0;e<l;++e){if(i[n]!==" ")break;n+=1}const e=i[n];if(e==="\n"){if(p==="\n")d+="\n";else p="\n"}else{const s=r.Node.endOfLine(i,n);const o=i.slice(n,s);n=s;if(u&&(e===" "||e==="\t")&&n<c){if(p===" ")p="\n";else if(!h&&!f&&p==="\n")p="\n\n";d+=p+o;p=s<t&&i[s]||"";h=true}else{d+=p+o;p=u&&n<c?" ":"\n";h=false}if(f&&o!=="")f=false}}return this.chomping===s.STRIP?d:d+"\n"}parseBlockHeader(e){const{src:t}=this.context;let n=e+1;let i="";while(true){const o=t[n];switch(o){case"-":this.chomping=s.STRIP;break;case"+":this.chomping=s.KEEP;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":i+=o;break;default:this.blockIndent=Number(i)||null;this.header=new r.Range(e,n);return n}n+=1}}parseBlockValue(e){const{indent:t,src:n}=this.context;const i=!!this.blockIndent;let o=e;let a=e;let c=1;for(let e=n[o];e==="\n";e=n[o]){o+=1;if(r.Node.atDocumentBoundary(n,o))break;const e=r.Node.endOfBlockIndent(n,t,o);if(e===null)break;const s=n[e];const l=e-(o+t);if(!this.blockIndent){if(n[e]!=="\n"){if(l<c){const e="Block scalars with more-indented leading empty lines must use an explicit indentation indicator";this.error=new r.YAMLSemanticError(this,e)}this.blockIndent=l}else if(l>c){c=l}}else if(s&&s!=="\n"&&l<this.blockIndent){if(n[e]==="#")break;if(!this.error){const e=i?"explicit indentation indicator":"first line";const t=`Block scalars must not be less indented than their ${e}`;this.error=new r.YAMLSemanticError(this,t)}}if(n[e]==="\n"){o=e}else{o=a=r.Node.endOfLine(n,e)}}if(this.chomping!==s.KEEP){o=n[a]?a+1:a}this.valueRange=new r.Range(e+1,o);return o}parse(e,t){this.context=e;const{src:n}=e;let s=this.parseBlockHeader(t);s=r.Node.endOfWhiteSpace(n,s);s=this.parseComment(s);s=this.parseBlockValue(s);return s}setOrigRanges(e,t){t=super.setOrigRanges(e,t);return this.header?this.header.setOrigRange(e,t):t}}class FlowCollection extends r.Node{constructor(e,t){super(e,t);this.items=null}prevNodeIsJsonLike(e=this.items.length){const t=this.items[e-1];return!!t&&(t.jsonLike||t.type===r.Type.COMMENT&&this.prevNodeIsJsonLike(e-1))}parse(e,t){this.context=e;const{parseNode:n,src:s}=e;let{indent:i,lineStart:o}=e;let a=s[t];this.items=[{char:a,offset:t}];let c=r.Node.endOfWhiteSpace(s,t+1);a=s[c];while(a&&a!=="]"&&a!=="}"){switch(a){case"\n":{o=c+1;const e=r.Node.endOfWhiteSpace(s,o);if(s[e]==="\n"){const e=new BlankLine;o=e.parse({src:s},o);this.items.push(e)}c=r.Node.endOfIndent(s,o);if(c<=o+i){a=s[c];if(c<o+i||a!=="]"&&a!=="}"){const e="Insufficient indentation in flow collection";this.error=new r.YAMLSemanticError(this,e)}}}break;case",":{this.items.push({char:a,offset:c});c+=1}break;case"#":{const e=new Comment;c=e.parse({src:s},c);this.items.push(e)}break;case"?":case":":{const e=s[c+1];if(e==="\n"||e==="\t"||e===" "||e===","||a===":"&&this.prevNodeIsJsonLike()){this.items.push({char:a,offset:c});c+=1;break}}default:{const e=n({atLineStart:false,inCollection:false,inFlow:true,indent:-1,lineStart:o,parent:this},c);if(!e){this.valueRange=new r.Range(t,c);return c}this.items.push(e);c=r.Node.normalizeOffset(s,e.range.end)}}c=r.Node.endOfWhiteSpace(s,c);a=s[c]}this.valueRange=new r.Range(t,c+1);if(a){this.items.push({char:a,offset:c});c=r.Node.endOfWhiteSpace(s,c+1);c=this.parseComment(c)}return c}setOrigRanges(e,t){t=super.setOrigRanges(e,t);this.items.forEach((n=>{if(n instanceof r.Node){t=n.setOrigRanges(e,t)}else if(e.length===0){n.origOffset=n.offset}else{let r=t;while(r<e.length){if(e[r]>n.offset)break;else++r}n.origOffset=n.offset+r;t=r}}));return t}toString(){const{context:{src:e},items:t,range:n,value:s}=this;if(s!=null)return s;const i=t.filter((e=>e instanceof r.Node));let o="";let a=n.start;i.forEach((t=>{const n=e.slice(a,t.range.start);a=t.range.end;o+=n+String(t);if(o[o.length-1]==="\n"&&e[a-1]!=="\n"&&e[a]==="\n"){a+=1}}));o+=e.slice(a,n.end);return r.Node.addStringTerminator(e,n.end,o)}}class QuoteDouble extends r.Node{static endOfQuote(e,t){let n=e[t];while(n&&n!=='"'){t+=n==="\\"?2:1;n=e[t]}return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[];const{start:t,end:n}=this.valueRange;const{indent:s,src:i}=this.context;if(i[n-1]!=='"')e.push(new r.YAMLSyntaxError(this,'Missing closing "quote'));let o="";for(let a=t+1;a<n-1;++a){const t=i[a];if(t==="\n"){if(r.Node.atDocumentBoundary(i,a+1))e.push(new r.YAMLSemanticError(this,"Document boundary indicators are not allowed within string values"));const{fold:t,offset:n,error:c}=r.Node.foldNewline(i,a,s);o+=t;a=n;if(c)e.push(new r.YAMLSemanticError(this,"Multi-line double-quoted string needs to be sufficiently indented"))}else if(t==="\\"){a+=1;switch(i[a]){case"0":o+="\0";break;case"a":o+="";break;case"b":o+="\b";break;case"e":o+="";break;case"f":o+="\f";break;case"n":o+="\n";break;case"r":o+="\r";break;case"t":o+="\t";break;case"v":o+="\v";break;case"N":o+="…";break;case"_":o+=" ";break;case"L":o+="\u2028";break;case"P":o+="\u2029";break;case" ":o+=" ";break;case'"':o+='"';break;case"/":o+="/";break;case"\\":o+="\\";break;case"\t":o+="\t";break;case"x":o+=this.parseCharCode(a+1,2,e);a+=2;break;case"u":o+=this.parseCharCode(a+1,4,e);a+=4;break;case"U":o+=this.parseCharCode(a+1,8,e);a+=8;break;case"\n":while(i[a+1]===" "||i[a+1]==="\t")a+=1;break;default:e.push(new r.YAMLSyntaxError(this,`Invalid escape sequence ${i.substr(a-1,2)}`));o+="\\"+i[a]}}else if(t===" "||t==="\t"){const e=a;let n=i[a+1];while(n===" "||n==="\t"){a+=1;n=i[a+1]}if(n!=="\n")o+=a>e?i.slice(e,a+1):t}else{o+=t}}return e.length>0?{errors:e,str:o}:o}parseCharCode(e,t,n){const{src:s}=this.context;const i=s.substr(e,t);const o=i.length===t&&/^[0-9a-fA-F]+$/.test(i);const a=o?parseInt(i,16):NaN;if(isNaN(a)){n.push(new r.YAMLSyntaxError(this,`Invalid escape sequence ${s.substr(e-2,t+2)}`));return s.substr(e-2,t+2)}return String.fromCodePoint(a)}parse(e,t){this.context=e;const{src:n}=e;let s=QuoteDouble.endOfQuote(n,t+1);this.valueRange=new r.Range(t,s);s=r.Node.endOfWhiteSpace(n,s);s=this.parseComment(s);return s}}class QuoteSingle extends r.Node{static endOfQuote(e,t){let n=e[t];while(n){if(n==="'"){if(e[t+1]!=="'")break;n=e[t+=2]}else{n=e[t+=1]}}return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[];const{start:t,end:n}=this.valueRange;const{indent:s,src:i}=this.context;if(i[n-1]!=="'")e.push(new r.YAMLSyntaxError(this,"Missing closing 'quote"));let o="";for(let a=t+1;a<n-1;++a){const t=i[a];if(t==="\n"){if(r.Node.atDocumentBoundary(i,a+1))e.push(new r.YAMLSemanticError(this,"Document boundary indicators are not allowed within string values"));const{fold:t,offset:n,error:c}=r.Node.foldNewline(i,a,s);o+=t;a=n;if(c)e.push(new r.YAMLSemanticError(this,"Multi-line single-quoted string needs to be sufficiently indented"))}else if(t==="'"){o+=t;a+=1;if(i[a]!=="'")e.push(new r.YAMLSyntaxError(this,"Unescaped single quote? This should not happen."))}else if(t===" "||t==="\t"){const e=a;let n=i[a+1];while(n===" "||n==="\t"){a+=1;n=i[a+1]}if(n!=="\n")o+=a>e?i.slice(e,a+1):t}else{o+=t}}return e.length>0?{errors:e,str:o}:o}parse(e,t){this.context=e;const{src:n}=e;let s=QuoteSingle.endOfQuote(n,t+1);this.valueRange=new r.Range(t,s);s=r.Node.endOfWhiteSpace(n,s);s=this.parseComment(s);return s}}function createNewNode(e,t){switch(e){case r.Type.ALIAS:return new Alias(e,t);case r.Type.BLOCK_FOLDED:case r.Type.BLOCK_LITERAL:return new BlockValue(e,t);case r.Type.FLOW_MAP:case r.Type.FLOW_SEQ:return new FlowCollection(e,t);case r.Type.MAP_KEY:case r.Type.MAP_VALUE:case r.Type.SEQ_ITEM:return new CollectionItem(e,t);case r.Type.COMMENT:case r.Type.PLAIN:return new r.PlainValue(e,t);case r.Type.QUOTE_DOUBLE:return new QuoteDouble(e,t);case r.Type.QUOTE_SINGLE:return new QuoteSingle(e,t);default:return null}}class ParseContext{static parseType(e,t,n){switch(e[t]){case"*":return r.Type.ALIAS;case">":return r.Type.BLOCK_FOLDED;case"|":return r.Type.BLOCK_LITERAL;case"{":return r.Type.FLOW_MAP;case"[":return r.Type.FLOW_SEQ;case"?":return!n&&r.Node.atBlank(e,t+1,true)?r.Type.MAP_KEY:r.Type.PLAIN;case":":return!n&&r.Node.atBlank(e,t+1,true)?r.Type.MAP_VALUE:r.Type.PLAIN;case"-":return!n&&r.Node.atBlank(e,t+1,true)?r.Type.SEQ_ITEM:r.Type.PLAIN;case'"':return r.Type.QUOTE_DOUBLE;case"'":return r.Type.QUOTE_SINGLE;default:return r.Type.PLAIN}}constructor(e={},{atLineStart:t,inCollection:n,inFlow:s,indent:i,lineStart:o,parent:a}={}){r._defineProperty(this,"parseNode",((e,t)=>{if(r.Node.atDocumentBoundary(this.src,t))return null;const n=new ParseContext(this,e);const{props:s,type:i,valueStart:o}=n.parseProps(t);const a=createNewNode(i,s);let c=a.parse(n,o);a.range=new r.Range(t,c);if(c<=t){a.error=new Error(`Node#parse consumed no characters`);a.error.parseEnd=c;a.error.source=a;a.range.end=t+1}if(n.nodeStartsCollection(a)){if(!a.error&&!n.atLineStart&&n.parent.type===r.Type.DOCUMENT){a.error=new r.YAMLSyntaxError(a,"Block collection must not have preceding content here (e.g. directives-end indicator)")}const e=new Collection(a);c=e.parse(new ParseContext(n),c);e.range=new r.Range(t,c);return e}return a}));this.atLineStart=t!=null?t:e.atLineStart||false;this.inCollection=n!=null?n:e.inCollection||false;this.inFlow=s!=null?s:e.inFlow||false;this.indent=i!=null?i:e.indent;this.lineStart=o!=null?o:e.lineStart;this.parent=a!=null?a:e.parent||{};this.root=e.root;this.src=e.src}nodeStartsCollection(e){const{inCollection:t,inFlow:n,src:s}=this;if(t||n)return false;if(e instanceof CollectionItem)return true;let i=e.range.end;if(s[i]==="\n"||s[i-1]==="\n")return false;i=r.Node.endOfWhiteSpace(s,i);return s[i]===":"}parseProps(e){const{inFlow:t,parent:n,src:s}=this;const i=[];let o=false;e=this.atLineStart?r.Node.endOfIndent(s,e):r.Node.endOfWhiteSpace(s,e);let a=s[e];while(a===r.Char.ANCHOR||a===r.Char.COMMENT||a===r.Char.TAG||a==="\n"){if(a==="\n"){let t=e;let i;do{i=t+1;t=r.Node.endOfIndent(s,i)}while(s[t]==="\n");const a=t-(i+this.indent);const c=n.type===r.Type.SEQ_ITEM&&n.context.atLineStart;if(s[t]!=="#"&&!r.Node.nextNodeIsIndented(s[t],a,!c))break;this.atLineStart=true;this.lineStart=i;o=false;e=t}else if(a===r.Char.COMMENT){const t=r.Node.endOfLine(s,e+1);i.push(new r.Range(e,t));e=t}else{let t=r.Node.endOfIdentifier(s,e+1);if(a===r.Char.TAG&&s[t]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(s.slice(e+1,t+13))){t=r.Node.endOfIdentifier(s,t+5)}i.push(new r.Range(e,t));o=true;e=r.Node.endOfWhiteSpace(s,t)}a=s[e]}if(o&&a===":"&&r.Node.atBlank(s,e+1,true))e-=1;const c=ParseContext.parseType(s,e,t);return{props:i,type:c,valueStart:e}}}function parse(e){const t=[];if(e.indexOf("\r")!==-1){e=e.replace(/\r\n?/g,((e,n)=>{if(e.length>1)t.push(n);return"\n"}))}const n=[];let r=0;do{const t=new Document;const s=new ParseContext({src:e});r=t.parse(s,r);n.push(t)}while(r<e.length);n.setOrigRanges=()=>{if(t.length===0)return false;for(let e=1;e<t.length;++e)t[e]-=e;let e=0;for(let r=0;r<n.length;++r){e=n[r].setOrigRanges(t,e)}t.splice(0,t.length);return true};n.toString=()=>n.join("...\n");return n}t.parse=parse},914:(e,t,n)=>{"use strict";var r=n(941);function addCommentBefore(e,t,n){if(!n)return e;const r=n.replace(/[\s\S]^/gm,`$&${t}#`);return`#${r}\n${t}${e}`}function addComment(e,t,n){return!n?e:n.indexOf("\n")===-1?`${e} #${n}`:`${e}\n`+n.replace(/^/gm,`${t||""}#`)}class Node{}function toJSON(e,t,n){if(Array.isArray(e))return e.map(((e,t)=>toJSON(e,String(t),n)));if(e&&typeof e.toJSON==="function"){const r=n&&n.anchors&&n.anchors.get(e);if(r)n.onCreate=e=>{r.res=e;delete n.onCreate};const s=e.toJSON(t,n);if(r&&n.onCreate)n.onCreate(s);return s}if((!n||!n.keep)&&typeof e==="bigint")return Number(e);return e}class Scalar extends Node{constructor(e){super();this.value=e}toJSON(e,t){return t&&t.keep?this.value:toJSON(this.value,e,t)}toString(){return String(this.value)}}function collectionFromPath(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){const n=t[e];if(Number.isInteger(n)&&n>=0){const e=[];e[n]=r;r=e}else{const e={};Object.defineProperty(e,n,{value:r,writable:true,enumerable:true,configurable:true});r=e}}return e.createNode(r,false)}const isEmptyPath=e=>e==null||typeof e==="object"&&e[Symbol.iterator]().next().done;class Collection extends Node{constructor(e){super();r._defineProperty(this,"items",[]);this.schema=e}addIn(e,t){if(isEmptyPath(e))this.add(t);else{const[n,...r]=e;const s=this.get(n,true);if(s instanceof Collection)s.addIn(r,t);else if(s===undefined&&this.schema)this.set(n,collectionFromPath(this.schema,r,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn([e,...t]){if(t.length===0)return this.delete(e);const n=this.get(e,true);if(n instanceof Collection)return n.deleteIn(t);else throw new Error(`Expected YAML collection at ${e}. Remaining path: ${t}`)}getIn([e,...t],n){const r=this.get(e,true);if(t.length===0)return!n&&r instanceof Scalar?r.value:r;else return r instanceof Collection?r.getIn(t,n):undefined}hasAllNullValues(){return this.items.every((e=>{if(!e||e.type!=="PAIR")return false;const t=e.value;return t==null||t instanceof Scalar&&t.value==null&&!t.commentBefore&&!t.comment&&!t.tag}))}hasIn([e,...t]){if(t.length===0)return this.has(e);const n=this.get(e,true);return n instanceof Collection?n.hasIn(t):false}setIn([e,...t],n){if(t.length===0){this.set(e,n)}else{const r=this.get(e,true);if(r instanceof Collection)r.setIn(t,n);else if(r===undefined&&this.schema)this.set(e,collectionFromPath(this.schema,t,n));else throw new Error(`Expected YAML collection at ${e}. Remaining path: ${t}`)}}toJSON(){return null}toString(e,{blockItem:t,flowChars:n,isMap:s,itemIndent:i},o,a){const{indent:c,indentStep:l,stringify:u}=e;const f=this.type===r.Type.FLOW_MAP||this.type===r.Type.FLOW_SEQ||e.inFlow;if(f)i+=l;const d=s&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:d,indent:i,inFlow:f,type:null});let p=false;let h=false;const g=this.items.reduce(((t,n,r)=>{let s;if(n){if(!p&&n.spaceBefore)t.push({type:"comment",str:""});if(n.commentBefore)n.commentBefore.match(/^.*$/gm).forEach((e=>{t.push({type:"comment",str:`#${e}`})}));if(n.comment)s=n.comment;if(f&&(!p&&n.spaceBefore||n.commentBefore||n.comment||n.key&&(n.key.commentBefore||n.key.comment)||n.value&&(n.value.commentBefore||n.value.comment)))h=true}p=false;let o=u(n,e,(()=>s=null),(()=>p=true));if(f&&!h&&o.includes("\n"))h=true;if(f&&r<this.items.length-1)o+=",";o=addComment(o,i,s);if(p&&(s||f))p=false;t.push({type:"item",str:o});return t}),[]);let m;if(g.length===0){m=n.start+n.end}else if(f){const{start:e,end:t}=n;const r=g.map((e=>e.str));if(h||r.reduce(((e,t)=>e+t.length+2),2)>Collection.maxFlowStringSingleLineLength){m=e;for(const e of r){m+=e?`\n${l}${c}${e}`:"\n"}m+=`\n${c}${t}`}else{m=`${e} ${r.join(" ")} ${t}`}}else{const e=g.map(t);m=e.shift();for(const t of e)m+=t?`\n${c}${t}`:"\n"}if(this.comment){m+="\n"+this.comment.replace(/^/gm,`${c}#`);if(o)o()}else if(p&&a)a();return m}}r._defineProperty(Collection,"maxFlowStringSingleLineLength",60);function asItemIndex(e){let t=e instanceof Scalar?e.value:e;if(t&&typeof t==="string")t=Number(t);return Number.isInteger(t)&&t>=0?t:null}class YAMLSeq extends Collection{add(e){this.items.push(e)}delete(e){const t=asItemIndex(e);if(typeof t!=="number")return false;const n=this.items.splice(t,1);return n.length>0}get(e,t){const n=asItemIndex(e);if(typeof n!=="number")return undefined;const r=this.items[n];return!t&&r instanceof Scalar?r.value:r}has(e){const t=asItemIndex(e);return typeof t==="number"&&t<this.items.length}set(e,t){const n=asItemIndex(e);if(typeof n!=="number")throw new Error(`Expected a valid index, not ${e}.`);this.items[n]=t}toJSON(e,t){const n=[];if(t&&t.onCreate)t.onCreate(n);let r=0;for(const e of this.items)n.push(toJSON(e,String(r++),t));return n}toString(e,t,n){if(!e)return JSON.stringify(this);return super.toString(e,{blockItem:e=>e.type==="comment"?e.str:`- ${e.str}`,flowChars:{start:"[",end:"]"},isMap:false,itemIndent:(e.indent||"")+" "},t,n)}}const stringifyKey=(e,t,n)=>{if(t===null)return"";if(typeof t!=="object")return String(t);if(e instanceof Node&&n&&n.doc)return e.toString({anchors:Object.create(null),doc:n.doc,indent:"",indentStep:n.indentStep,inFlow:true,inStringifyKey:true,stringify:n.stringify});return JSON.stringify(t)};class Pair extends Node{constructor(e,t=null){super();this.key=e;this.value=t;this.type=Pair.Type.PAIR}get commentBefore(){return this.key instanceof Node?this.key.commentBefore:undefined}set commentBefore(e){if(this.key==null)this.key=new Scalar(null);if(this.key instanceof Node)this.key.commentBefore=e;else{const e="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(e)}}addToJSMap(e,t){const n=toJSON(this.key,"",e);if(t instanceof Map){const r=toJSON(this.value,n,e);t.set(n,r)}else if(t instanceof Set){t.add(n)}else{const r=stringifyKey(this.key,n,e);const s=toJSON(this.value,r,e);if(r in t)Object.defineProperty(t,r,{value:s,writable:true,enumerable:true,configurable:true});else t[r]=s}return t}toJSON(e,t){const n=t&&t.mapAsMap?new Map:{};return this.addToJSMap(t,n)}toString(e,t,n){if(!e||!e.doc)return JSON.stringify(this);const{indent:s,indentSeq:i,simpleKeys:o}=e.doc.options;let{key:a,value:c}=this;let l=a instanceof Node&&a.comment;if(o){if(l){throw new Error("With simple keys, key nodes cannot have comments")}if(a instanceof Collection){const e="With simple keys, collection cannot be used as a key value";throw new Error(e)}}let u=!o&&(!a||l||(a instanceof Node?a instanceof Collection||a.type===r.Type.BLOCK_FOLDED||a.type===r.Type.BLOCK_LITERAL:typeof a==="object"));const{doc:f,indent:d,indentStep:p,stringify:h}=e;e=Object.assign({},e,{implicitKey:!u,indent:d+p});let g=false;let m=h(a,e,(()=>l=null),(()=>g=true));m=addComment(m,e.indent,l);if(!u&&m.length>1024){if(o)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");u=true}if(e.allNullValues&&!o){if(this.comment){m=addComment(m,e.indent,this.comment);if(t)t()}else if(g&&!l&&n)n();return e.inFlow&&!u?m:`? ${m}`}m=u?`? ${m}\n${d}:`:`${m}:`;if(this.comment){m=addComment(m,e.indent,this.comment);if(t)t()}let y="";let v=null;if(c instanceof Node){if(c.spaceBefore)y="\n";if(c.commentBefore){const t=c.commentBefore.replace(/^/gm,`${e.indent}#`);y+=`\n${t}`}v=c.comment}else if(c&&typeof c==="object"){c=f.schema.createNode(c,true)}e.implicitKey=false;if(!u&&!this.comment&&c instanceof Scalar)e.indentAtStart=m.length+1;g=false;if(!i&&s>=2&&!e.inFlow&&!u&&c instanceof YAMLSeq&&c.type!==r.Type.FLOW_SEQ&&!c.tag&&!f.anchors.getName(c)){e.indent=e.indent.substr(2)}const w=h(c,e,(()=>v=null),(()=>g=true));let S=" ";if(y||this.comment){S=`${y}\n${e.indent}`}else if(!u&&c instanceof Collection){const t=w[0]==="["||w[0]==="{";if(!t||w.includes("\n"))S=`\n${e.indent}`}else if(w[0]==="\n")S="";if(g&&!v&&n)n();return addComment(m+S+w,e.indent,v)}}r._defineProperty(Pair,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});const getAliasCount=(e,t)=>{if(e instanceof Alias){const n=t.get(e.source);return n.count*n.aliasCount}else if(e instanceof Collection){let n=0;for(const r of e.items){const e=getAliasCount(r,t);if(e>n)n=e}return n}else if(e instanceof Pair){const n=getAliasCount(e.key,t);const r=getAliasCount(e.value,t);return Math.max(n,r)}return 1};class Alias extends Node{static stringify({range:e,source:t},{anchors:n,doc:r,implicitKey:s,inStringifyKey:i}){let o=Object.keys(n).find((e=>n[e]===t));if(!o&&i)o=r.anchors.getName(t)||r.anchors.newName();if(o)return`*${o}${s?" ":""}`;const a=r.anchors.getName(t)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${a} [${e}]`)}constructor(e){super();this.source=e;this.type=r.Type.ALIAS}set tag(e){throw new Error("Alias nodes cannot have tags")}toJSON(e,t){if(!t)return toJSON(this.source,e,t);const{anchors:n,maxAliasCount:s}=t;const i=n.get(this.source);if(!i||i.res===undefined){const e="This should not happen: Alias anchor was not resolved?";if(this.cstNode)throw new r.YAMLReferenceError(this.cstNode,e);else throw new ReferenceError(e)}if(s>=0){i.count+=1;if(i.aliasCount===0)i.aliasCount=getAliasCount(this.source,n);if(i.count*i.aliasCount>s){const e="Excessive alias count indicates a resource exhaustion attack";if(this.cstNode)throw new r.YAMLReferenceError(this.cstNode,e);else throw new ReferenceError(e)}}return i.res}toString(e){return Alias.stringify(this,e)}}r._defineProperty(Alias,"default",true);function findPair(e,t){const n=t instanceof Scalar?t.value:t;for(const r of e){if(r instanceof Pair){if(r.key===t||r.key===n)return r;if(r.key&&r.key.value===n)return r}}return undefined}class YAMLMap extends Collection{add(e,t){if(!e)e=new Pair(e);else if(!(e instanceof Pair))e=new Pair(e.key||e,e.value);const n=findPair(this.items,e.key);const r=this.schema&&this.schema.sortMapEntries;if(n){if(t)n.value=e.value;else throw new Error(`Key ${e.key} already set`)}else if(r){const t=this.items.findIndex((t=>r(e,t)<0));if(t===-1)this.items.push(e);else this.items.splice(t,0,e)}else{this.items.push(e)}}delete(e){const t=findPair(this.items,e);if(!t)return false;const n=this.items.splice(this.items.indexOf(t),1);return n.length>0}get(e,t){const n=findPair(this.items,e);const r=n&&n.value;return!t&&r instanceof Scalar?r.value:r}has(e){return!!findPair(this.items,e)}set(e,t){this.add(new Pair(e,t),true)}toJSON(e,t,n){const r=n?new n:t&&t.mapAsMap?new Map:{};if(t&&t.onCreate)t.onCreate(r);for(const e of this.items)e.addToJSMap(t,r);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(const e of this.items){if(!(e instanceof Pair))throw new Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`)}return super.toString(e,{blockItem:e=>e.str,flowChars:{start:"{",end:"}"},isMap:true,itemIndent:e.indent||""},t,n)}}const s="<<";class Merge extends Pair{constructor(e){if(e instanceof Pair){let t=e.value;if(!(t instanceof YAMLSeq)){t=new YAMLSeq;t.items.push(e.value);t.range=e.value.range}super(e.key,t);this.range=e.range}else{super(new Scalar(s),new YAMLSeq)}this.type=Pair.Type.MERGE_PAIR}addToJSMap(e,t){for(const{source:n}of this.value.items){if(!(n instanceof YAMLMap))throw new Error("Merge sources must be maps");const r=n.toJSON(null,e,Map);for(const[e,n]of r){if(t instanceof Map){if(!t.has(e))t.set(e,n)}else if(t instanceof Set){t.add(e)}else if(!Object.prototype.hasOwnProperty.call(t,e)){Object.defineProperty(t,e,{value:n,writable:true,enumerable:true,configurable:true})}}}return t}toString(e,t){const n=this.value;if(n.items.length>1)return super.toString(e,t);this.value=n.items[0];const r=super.toString(e,t);this.value=n;return r}}const i={defaultType:r.Type.BLOCK_LITERAL,lineWidth:76};const o={trueStr:"true",falseStr:"false"};const a={asBigInt:false};const c={nullStr:"null"};const l={defaultType:r.Type.PLAIN,doubleQuoted:{jsonEncoding:false,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function resolveScalar(e,t,n){for(const{format:n,test:r,resolve:s}of t){if(r){const t=e.match(r);if(t){let e=s.apply(null,t);if(!(e instanceof Scalar))e=new Scalar(e);if(n)e.format=n;return e}}}if(n)e=n(e);return new Scalar(e)}const u="flow";const f="block";const d="quoted";const consumeMoreIndentedLines=(e,t)=>{let n=e[t+1];while(n===" "||n==="\t"){do{n=e[t+=1]}while(n&&n!=="\n");n=e[t+1]}return t};function foldFlowLines(e,t,n,{indentAtStart:r,lineWidth:s=80,minContentWidth:i=20,onFold:o,onOverflow:a}){if(!s||s<0)return e;const c=Math.max(1+i,1+s-t.length);if(e.length<=c)return e;const l=[];const u={};let p=s-t.length;if(typeof r==="number"){if(r>s-Math.max(2,i))l.push(0);else p=s-r}let h=undefined;let g=undefined;let m=false;let y=-1;let v=-1;let w=-1;if(n===f){y=consumeMoreIndentedLines(e,y);if(y!==-1)p=y+c}for(let t;t=e[y+=1];){if(n===d&&t==="\\"){v=y;switch(e[y+1]){case"x":y+=3;break;case"u":y+=5;break;case"U":y+=9;break;default:y+=1}w=y}if(t==="\n"){if(n===f)y=consumeMoreIndentedLines(e,y);p=y+c;h=undefined}else{if(t===" "&&g&&g!==" "&&g!=="\n"&&g!=="\t"){const t=e[y+1];if(t&&t!==" "&&t!=="\n"&&t!=="\t")h=y}if(y>=p){if(h){l.push(h);p=h+c;h=undefined}else if(n===d){while(g===" "||g==="\t"){g=t;t=e[y+=1];m=true}const n=y>w+1?y-2:v-1;if(u[n])return e;l.push(n);u[n]=true;p=n+c;h=undefined}else{m=true}}}g=t}if(m&&a)a();if(l.length===0)return e;if(o)o();let S=e.slice(0,l[0]);for(let r=0;r<l.length;++r){const s=l[r];const i=l[r+1]||e.length;if(s===0)S=`\n${t}${e.slice(0,i)}`;else{if(n===d&&u[s])S+=`${e[s]}\\`;S+=`\n${t}${e.slice(s+1,i)}`}}return S}const getFoldOptions=({indentAtStart:e})=>e?Object.assign({indentAtStart:e},l.fold):l.fold;const containsDocumentMarker=e=>/^(%|---|\.\.\.)/m.test(e);function lineLengthOverLimit(e,t,n){if(!t||t<0)return false;const r=t-n;const s=e.length;if(s<=r)return false;for(let t=0,n=0;t<s;++t){if(e[t]==="\n"){if(t-n>r)return true;n=t+1;if(s-n<=r)return false}}return true}function doubleQuotedString(e,t){const{implicitKey:n}=t;const{jsonEncoding:r,minMultiLineLength:s}=l.doubleQuoted;const i=JSON.stringify(e);if(r)return i;const o=t.indent||(containsDocumentMarker(e)?" ":"");let a="";let c=0;for(let e=0,t=i[e];t;t=i[++e]){if(t===" "&&i[e+1]==="\\"&&i[e+2]==="n"){a+=i.slice(c,e)+"\\ ";e+=1;c=e;t="\\"}if(t==="\\")switch(i[e+1]){case"u":{a+=i.slice(c,e);const t=i.substr(e+2,4);switch(t){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:if(t.substr(0,2)==="00")a+="\\x"+t.substr(2);else a+=i.substr(e,6)}e+=5;c=e+1}break;case"n":if(n||i[e+2]==='"'||i.length<s){e+=1}else{a+=i.slice(c,e)+"\n\n";while(i[e+2]==="\\"&&i[e+3]==="n"&&i[e+4]!=='"'){a+="\n";e+=2}a+=o;if(i[e+2]===" ")a+="\\";e+=1;c=e+1}break;default:e+=1}}a=c?a+i.slice(c):i;return n?a:foldFlowLines(a,o,d,getFoldOptions(t))}function singleQuotedString(e,t){if(t.implicitKey){if(/\n/.test(e))return doubleQuotedString(e,t)}else{if(/[ \t]\n|\n[ \t]/.test(e))return doubleQuotedString(e,t)}const n=t.indent||(containsDocumentMarker(e)?" ":"");const r="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&\n${n}`)+"'";return t.implicitKey?r:foldFlowLines(r,n,u,getFoldOptions(t))}function blockString({comment:e,type:t,value:n},s,i,o){if(/\n[\t ]+$/.test(n)||/^\s*$/.test(n)){return doubleQuotedString(n,s)}const a=s.indent||(s.forceBlockIndent||containsDocumentMarker(n)?" ":"");const c=a?"2":"1";const u=t===r.Type.BLOCK_FOLDED?false:t===r.Type.BLOCK_LITERAL?true:!lineLengthOverLimit(n,l.fold.lineWidth,a.length);let d=u?"|":">";if(!n)return d+"\n";let p="";let h="";n=n.replace(/[\n\t ]*$/,(e=>{const t=e.indexOf("\n");if(t===-1){d+="-"}else if(n===e||t!==e.length-1){d+="+";if(o)o()}h=e.replace(/\n$/,"");return""})).replace(/^[\n ]*/,(e=>{if(e.indexOf(" ")!==-1)d+=c;const t=e.match(/ +$/);if(t){p=e.slice(0,-t[0].length);return t[0]}else{p=e;return""}}));if(h)h=h.replace(/\n+(?!\n|$)/g,`$&${a}`);if(p)p=p.replace(/\n+/g,`$&${a}`);if(e){d+=" #"+e.replace(/ ?[\r\n]+/g," ");if(i)i()}if(!n)return`${d}${c}\n${a}${h}`;if(u){n=n.replace(/\n+/g,`$&${a}`);return`${d}\n${a}${p}${n}${h}`}n=n.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${a}`);const g=foldFlowLines(`${p}${n}${h}`,a,f,l.fold);return`${d}\n${a}${g}`}function plainString(e,t,n,s){const{comment:i,type:o,value:a}=e;const{actualString:c,implicitKey:l,indent:f,inFlow:d}=t;if(l&&/[\n[\]{},]/.test(a)||d&&/[[\]{},]/.test(a)){return doubleQuotedString(a,t)}if(!a||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(a)){return l||d||a.indexOf("\n")===-1?a.indexOf('"')!==-1&&a.indexOf("'")===-1?singleQuotedString(a,t):doubleQuotedString(a,t):blockString(e,t,n,s)}if(!l&&!d&&o!==r.Type.PLAIN&&a.indexOf("\n")!==-1){return blockString(e,t,n,s)}if(f===""&&containsDocumentMarker(a)){t.forceBlockIndent=true;return blockString(e,t,n,s)}const p=a.replace(/\n+/g,`$&\n${f}`);if(c){const{tags:e}=t.doc.schema;const n=resolveScalar(p,e,e.scalarFallback).value;if(typeof n!=="string")return doubleQuotedString(a,t)}const h=l?p:foldFlowLines(p,f,u,getFoldOptions(t));if(i&&!d&&(h.indexOf("\n")!==-1||i.indexOf("\n")!==-1)){if(n)n();return addCommentBefore(h,f,i)}return h}function stringifyString(e,t,n,s){const{defaultType:i}=l;const{implicitKey:o,inFlow:a}=t;let{type:c,value:u}=e;if(typeof u!=="string"){u=String(u);e=Object.assign({},e,{value:u})}const _stringify=i=>{switch(i){case r.Type.BLOCK_FOLDED:case r.Type.BLOCK_LITERAL:return blockString(e,t,n,s);case r.Type.QUOTE_DOUBLE:return doubleQuotedString(u,t);case r.Type.QUOTE_SINGLE:return singleQuotedString(u,t);case r.Type.PLAIN:return plainString(e,t,n,s);default:return null}};if(c!==r.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(u)){c=r.Type.QUOTE_DOUBLE}else if((o||a)&&(c===r.Type.BLOCK_FOLDED||c===r.Type.BLOCK_LITERAL)){c=r.Type.QUOTE_DOUBLE}let f=_stringify(c);if(f===null){f=_stringify(i);if(f===null)throw new Error(`Unsupported default string type ${i}`)}return f}function stringifyNumber({format:e,minFractionDigits:t,tag:n,value:r}){if(typeof r==="bigint")return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let s=JSON.stringify(r);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^\d/.test(s)){let e=s.indexOf(".");if(e<0){e=s.length;s+="."}let n=t-(s.length-e-1);while(n-- >0)s+="0"}return s}function checkFlowCollectionEnd(e,t){let n,s;switch(t.type){case r.Type.FLOW_MAP:n="}";s="flow map";break;case r.Type.FLOW_SEQ:n="]";s="flow sequence";break;default:e.push(new r.YAMLSemanticError(t,"Not a flow collection!?"));return}let i;for(let e=t.items.length-1;e>=0;--e){const n=t.items[e];if(!n||n.type!==r.Type.COMMENT){i=n;break}}if(i&&i.char!==n){const o=`Expected ${s} to end with ${n}`;let a;if(typeof i.offset==="number"){a=new r.YAMLSemanticError(t,o);a.offset=i.offset+1}else{a=new r.YAMLSemanticError(i,o);if(i.range&&i.range.end)a.offset=i.range.end-i.range.start}e.push(a)}}function checkFlowCommentSpace(e,t){const n=t.context.src[t.range.start-1];if(n!=="\n"&&n!=="\t"&&n!==" "){const n="Comments must be separated from other tokens by white space characters";e.push(new r.YAMLSemanticError(t,n))}}function getLongKeyError(e,t){const n=String(t);const s=n.substr(0,8)+"..."+n.substr(-8);return new r.YAMLSemanticError(e,`The "${s}" key is too long`)}function resolveComments(e,t){for(const{afterKey:n,before:r,comment:s}of t){let t=e.items[r];if(!t){if(s!==undefined){if(e.comment)e.comment+="\n"+s;else e.comment=s}}else{if(n&&t.value)t=t.value;if(s===undefined){if(n||!t.commentBefore)t.spaceBefore=true}else{if(t.commentBefore)t.commentBefore+="\n"+s;else t.commentBefore=s}}}}function resolveString(e,t){const n=t.strValue;if(!n)return"";if(typeof n==="string")return n;n.errors.forEach((n=>{if(!n.source)n.source=t;e.errors.push(n)}));return n.str}function resolveTagHandle(e,t){const{handle:n,suffix:s}=t.tag;let i=e.tagPrefixes.find((e=>e.handle===n));if(!i){const s=e.getDefaults().tagPrefixes;if(s)i=s.find((e=>e.handle===n));if(!i)throw new r.YAMLSemanticError(t,`The ${n} tag handle is non-default and was not declared.`)}if(!s)throw new r.YAMLSemanticError(t,`The ${n} tag has no suffix.`);if(n==="!"&&(e.version||e.options.version)==="1.0"){if(s[0]==="^"){e.warnings.push(new r.YAMLWarning(t,"YAML 1.0 ^ tag expansion is not supported"));return s}if(/[:/]/.test(s)){const e=s.match(/^([a-z0-9-]+)\/(.*)/i);return e?`tag:${e[1]}.yaml.org,2002:${e[2]}`:`tag:${s}`}}return i.prefix+decodeURIComponent(s)}function resolveTagName(e,t){const{tag:n,type:s}=t;let i=false;if(n){const{handle:s,suffix:o,verbatim:a}=n;if(a){if(a!=="!"&&a!=="!!")return a;const n=`Verbatim tags aren't resolved, so ${a} is invalid.`;e.errors.push(new r.YAMLSemanticError(t,n))}else if(s==="!"&&!o){i=true}else{try{return resolveTagHandle(e,t)}catch(t){e.errors.push(t)}}}switch(s){case r.Type.BLOCK_FOLDED:case r.Type.BLOCK_LITERAL:case r.Type.QUOTE_DOUBLE:case r.Type.QUOTE_SINGLE:return r.defaultTags.STR;case r.Type.FLOW_MAP:case r.Type.MAP:return r.defaultTags.MAP;case r.Type.FLOW_SEQ:case r.Type.SEQ:return r.defaultTags.SEQ;case r.Type.PLAIN:return i?r.defaultTags.STR:null;default:return null}}function resolveByTagName(e,t,n){const{tags:r}=e.schema;const s=[];for(const i of r){if(i.tag===n){if(i.test)s.push(i);else{const n=i.resolve(e,t);return n instanceof Collection?n:new Scalar(n)}}}const i=resolveString(e,t);if(typeof i==="string"&&s.length>0)return resolveScalar(i,s,r.scalarFallback);return null}function getFallbackTagName({type:e}){switch(e){case r.Type.FLOW_MAP:case r.Type.MAP:return r.defaultTags.MAP;case r.Type.FLOW_SEQ:case r.Type.SEQ:return r.defaultTags.SEQ;default:return r.defaultTags.STR}}function resolveTag(e,t,n){try{const r=resolveByTagName(e,t,n);if(r){if(n&&t.tag)r.tag=n;return r}}catch(n){if(!n.source)n.source=t;e.errors.push(n);return null}try{const s=getFallbackTagName(t);if(!s)throw new Error(`The tag ${n} is unavailable`);const i=`The tag ${n} is unavailable, falling back to ${s}`;e.warnings.push(new r.YAMLWarning(t,i));const o=resolveByTagName(e,t,s);o.tag=n;return o}catch(n){const s=new r.YAMLReferenceError(t,n.message);s.stack=n.stack;e.errors.push(s);return null}}const isCollectionItem=e=>{if(!e)return false;const{type:t}=e;return t===r.Type.MAP_KEY||t===r.Type.MAP_VALUE||t===r.Type.SEQ_ITEM};function resolveNodeProps(e,t){const n={before:[],after:[]};let s=false;let i=false;const o=isCollectionItem(t.context.parent)?t.context.parent.props.concat(t.props):t.props;for(const{start:a,end:c}of o){switch(t.context.src[a]){case r.Char.COMMENT:{if(!t.commentHasRequiredWhitespace(a)){const n="Comments must be separated from other tokens by white space characters";e.push(new r.YAMLSemanticError(t,n))}const{header:s,valueRange:i}=t;const o=i&&(a>i.start||s&&a>s.start)?n.after:n.before;o.push(t.context.src.slice(a+1,c));break}case r.Char.ANCHOR:if(s){const n="A node can have at most one anchor";e.push(new r.YAMLSemanticError(t,n))}s=true;break;case r.Char.TAG:if(i){const n="A node can have at most one tag";e.push(new r.YAMLSemanticError(t,n))}i=true;break}}return{comments:n,hasAnchor:s,hasTag:i}}function resolveNodeValue(e,t){const{anchors:n,errors:s,schema:i}=e;if(t.type===r.Type.ALIAS){const e=t.rawValue;const i=n.getNode(e);if(!i){const n=`Aliased anchor not found: ${e}`;s.push(new r.YAMLReferenceError(t,n));return null}const o=new Alias(i);n._cstAliases.push(o);return o}const o=resolveTagName(e,t);if(o)return resolveTag(e,t,o);if(t.type!==r.Type.PLAIN){const e=`Failed to resolve ${t.type} node here`;s.push(new r.YAMLSyntaxError(t,e));return null}try{const n=resolveString(e,t);return resolveScalar(n,i.tags,i.tags.scalarFallback)}catch(e){if(!e.source)e.source=t;s.push(e);return null}}function resolveNode(e,t){if(!t)return null;if(t.error)e.errors.push(t.error);const{comments:n,hasAnchor:s,hasTag:i}=resolveNodeProps(e.errors,t);if(s){const{anchors:n}=e;const r=t.anchor;const s=n.getNode(r);if(s)n.map[n.newName(r)]=s;n.map[r]=t}if(t.type===r.Type.ALIAS&&(s||i)){const n="An alias node must not specify any properties";e.errors.push(new r.YAMLSemanticError(t,n))}const o=resolveNodeValue(e,t);if(o){o.range=[t.range.start,t.range.end];if(e.options.keepCstNodes)o.cstNode=t;if(e.options.keepNodeTypes)o.type=t.type;const r=n.before.join("\n");if(r){o.commentBefore=o.commentBefore?`${o.commentBefore}\n${r}`:r}const s=n.after.join("\n");if(s)o.comment=o.comment?`${o.comment}\n${s}`:s}return t.resolved=o}function resolveMap(e,t){if(t.type!==r.Type.MAP&&t.type!==r.Type.FLOW_MAP){const n=`A ${t.type} node cannot be resolved as a mapping`;e.errors.push(new r.YAMLSyntaxError(t,n));return null}const{comments:n,items:i}=t.type===r.Type.FLOW_MAP?resolveFlowMapItems(e,t):resolveBlockMapItems(e,t);const o=new YAMLMap;o.items=i;resolveComments(o,n);let a=false;for(let n=0;n<i.length;++n){const{key:o}=i[n];if(o instanceof Collection)a=true;if(e.schema.merge&&o&&o.value===s){i[n]=new Merge(i[n]);const s=i[n].value.items;let o=null;s.some((e=>{if(e instanceof Alias){const{type:t}=e.source;if(t===r.Type.MAP||t===r.Type.FLOW_MAP)return false;return o="Merge nodes aliases can only point to maps"}return o="Merge nodes can only have Alias nodes as values"}));if(o)e.errors.push(new r.YAMLSemanticError(t,o))}else{for(let s=n+1;s<i.length;++s){const{key:n}=i[s];if(o===n||o&&n&&Object.prototype.hasOwnProperty.call(o,"value")&&o.value===n.value){const n=`Map keys must be unique; "${o}" is repeated`;e.errors.push(new r.YAMLSemanticError(t,n));break}}}}if(a&&!e.options.mapAsMap){const n="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";e.warnings.push(new r.YAMLWarning(t,n))}t.resolved=o;return o}const valueHasPairComment=({context:{lineStart:e,node:t,src:n},props:s})=>{if(s.length===0)return false;const{start:i}=s[0];if(t&&i>t.valueRange.start)return false;if(n[i]!==r.Char.COMMENT)return false;for(let t=e;t<i;++t)if(n[t]==="\n")return false;return true};function resolvePairComment(e,t){if(!valueHasPairComment(e))return;const n=e.getPropValue(0,r.Char.COMMENT,true);let s=false;const i=t.value.commentBefore;if(i&&i.startsWith(n)){t.value.commentBefore=i.substr(n.length+1);s=true}else{const r=t.value.comment;if(!e.node&&r&&r.startsWith(n)){t.value.comment=r.substr(n.length+1);s=true}}if(s)t.comment=n}function resolveBlockMapItems(e,t){const n=[];const s=[];let i=undefined;let o=null;for(let a=0;a<t.items.length;++a){const c=t.items[a];switch(c.type){case r.Type.BLANK_LINE:n.push({afterKey:!!i,before:s.length});break;case r.Type.COMMENT:n.push({afterKey:!!i,before:s.length,comment:c.comment});break;case r.Type.MAP_KEY:if(i!==undefined)s.push(new Pair(i));if(c.error)e.errors.push(c.error);i=resolveNode(e,c.node);o=null;break;case r.Type.MAP_VALUE:{if(i===undefined)i=null;if(c.error)e.errors.push(c.error);if(!c.context.atLineStart&&c.node&&c.node.type===r.Type.MAP&&!c.node.context.atLineStart){const t="Nested mappings are not allowed in compact mappings";e.errors.push(new r.YAMLSemanticError(c.node,t))}let n=c.node;if(!n&&c.props.length>0){n=new r.PlainValue(r.Type.PLAIN,[]);n.context={parent:c,src:c.context.src};const e=c.range.start+1;n.range={start:e,end:e};n.valueRange={start:e,end:e};if(typeof c.range.origStart==="number"){const e=c.range.origStart+1;n.range.origStart=n.range.origEnd=e;n.valueRange.origStart=n.valueRange.origEnd=e}}const a=new Pair(i,resolveNode(e,n));resolvePairComment(c,a);s.push(a);if(i&&typeof o==="number"){if(c.range.start>o+1024)e.errors.push(getLongKeyError(t,i))}i=undefined;o=null}break;default:if(i!==undefined)s.push(new Pair(i));i=resolveNode(e,c);o=c.range.start;if(c.error)e.errors.push(c.error);e:for(let n=a+1;;++n){const s=t.items[n];switch(s&&s.type){case r.Type.BLANK_LINE:case r.Type.COMMENT:continue e;case r.Type.MAP_VALUE:break e;default:{const t="Implicit map keys need to be followed by map values";e.errors.push(new r.YAMLSemanticError(c,t));break e}}}if(c.valueRangeContainsNewline){const t="Implicit map keys need to be on a single line";e.errors.push(new r.YAMLSemanticError(c,t))}}}if(i!==undefined)s.push(new Pair(i));return{comments:n,items:s}}function resolveFlowMapItems(e,t){const n=[];const s=[];let i=undefined;let o=false;let a="{";for(let c=0;c<t.items.length;++c){const l=t.items[c];if(typeof l.char==="string"){const{char:n,offset:u}=l;if(n==="?"&&i===undefined&&!o){o=true;a=":";continue}if(n===":"){if(i===undefined)i=null;if(a===":"){a=",";continue}}else{if(o){if(i===undefined&&n!==",")i=null;o=false}if(i!==undefined){s.push(new Pair(i));i=undefined;if(n===","){a=":";continue}}}if(n==="}"){if(c===t.items.length-1)continue}else if(n===a){a=":";continue}const f=`Flow map contains an unexpected ${n}`;const d=new r.YAMLSyntaxError(t,f);d.offset=u;e.errors.push(d)}else if(l.type===r.Type.BLANK_LINE){n.push({afterKey:!!i,before:s.length})}else if(l.type===r.Type.COMMENT){checkFlowCommentSpace(e.errors,l);n.push({afterKey:!!i,before:s.length,comment:l.comment})}else if(i===undefined){if(a===",")e.errors.push(new r.YAMLSemanticError(l,"Separator , missing in flow map"));i=resolveNode(e,l)}else{if(a!==",")e.errors.push(new r.YAMLSemanticError(l,"Indicator : missing in flow map entry"));s.push(new Pair(i,resolveNode(e,l)));i=undefined;o=false}}checkFlowCollectionEnd(e.errors,t);if(i!==undefined)s.push(new Pair(i));return{comments:n,items:s}}function resolveSeq(e,t){if(t.type!==r.Type.SEQ&&t.type!==r.Type.FLOW_SEQ){const n=`A ${t.type} node cannot be resolved as a sequence`;e.errors.push(new r.YAMLSyntaxError(t,n));return null}const{comments:n,items:s}=t.type===r.Type.FLOW_SEQ?resolveFlowSeqItems(e,t):resolveBlockSeqItems(e,t);const i=new YAMLSeq;i.items=s;resolveComments(i,n);if(!e.options.mapAsMap&&s.some((e=>e instanceof Pair&&e.key instanceof Collection))){const n="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";e.warnings.push(new r.YAMLWarning(t,n))}t.resolved=i;return i}function resolveBlockSeqItems(e,t){const n=[];const s=[];for(let i=0;i<t.items.length;++i){const o=t.items[i];switch(o.type){case r.Type.BLANK_LINE:n.push({before:s.length});break;case r.Type.COMMENT:n.push({comment:o.comment,before:s.length});break;case r.Type.SEQ_ITEM:if(o.error)e.errors.push(o.error);s.push(resolveNode(e,o.node));if(o.hasProps){const t="Sequence items cannot have tags or anchors before the - indicator";e.errors.push(new r.YAMLSemanticError(o,t))}break;default:if(o.error)e.errors.push(o.error);e.errors.push(new r.YAMLSyntaxError(o,`Unexpected ${o.type} node in sequence`))}}return{comments:n,items:s}}function resolveFlowSeqItems(e,t){const n=[];const s=[];let i=false;let o=undefined;let a=null;let c="[";let l=null;for(let u=0;u<t.items.length;++u){const f=t.items[u];if(typeof f.char==="string"){const{char:n,offset:d}=f;if(n!==":"&&(i||o!==undefined)){if(i&&o===undefined)o=c?s.pop():null;s.push(new Pair(o));i=false;o=undefined;a=null}if(n===c){c=null}else if(!c&&n==="?"){i=true}else if(c!=="["&&n===":"&&o===undefined){if(c===","){o=s.pop();if(o instanceof Pair){const n="Chaining flow sequence pairs is invalid";const s=new r.YAMLSemanticError(t,n);s.offset=d;e.errors.push(s)}if(!i&&typeof a==="number"){const n=f.range?f.range.start:f.offset;if(n>a+1024)e.errors.push(getLongKeyError(t,o));const{src:s}=l.context;for(let t=a;t<n;++t)if(s[t]==="\n"){const t="Implicit keys of flow sequence pairs need to be on a single line";e.errors.push(new r.YAMLSemanticError(l,t));break}}}else{o=null}a=null;i=false;c=null}else if(c==="["||n!=="]"||u<t.items.length-1){const s=`Flow sequence contains an unexpected ${n}`;const i=new r.YAMLSyntaxError(t,s);i.offset=d;e.errors.push(i)}}else if(f.type===r.Type.BLANK_LINE){n.push({before:s.length})}else if(f.type===r.Type.COMMENT){checkFlowCommentSpace(e.errors,f);n.push({comment:f.comment,before:s.length})}else{if(c){const t=`Expected a ${c} in flow sequence`;e.errors.push(new r.YAMLSemanticError(f,t))}const t=resolveNode(e,f);if(o===undefined){s.push(t);l=f}else{s.push(new Pair(o,t));o=undefined}a=f.range.start;c=","}}checkFlowCollectionEnd(e.errors,t);if(o!==undefined)s.push(new Pair(o));return{comments:n,items:s}}t.Alias=Alias;t.Collection=Collection;t.Merge=Merge;t.Node=Node;t.Pair=Pair;t.Scalar=Scalar;t.YAMLMap=YAMLMap;t.YAMLSeq=YAMLSeq;t.addComment=addComment;t.binaryOptions=i;t.boolOptions=o;t.findPair=findPair;t.intOptions=a;t.isEmptyPath=isEmptyPath;t.nullOptions=c;t.resolveMap=resolveMap;t.resolveNode=resolveNode;t.resolveSeq=resolveSeq;t.resolveString=resolveString;t.strOptions=l;t.stringifyNumber=stringifyNumber;t.stringifyString=stringifyString;t.toJSON=toJSON},130:(e,t,n)=>{"use strict";var r=n(941);var s=n(914);const i={identify:e=>e instanceof Uint8Array,default:false,tag:"tag:yaml.org,2002:binary",resolve:(e,t)=>{const n=s.resolveString(e,t);if(typeof Buffer==="function"){return Buffer.from(n,"base64")}else if(typeof atob==="function"){const e=atob(n.replace(/[\n\r]/g,""));const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}else{const n="This environment does not support reading binary tags; either Buffer or atob is required";e.errors.push(new r.YAMLReferenceError(t,n));return null}},options:s.binaryOptions,stringify:({comment:e,type:t,value:n},i,o,a)=>{let c;if(typeof Buffer==="function"){c=n instanceof Buffer?n.toString("base64"):Buffer.from(n.buffer).toString("base64")}else if(typeof btoa==="function"){let e="";for(let t=0;t<n.length;++t)e+=String.fromCharCode(n[t]);c=btoa(e)}else{throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required")}if(!t)t=s.binaryOptions.defaultType;if(t===r.Type.QUOTE_DOUBLE){n=c}else{const{lineWidth:e}=s.binaryOptions;const i=Math.ceil(c.length/e);const o=new Array(i);for(let t=0,n=0;t<i;++t,n+=e){o[t]=c.substr(n,e)}n=o.join(t===r.Type.BLOCK_LITERAL?"\n":" ")}return s.stringifyString({comment:e,type:t,value:n},i,o,a)}};function parsePairs(e,t){const n=s.resolveSeq(e,t);for(let e=0;e<n.items.length;++e){let i=n.items[e];if(i instanceof s.Pair)continue;else if(i instanceof s.YAMLMap){if(i.items.length>1){const e="Each pair must have its own sequence indicator";throw new r.YAMLSemanticError(t,e)}const e=i.items[0]||new s.Pair;if(i.commentBefore)e.commentBefore=e.commentBefore?`${i.commentBefore}\n${e.commentBefore}`:i.commentBefore;if(i.comment)e.comment=e.comment?`${i.comment}\n${e.comment}`:i.comment;i=e}n.items[e]=i instanceof s.Pair?i:new s.Pair(i)}return n}function createPairs(e,t,n){const r=new s.YAMLSeq(e);r.tag="tag:yaml.org,2002:pairs";for(const s of t){let t,i;if(Array.isArray(s)){if(s.length===2){t=s[0];i=s[1]}else throw new TypeError(`Expected [key, value] tuple: ${s}`)}else if(s&&s instanceof Object){const e=Object.keys(s);if(e.length===1){t=e[0];i=s[t]}else throw new TypeError(`Expected { key: value } tuple: ${s}`)}else{t=s}const o=e.createPair(t,i,n);r.items.push(o)}return r}const o={default:false,tag:"tag:yaml.org,2002:pairs",resolve:parsePairs,createNode:createPairs};class YAMLOMap extends s.YAMLSeq{constructor(){super();r._defineProperty(this,"add",s.YAMLMap.prototype.add.bind(this));r._defineProperty(this,"delete",s.YAMLMap.prototype.delete.bind(this));r._defineProperty(this,"get",s.YAMLMap.prototype.get.bind(this));r._defineProperty(this,"has",s.YAMLMap.prototype.has.bind(this));r._defineProperty(this,"set",s.YAMLMap.prototype.set.bind(this));this.tag=YAMLOMap.tag}toJSON(e,t){const n=new Map;if(t&&t.onCreate)t.onCreate(n);for(const e of this.items){let r,i;if(e instanceof s.Pair){r=s.toJSON(e.key,"",t);i=s.toJSON(e.value,r,t)}else{r=s.toJSON(e,"",t)}if(n.has(r))throw new Error("Ordered maps must not include duplicate keys");n.set(r,i)}return n}}r._defineProperty(YAMLOMap,"tag","tag:yaml.org,2002:omap");function parseOMap(e,t){const n=parsePairs(e,t);const i=[];for(const{key:e}of n.items){if(e instanceof s.Scalar){if(i.includes(e.value)){const e="Ordered maps must not include duplicate keys";throw new r.YAMLSemanticError(t,e)}else{i.push(e.value)}}}return Object.assign(new YAMLOMap,n)}function createOMap(e,t,n){const r=createPairs(e,t,n);const s=new YAMLOMap;s.items=r.items;return s}const a={identify:e=>e instanceof Map,nodeClass:YAMLOMap,default:false,tag:"tag:yaml.org,2002:omap",resolve:parseOMap,createNode:createOMap};class YAMLSet extends s.YAMLMap{constructor(){super();this.tag=YAMLSet.tag}add(e){const t=e instanceof s.Pair?e:new s.Pair(e);const n=s.findPair(this.items,t.key);if(!n)this.items.push(t)}get(e,t){const n=s.findPair(this.items,e);return!t&&n instanceof s.Pair?n.key instanceof s.Scalar?n.key.value:n.key:n}set(e,t){if(typeof t!=="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);const n=s.findPair(this.items,e);if(n&&!t){this.items.splice(this.items.indexOf(n),1)}else if(!n&&t){this.items.push(new s.Pair(e))}}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(e,t,n);else throw new Error("Set items must all have null values")}}r._defineProperty(YAMLSet,"tag","tag:yaml.org,2002:set");function parseSet(e,t){const n=s.resolveMap(e,t);if(!n.hasAllNullValues())throw new r.YAMLSemanticError(t,"Set items must all have null values");return Object.assign(new YAMLSet,n)}function createSet(e,t,n){const r=new YAMLSet;for(const s of t)r.items.push(e.createPair(s,null,n));return r}const c={identify:e=>e instanceof Set,nodeClass:YAMLSet,default:false,tag:"tag:yaml.org,2002:set",resolve:parseSet,createNode:createSet};const parseSexagesimal=(e,t)=>{const n=t.split(":").reduce(((e,t)=>e*60+Number(t)),0);return e==="-"?-n:n};const stringifySexagesimal=({value:e})=>{if(isNaN(e)||!isFinite(e))return s.stringifyNumber(e);let t="";if(e<0){t="-";e=Math.abs(e)}const n=[e%60];if(e<60){n.unshift(0)}else{e=Math.round((e-n[0])/60);n.unshift(e%60);if(e>=60){e=Math.round((e-n[0])/60);n.unshift(e)}}return t+n.map((e=>e<10?"0"+String(e):String(e))).join(":").replace(/000000\d*$/,"")};const l={identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(e,t,n)=>parseSexagesimal(t,n.replace(/_/g,"")),stringify:stringifySexagesimal};const u={identify:e=>typeof e==="number",default:true,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(e,t,n)=>parseSexagesimal(t,n.replace(/_/g,"")),stringify:stringifySexagesimal};const f={identify:e=>e instanceof Date,default:true,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:"+"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"+"(?:(?:t|T|[ \\t]+)"+"([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)"+"(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?"+")?"+")$"),resolve:(e,t,n,r,s,i,o,a,c)=>{if(a)a=(a+"00").substr(1,3);let l=Date.UTC(t,n-1,r,s||0,i||0,o||0,a||0);if(c&&c!=="Z"){let e=parseSexagesimal(c[0],c.slice(1));if(Math.abs(e)<30)e*=60;l-=6e4*e}return new Date(l)},stringify:({value:e})=>e.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function shouldWarn(e){const t=typeof process!=="undefined"&&process.env||{};if(e){if(typeof YAML_SILENCE_DEPRECATION_WARNINGS!=="undefined")return!YAML_SILENCE_DEPRECATION_WARNINGS;return!t.YAML_SILENCE_DEPRECATION_WARNINGS}if(typeof YAML_SILENCE_WARNINGS!=="undefined")return!YAML_SILENCE_WARNINGS;return!t.YAML_SILENCE_WARNINGS}function warn(e,t){if(shouldWarn(false)){const n=typeof process!=="undefined"&&process.emitWarning;if(n)n(e,t);else{console.warn(t?`${t}: ${e}`:e)}}}function warnFileDeprecation(e){if(shouldWarn(true)){const t=e.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");warn(`The endpoint 'yaml/${t}' will be removed in a future release.`,"DeprecationWarning")}}const d={};function warnOptionDeprecation(e,t){if(!d[e]&&shouldWarn(true)){d[e]=true;let n=`The option '${e}' will be removed in a future release`;n+=t?`, use '${t}' instead.`:".";warn(n,"DeprecationWarning")}}t.binary=i;t.floatTime=u;t.intTime=l;t.omap=a;t.pairs=o;t.set=c;t.timestamp=f;t.warn=warn;t.warnFileDeprecation=warnFileDeprecation;t.warnOptionDeprecation=warnOptionDeprecation},603:(e,t,n)=>{e.exports=n(83).YAML}};var r={};function __nccwpck_require2_(e){var n=r[e];if(n!==undefined){return n.exports}var s=r[e]={exports:{}};var i=true;try{t[e].call(s.exports,s,s.exports,__nccwpck_require2_);i=false}finally{if(i)delete r[e]}return s.exports}if(typeof __nccwpck_require2_!=="undefined")__nccwpck_require2_.ab=__dirname+"/";var s=__nccwpck_require2_(144);e.exports=s})()},294:(e,t,n)=>{e.exports=n(219)},219:(e,t,n)=>{"use strict";var r=n(808);var s=n(404);var i=n(685);var o=n(687);var a=n(361);var c=n(491);var l=n(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=o.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=o.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,n,r,s){var i=toOptions(n,r,s);for(var o=0,a=t.requests.length;o<a;++o){var c=t.requests[o];if(c.host===i.host&&c.port===i.port){t.requests.splice(o,1);c.request.onSocket(e);return}}e.destroy();t.removeSocket(e)}))}l.inherits(TunnelingAgent,a.EventEmitter);TunnelingAgent.prototype.addRequest=function addRequest(e,t,n,r){var s=this;var i=mergeOptions({request:e},s.options,toOptions(t,n,r));if(s.sockets.length>=this.maxSockets){s.requests.push(i);return}s.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){s.emit("free",t,i)}function onCloseOrRemove(e){s.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var n=this;var r={};n.sockets.push(r);var s=mergeOptions({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){s.localAddress=e.localAddress}if(s.proxyAuth){s.headers=s.headers||{};s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")}u("making CONNECT request");var i=n.request(s);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,n){process.nextTick((function(){onConnect(e,t,n)}))}function onConnect(s,o,a){i.removeAllListeners();o.removeAllListeners();if(s.statusCode!==200){u("tunneling socket could not be established, statusCode=%d",s.statusCode);o.destroy();var c=new Error("tunneling socket could not be established, "+"statusCode="+s.statusCode);c.code="ECONNRESET";e.request.emit("error",c);n.removeSocket(r);return}if(a.length>0){u("got illegal response body from proxy");o.destroy();var c=new Error("got illegal response body from proxy");c.code="ECONNRESET";e.request.emit("error",c);n.removeSocket(r);return}u("tunneling connection has established");n.sockets[n.sockets.indexOf(r)]=o;return t(o)}function onError(t){i.removeAllListeners();u("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var s=new Error("tunneling socket could not be established, "+"cause="+t.message);s.code="ECONNRESET";e.request.emit("error",s);n.removeSocket(r)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var n=this.requests.shift();if(n){this.createSocket(n,(function(e){n.request.onSocket(e)}))}};function createSecureSocket(e,t){var n=this;TunnelingAgent.prototype.createSocket.call(n,e,(function(r){var i=e.request.getHeader("host");var o=mergeOptions({},n.options,{socket:r,servername:i?i.replace(/:.*$/,""):e.host});var a=s.connect(0,o);n.sockets[n.sockets.indexOf(r)]=a;t(a)}))}function toOptions(e,t,n){if(typeof e==="string"){return{host:e,port:t,localAddress:n}}return e}function mergeOptions(e){for(var t=1,n=arguments.length;t<n;++t){var r=arguments[t];if(typeof r==="object"){var s=Object.keys(r);for(var i=0,o=s.length;i<o;++i){var a=s[i];if(r[a]!==undefined){e[a]=r[a]}}}}return e}var u;if(process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)){u=function(){var e=Array.prototype.slice.call(arguments);if(typeof e[0]==="string"){e[0]="TUNNEL: "+e[0]}else{e.unshift("TUNNEL:")}console.error.apply(console,e)}}else{u=function(){}}t.debug=u},48:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.BaseClient=void 0;const i=s(n(687));const o=n(310);const{version:a}=n(598);class BaseClient{static request(e,t){if(!e.headers){e.headers={}}if(!e.headers["User-Agent"]){e.headers["User-Agent"]=`google-github-actions:auth/${a}`}return new Promise(((n,r)=>{const s=i.default.request(e,(e=>{e.setEncoding("utf8");let t="";e.on("data",(e=>{t+=e}));e.on("end",(()=>{if(e.statusCode&&e.statusCode>=400){r(t)}else{n(t)}}))}));s.on("error",(e=>{r(e)}));if(t!=null){s.write(t)}s.end()}))}static googleIDToken(e,{serviceAccount:t,audience:n,delegates:s,includeEmail:i}){return r(this,void 0,void 0,(function*(){const r=`projects/-/serviceAccounts/${t}`;const a=new o.URL(`https://iamcredentials.googleapis.com/v1/${r}:generateIdToken`);const c={delegates:s,audience:n,includeEmail:i};const l={hostname:a.hostname,port:a.port,path:a.pathname+a.search,method:"POST",headers:{Authorization:`Bearer ${e}`,Accept:"application/json","Content-Type":"application/json"}};try{const e=yield BaseClient.request(l,JSON.stringify(c));const t=JSON.parse(e);return{token:t["token"]}}catch(e){throw new Error(`failed to generate Google Cloud ID token for ${t}: ${e}`)}}))}static googleAccessToken(e,{serviceAccount:t,delegates:n,scopes:s,lifetime:i}){return r(this,void 0,void 0,(function*(){const r=`projects/-/serviceAccounts/${t}`;const a=new o.URL(`https://iamcredentials.googleapis.com/v1/${r}:generateAccessToken`);const c={};if(n&&n.length>0){c.delegates=n}if(s&&s.length>0){c.scope=s}if(i&&i>0){c.lifetime=`${i}s`}const l={hostname:a.hostname,port:a.port,path:a.pathname+a.search,method:"POST",headers:{Authorization:`Bearer ${e}`,Accept:"application/json","Content-Type":"application/json"}};try{const e=yield BaseClient.request(l,JSON.stringify(c));const t=JSON.parse(e);return{accessToken:t["accessToken"],expiration:t["expireTime"]}}catch(e){throw new Error(`Failed to generate Google Cloud access token for ${t}: ${e}`)}}))}static googleOAuthToken(e){return r(this,void 0,void 0,(function*(){const t=new o.URL("https://oauth2.googleapis.com/token");const n={hostname:t.hostname,port:t.port,path:t.pathname+t.search,method:"POST",headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}};const r=new o.URLSearchParams;r.append("grant_type","urn:ietf:params:oauth:grant-type:jwt-bearer");r.append("assertion",e);try{const e=yield BaseClient.request(n,r.toString());const t=JSON.parse(e);const s=new Date((new Date).getTime()+t["expires_in"]*1e4);return{accessToken:t["access_token"],expiration:s.toISOString()}}catch(e){throw new Error(`Failed to generate Google Cloud OAuth token: ${e}`)}}))}}t.BaseClient=BaseClient},326:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};var s=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?s.call(e,n):s?s.value=n:t.set(e,n),n};var i=this&&this.__classPrivateFieldGet||function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)};var o,a;Object.defineProperty(t,"__esModule",{value:true});t.CredentialsJSONClient=void 0;const c=n(113);const l=n(308);class CredentialsJSONClient{constructor(e){o.set(this,void 0);a.set(this,void 0);const t=(0,l.parseCredential)(e.credentialsJSON);if(!(0,l.isServiceAccountKey)(t)){throw new Error(`Provided credential is not a valid service account key JSON`)}s(this,a,t,"f");s(this,o,e.projectID||i(this,a,"f").project_id,"f")}getAuthToken(){return r(this,void 0,void 0,(function*(){const e={alg:"RS256",typ:"JWT",kid:i(this,a,"f").private_key_id};const t=Math.floor((new Date).getTime()/1e3);const n={iss:i(this,a,"f").client_email,sub:i(this,a,"f").client_email,aud:"https://iamcredentials.googleapis.com/",iat:t,exp:t+3599};const r=(0,l.toBase64)(JSON.stringify(e))+"."+(0,l.toBase64)(JSON.stringify(n));try{const e=(0,c.createSign)("RSA-SHA256");e.write(r);e.end();const t=e.sign(i(this,a,"f").private_key);return r+"."+(0,l.toBase64)(t)}catch(e){throw new Error(`Failed to sign auth token using ${yield this.getServiceAccount()}: ${e}`)}}))}signJWT(e){return r(this,void 0,void 0,(function*(){const t={alg:"RS256",typ:"JWT",kid:i(this,a,"f").private_key_id};const n=(0,l.toBase64)(JSON.stringify(t))+"."+(0,l.toBase64)(e);try{const e=(0,c.createSign)("RSA-SHA256");e.write(n);e.end();const t=e.sign(i(this,a,"f").private_key);const r=n+"."+(0,l.toBase64)(t);return r}catch(e){throw new Error(`Failed to sign JWT using ${yield this.getServiceAccount()}: ${e}`)}}))}getProjectID(){return r(this,void 0,void 0,(function*(){return i(this,o,"f")}))}getServiceAccount(){return r(this,void 0,void 0,(function*(){return i(this,a,"f").client_email}))}createCredentialsFile(e){return r(this,void 0,void 0,(function*(){return yield(0,l.writeSecureFile)(e,JSON.stringify(i(this,a,"f")))}))}}t.CredentialsJSONClient=CredentialsJSONClient;o=new WeakMap,a=new WeakMap},790:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};var s=this&&this.__classPrivateFieldSet||function(e,t,n,r,s){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?s.call(e,n):s?s.value=n:t.set(e,n),n};var i=this&&this.__classPrivateFieldGet||function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)};var o,a,c,l,u,f,d;Object.defineProperty(t,"__esModule",{value:true});t.WorkloadIdentityClient=void 0;const p=n(310);const h=n(308);const g=n(48);class WorkloadIdentityClient{constructor(e){o.set(this,void 0);a.set(this,void 0);c.set(this,void 0);l.set(this,void 0);u.set(this,void 0);f.set(this,void 0);d.set(this,void 0);s(this,a,e.providerID,"f");s(this,c,e.serviceAccount,"f");s(this,l,e.token,"f");s(this,u,e.audience,"f");s(this,f,e.oidcTokenRequestURL,"f");s(this,d,e.oidcTokenRequestToken,"f");s(this,o,e.projectID||this.extractProjectIDFromServiceAccountEmail(i(this,c,"f")),"f")}extractProjectIDFromServiceAccountEmail(e){if(!e){return""}const[,t]=e.split("@",2);if(!e.endsWith(".iam.gserviceaccount.com")){throw new Error(`Service account email ${e} is not of the form `+`"[name]@[project].iam.gserviceaccount.com. You must manually `+`specify the "project_id" parameter in your GitHub Actions workflow.`)}const[n]=t.split(".",2);return n}getAuthToken(){return r(this,void 0,void 0,(function*(){const e=new p.URL("https://sts.googleapis.com/v1/token");const t={audience:"//iam.googleapis.com/"+i(this,a,"f"),grantType:"urn:ietf:params:oauth:grant-type:token-exchange",requestedTokenType:"urn:ietf:params:oauth:token-type:access_token",scope:"https://www.googleapis.com/auth/cloud-platform",subjectTokenType:"urn:ietf:params:oauth:token-type:jwt",subjectToken:i(this,l,"f")};const n={hostname:e.hostname,port:e.port,path:e.pathname+e.search,method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"}};try{const e=yield g.BaseClient.request(n,JSON.stringify(t));const r=JSON.parse(e);return r["access_token"]}catch(e){throw new Error(`Failed to generate Google Cloud federated token for ${i(this,a,"f")}: ${e}`)}}))}signJWT(e,t){return r(this,void 0,void 0,(function*(){const n=yield this.getServiceAccount();const r=yield this.getAuthToken();const s=new p.URL(`https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/${n}:signJwt`);const i={payload:e};if(t&&t.length>0){i.delegates=t}const o={hostname:s.hostname,port:s.port,path:s.pathname+s.search,method:"POST",headers:{Accept:"application/json",Authorization:`Bearer ${r}`,"Content-Type":"application/json"}};try{const e=yield g.BaseClient.request(o,JSON.stringify(i));const t=JSON.parse(e);return t["signedJwt"]}catch(e){throw new Error(`Failed to sign JWT using ${n}: ${e}`)}}))}getProjectID(){return r(this,void 0,void 0,(function*(){return i(this,o,"f")}))}getServiceAccount(){return r(this,void 0,void 0,(function*(){return i(this,c,"f")}))}createCredentialsFile(e){return r(this,void 0,void 0,(function*(){const t=new p.URL(i(this,f,"f"));const n=t.searchParams;n.set("audience",i(this,u,"f"));t.search=n.toString();const r={type:"external_account",audience:`//iam.googleapis.com/${i(this,a,"f")}`,subject_token_type:"urn:ietf:params:oauth:token-type:jwt",token_url:"https://sts.googleapis.com/v1/token",service_account_impersonation_url:`https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/${i(this,c,"f")}:generateAccessToken`,credential_source:{url:t,headers:{Authorization:`Bearer ${i(this,d,"f")}`},format:{type:"json",subject_token_field_name:"value"}}};return yield(0,h.writeSecureFile)(e,JSON.stringify(r))}))}}t.WorkloadIdentityClient=WorkloadIdentityClient;o=new WeakMap,a=new WeakMap,c=new WeakMap,l=new WeakMap,u=new WeakMap,f=new WeakMap,d=new WeakMap},399:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});const s=n(17);const i=n(186);const o=n(308);const a=n(790);const c=n(326);const l=n(48);const u=n(314);const f=`If you are specifying input values via GitHub secrets, ensure the secret `+`is being injected into the environment. By default, secrets are not `+`passed to workflows triggered from forks, including Dependabot.`;const d=`GitHub Actions did not inject $ACTIONS_ID_TOKEN_REQUEST_TOKEN or `+`$ACTIONS_ID_TOKEN_REQUEST_URL into this job. This most likely means the `+`GitHub Actions workflow permissions are incorrect, or this job is being `+`run from a fork. For more information, please see https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token`;function run(){return r(this,void 0,void 0,(function*(){if((0,o.isPinnedToHead)()){(0,i.warning)((0,o.pinnedToHeadWarning)("v0"))}try{const e=(0,i.getInput)("project_id");const t=(0,i.getInput)("workload_identity_provider");const n=(0,i.getInput)("service_account");const r=(0,i.getInput)("audience")||`https://iam.googleapis.com/${t}`;const p=(0,i.getInput)("credentials_json");const h=(0,i.getBooleanInput)("create_credentials_file");const g=(0,i.getBooleanInput)("export_environment_variables");const m=(0,i.getInput)("token_format");const y=(0,o.parseCSV)((0,i.getInput)("delegates"));if(!(0,o.exactlyOneOf)(t,p)){throw new Error("The GitHub Action workflow must specify exactly one of "+'"workload_identity_provider" or "credentials_json"! '+f)}if(t&&!n){throw new Error('The GitHub Action workflow must specify a "service_account" to '+'impersonate when using "workload_identity_provider"! '+f)}let v;if(t){(0,i.debug)(`Using workload identity provider "${t}"`);const s=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;const o=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!s||!o){throw new Error(d)}const c=yield(0,i.getIDToken)(r);v=new a.WorkloadIdentityClient({projectID:e,providerID:t,serviceAccount:n,token:c,audience:r,oidcTokenRequestToken:s,oidcTokenRequestURL:o})}else{(0,i.debug)(`Using credentials JSON`);v=new c.CredentialsJSONClient({projectID:e,credentialsJSON:p})}if(h){(0,i.debug)(`Creating credentials file`);const e=process.env.GITHUB_WORKSPACE;if(!e){throw new Error("$GITHUB_WORKSPACE is not set")}const t=yield(0,o.isEmptyDir)(e);if(t){(0,i.warning)(`The "create_credentials_file" option is true, but the current `+`GitHub workspace is empty. Did you forget to use `+`"actions/checkout" before this step? If you do not intend to `+`share authentication with future steps in this job, set `+`"create_credentials_file" to false.`)}const n=(0,u.generateCredentialsFilename)();const r=(0,s.join)(e,n);const a=yield v.createCredentialsFile(r);(0,i.info)(`Created credentials file at "${a}"`);(0,i.setOutput)("credentials_file_path",a);if(g){exportVariableAndWarn("CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE",a);exportVariableAndWarn("GOOGLE_APPLICATION_CREDENTIALS",a);exportVariableAndWarn("GOOGLE_GHA_CREDS_PATH",a)}}const w=yield v.getProjectID();(0,i.setOutput)("project_id",w);if(g){exportVariableAndWarn("CLOUDSDK_CORE_PROJECT",w);exportVariableAndWarn("CLOUDSDK_PROJECT",w);exportVariableAndWarn("GCLOUD_PROJECT",w);exportVariableAndWarn("GCP_PROJECT",w);exportVariableAndWarn("GOOGLE_CLOUD_PROJECT",w)}switch(m){case"":{break}case null:{break}case"access_token":{(0,i.debug)(`Creating access token`);const e=(0,o.parseDuration)((0,i.getInput)("access_token_lifetime"));const t=(0,o.parseCSV)((0,i.getInput)("access_token_scopes"));const n=(0,i.getInput)("access_token_subject");const r=yield v.getServiceAccount();let s,a;if(n){(0,i.info)(`An access token subject was specified, triggering Domain-Wide `+`Delegation flow. This flow does not support specifying an `+`access token lifetime of greater than 1 hour.`);const o=(0,u.buildDomainWideDelegationJWT)(r,n,t,e);const c=yield v.signJWT(o,y);({accessToken:s,expiration:a}=yield l.BaseClient.googleOAuthToken(c))}else{const n=yield v.getAuthToken();({accessToken:s,expiration:a}=yield l.BaseClient.googleAccessToken(n,{serviceAccount:r,delegates:y,scopes:t,lifetime:e}))}(0,i.setSecret)(s);(0,i.setOutput)("access_token",s);(0,i.setOutput)("access_token_expiration",a);break}case"id_token":{(0,i.debug)(`Creating id token`);const e=(0,i.getInput)("id_token_audience",{required:true});const t=(0,i.getBooleanInput)("id_token_include_email");const n=yield v.getServiceAccount();const r=yield v.getAuthToken();const{token:s}=yield l.BaseClient.googleIDToken(r,{serviceAccount:n,audience:e,delegates:y,includeEmail:t});(0,i.setSecret)(s);(0,i.setOutput)("id_token",s);break}default:{throw new Error(`Unknown token format "${m}"`)}}}catch(e){const t=(0,o.errorMessage)(e);(0,i.setFailed)(`google-github-actions/auth failed with: ${t}`)}}))}function exportVariableAndWarn(e,t){const n=process.env[e];if(n){const t=JSON.stringify(n);(0,i.warning)(`Overwriting existing environment variable ${e} (was: ${t})`)}(0,i.exportVariable)(e,t)}run()},314:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.generateCredentialsFilename=t.buildDomainWideDelegationJWT=void 0;const r=n(308);function buildDomainWideDelegationJWT(e,t,n,r){const s=Math.floor((new Date).getTime()/1e3);const i={iss:e,aud:"https://oauth2.googleapis.com/token",iat:s,exp:s+r};if(t&&t.trim().length>0){i.sub=t}if(n&&n.length>0){i.scope=n.join(" ")}return JSON.stringify(i)}t.buildDomainWideDelegationJWT=buildDomainWideDelegationJWT;function generateCredentialsFilename(){return"gha-creds-"+(0,r.randomFilename)(8)+".json"}t.generateCredentialsFilename=generateCredentialsFilename},491:e=>{"use strict";e.exports=require("assert")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},310:e=>{"use strict";e.exports=require("url")},837:e=>{"use strict";e.exports=require("util")},598:e=>{"use strict";e.exports=JSON.parse('{"name":"@google-github-actions/auth","version":"0.6.0","description":"Authenticate to Google Cloud using OIDC tokens or JSON service account keys.","main":"dist/main/index.js","scripts":{"build":"ncc build -m src/main.ts -o dist/main && ncc build -m src/post.ts -o dist/post","lint":"eslint . --ext .ts,.tsx","format":"prettier --write **/*.ts","test":"mocha -r ts-node/register -t 120s \'tests/**/*.test.ts\'"},"repository":{"type":"git","url":"https://github.com/google-github-actions/auth"},"keywords":["actions","google cloud","identity","auth","oidc"],"author":"GoogleCloudPlatform","license":"Apache-2.0","dependencies":{"@actions/core":"^1.6.0","@google-github-actions/actions-utils":"^0.1.6"},"devDependencies":{"@types/chai":"^4.3.0","@types/mocha":"^9.1.0","@types/node":"^17.0.21","@typescript-eslint/eslint-plugin":"^5.15.0","@typescript-eslint/parser":"^5.15.0","@vercel/ncc":"^0.33.3","chai":"^4.3.6","eslint":"^8.11.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","mocha":"^9.2.2","prettier":"^2.6.0","ts-node":"^10.7.0","typescript":"^4.6.2"}}')}};var t={};function __nccwpck_require__(n){var r=t[n];if(r!==undefined){return r.exports}var s=t[n]={exports:{}};var i=true;try{e[n].call(s.exports,s,s.exports,__nccwpck_require__);i=false}finally{if(i)delete t[n]}return s.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var n=__nccwpck_require__(399);module.exports=n})();