/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 351: /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.issue = exports.issueCommand = void 0; const os = __importStar(__nccwpck_require__(37)); const utils_1 = __nccwpck_require__(278); /** * Commands * * Command Format: * ::name key=value,key=value::message * * Examples: * ::warning::This is the message * ::set-env name=MY_VAR::some value */ function issueCommand(command, properties, message) { const cmd = new Command(command, properties, message); process.stdout.write(cmd.toString() + os.EOL); } exports.issueCommand = issueCommand; function issue(name, message = '') { issueCommand(name, {}, message); } exports.issue = issue; const CMD_STRING = '::'; class Command { constructor(command, properties, message) { if (!command) { command = 'missing.command'; } this.command = command; this.properties = properties; this.message = message; } toString() { let cmdStr = CMD_STRING + this.command; if (this.properties && Object.keys(this.properties).length > 0) { cmdStr += ' '; let first = true; for (const key in this.properties) { if (this.properties.hasOwnProperty(key)) { const val = this.properties[key]; if (val) { if (first) { first = false; } else { cmdStr += ','; } cmdStr += `${key}=${escapeProperty(val)}`; } } } } cmdStr += `${CMD_STRING}${escapeData(this.message)}`; return cmdStr; } } function escapeData(s) { return utils_1.toCommandValue(s) .replace(/%/g, '%25') .replace(/\r/g, '%0D') .replace(/\n/g, '%0A'); } function escapeProperty(s) { return utils_1.toCommandValue(s) .replace(/%/g, '%25') .replace(/\r/g, '%0D') .replace(/\n/g, '%0A') .replace(/:/g, '%3A') .replace(/,/g, '%2C'); } //# sourceMappingURL=command.js.map /***/ }), /***/ 186: /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; const command_1 = __nccwpck_require__(351); const file_command_1 = __nccwpck_require__(717); const utils_1 = __nccwpck_require__(278); const os = __importStar(__nccwpck_require__(37)); const path = __importStar(__nccwpck_require__(17)); const oidc_utils_1 = __nccwpck_require__(41); /** * The code to exit an action */ var ExitCode; (function (ExitCode) { /** * A code indicating that the action was successful */ ExitCode[ExitCode["Success"] = 0] = "Success"; /** * A code indicating that the action was a failure */ ExitCode[ExitCode["Failure"] = 1] = "Failure"; })(ExitCode = exports.ExitCode || (exports.ExitCode = {})); //----------------------------------------------------------------------- // Variables //----------------------------------------------------------------------- /** * Sets env variable for this action and future actions in the job * @param name the name of the variable to set * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function exportVariable(name, val) { const convertedVal = utils_1.toCommandValue(val); process.env[name] = convertedVal; const filePath = process.env['GITHUB_ENV'] || ''; if (filePath) { const delimiter = '_GitHubActionsFileCommandDelimeter_'; const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; file_command_1.issueCommand('ENV', commandValue); } else { command_1.issueCommand('set-env', { name }, convertedVal); } } exports.exportVariable = exportVariable; /** * Registers a secret which will get masked from logs * @param secret value of the secret */ function setSecret(secret) { command_1.issueCommand('add-mask', {}, secret); } exports.setSecret = setSecret; /** * Prepends inputPath to the PATH (for this action and future actions) * @param inputPath */ function addPath(inputPath) { const filePath = process.env['GITHUB_PATH'] || ''; if (filePath) { file_command_1.issueCommand('PATH', inputPath); } else { command_1.issueCommand('add-path', {}, inputPath); } process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; } exports.addPath = addPath; /** * Gets the value of an input. * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. * Returns an empty string if the value is not defined. * * @param name name of the input to get * @param options optional. See InputOptions. * @returns string */ function getInput(name, options) { const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; if (options && options.required && !val) { throw new Error(`Input required and not supplied: ${name}`); } if (options && options.trimWhitespace === false) { return val; } return val.trim(); } exports.getInput = getInput; /** * Gets the values of an multiline input. Each value is also trimmed. * * @param name name of the input to get * @param options optional. See InputOptions. * @returns string[] * */ function getMultilineInput(name, options) { const inputs = getInput(name, options) .split('\n') .filter(x => x !== ''); return inputs; } exports.getMultilineInput = getMultilineInput; /** * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. * Support boolean input list: `true | True | TRUE | false | False | FALSE` . * The return value is also in boolean type. * ref: https://yaml.org/spec/1.2/spec.html#id2804923 * * @param name name of the input to get * @param options optional. See InputOptions. * @returns boolean */ function getBooleanInput(name, options) { const trueValue = ['true', 'True', 'TRUE']; const falseValue = ['false', 'False', 'FALSE']; const val = getInput(name, options); if (trueValue.includes(val)) return true; if (falseValue.includes(val)) return false; throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports.getBooleanInput = getBooleanInput; /** * Sets the value of an output. * * @param name name of the output to set * @param value value to store. Non-string values will be converted to a string via JSON.stringify */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function setOutput(name, value) { process.stdout.write(os.EOL); command_1.issueCommand('set-output', { name }, value); } exports.setOutput = setOutput; /** * Enables or disables the echoing of commands into stdout for the rest of the step. * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. * */ function setCommandEcho(enabled) { command_1.issue('echo', enabled ? 'on' : 'off'); } exports.setCommandEcho = setCommandEcho; //----------------------------------------------------------------------- // Results //----------------------------------------------------------------------- /** * Sets the action status to failed. * When the action exits it will be with an exit code of 1 * @param message add error issue message */ function setFailed(message) { process.exitCode = ExitCode.Failure; error(message); } exports.setFailed = setFailed; //----------------------------------------------------------------------- // Logging Commands //----------------------------------------------------------------------- /** * Gets whether Actions Step Debug is on or not */ function isDebug() { return process.env['RUNNER_DEBUG'] === '1'; } exports.isDebug = isDebug; /** * Writes debug message to user log * @param message debug message */ function debug(message) { command_1.issueCommand('debug', {}, message); } exports.debug = debug; /** * Adds an error issue * @param message error issue message. Errors will be converted to string via toString() * @param properties optional properties to add to the annotation. */ function error(message, properties = {}) { command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } exports.error = error; /** * Adds a warning issue * @param message warning issue message. Errors will be converted to string via toString() * @param properties optional properties to add to the annotation. */ function warning(message, properties = {}) { command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } exports.warning = warning; /** * Adds a notice issue * @param message notice issue message. Errors will be converted to string via toString() * @param properties optional properties to add to the annotation. */ function notice(message, properties = {}) { command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } exports.notice = notice; /** * Writes info to log with console.log. * @param message info message */ function info(message) { process.stdout.write(message + os.EOL); } exports.info = info; /** * Begin an output group. * * Output until the next `groupEnd` will be foldable in this group * * @param name The name of the output group */ function startGroup(name) { command_1.issue('group', name); } exports.startGroup = startGroup; /** * End an output group. */ function endGroup() { command_1.issue('endgroup'); } exports.endGroup = endGroup; /** * Wrap an asynchronous function call in a group. * * Returns the same type as the function itself. * * @param name The name of the group * @param fn The function to wrap in the group */ function group(name, fn) { return __awaiter(this, void 0, void 0, function* () { startGroup(name); let result; try { result = yield fn(); } finally { endGroup(); } return result; }); } exports.group = group; //----------------------------------------------------------------------- // Wrapper action state //----------------------------------------------------------------------- /** * Saves state for current action, the state can only be retrieved by this action's post job execution. * * @param name name of the state to store * @param value value to store. Non-string values will be converted to a string via JSON.stringify */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function saveState(name, value) { command_1.issueCommand('save-state', { name }, value); } exports.saveState = saveState; /** * Gets the value of an state set by this action's main execution. * * @param name name of the state to get * @returns string */ function getState(name) { return process.env[`STATE_${name}`] || ''; } exports.getState = getState; function getIDToken(aud) { return __awaiter(this, void 0, void 0, function* () { return yield oidc_utils_1.OidcClient.getIDToken(aud); }); } exports.getIDToken = getIDToken; //# sourceMappingURL=core.js.map /***/ }), /***/ 717: /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; // For internal use, subject to change. var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.issueCommand = void 0; // We use any as a valid input type /* eslint-disable @typescript-eslint/no-explicit-any */ const fs = __importStar(__nccwpck_require__(147)); const os = __importStar(__nccwpck_require__(37)); const utils_1 = __nccwpck_require__(278); function issueCommand(command, message) { const filePath = process.env[`GITHUB_${command}`]; if (!filePath) { throw new Error(`Unable to find environment variable for file command ${command}`); } if (!fs.existsSync(filePath)) { throw new Error(`Missing file at path: ${filePath}`); } fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { encoding: 'utf8' }); } exports.issueCommand = issueCommand; //# sourceMappingURL=file-command.js.map /***/ }), /***/ 41: /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.OidcClient = void 0; const http_client_1 = __nccwpck_require__(925); const auth_1 = __nccwpck_require__(702); const core_1 = __nccwpck_require__(186); class OidcClient { static createHttpClient(allowRetry = true, maxRetry = 10) { const requestOptions = { allowRetries: allowRetry, maxRetries: maxRetry }; return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); } static getRequestToken() { const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; if (!token) { throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); } return token; } static getIDTokenUrl() { const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; if (!runtimeUrl) { throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); } return runtimeUrl; } static getCall(id_token_url) { var _a; return __awaiter(this, void 0, void 0, function* () { const httpclient = OidcClient.createHttpClient(); const res = yield httpclient .getJson(id_token_url) .catch(error => { throw new Error(`Failed to get ID Token. \n Error Code : ${error.statusCode}\n Error Message: ${error.result.message}`); }); const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; if (!id_token) { throw new Error('Response json body do not have ID Token field'); } return id_token; }); } static getIDToken(audience) { return __awaiter(this, void 0, void 0, function* () { try { // New ID Token is requested from action service let id_token_url = OidcClient.getIDTokenUrl(); if (audience) { const encodedAudience = encodeURIComponent(audience); id_token_url = `${id_token_url}&audience=${encodedAudience}`; } core_1.debug(`ID token url is ${id_token_url}`); const id_token = yield OidcClient.getCall(id_token_url); core_1.setSecret(id_token); return id_token; } catch (error) { throw new Error(`Error message: ${error.message}`); } }); } } exports.OidcClient = OidcClient; //# sourceMappingURL=oidc-utils.js.map /***/ }), /***/ 278: /***/ ((__unused_webpack_module, exports) => { "use strict"; // We use any as a valid input type /* eslint-disable @typescript-eslint/no-explicit-any */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.toCommandProperties = exports.toCommandValue = void 0; /** * Sanitizes an input into a string so it can be passed into issueCommand safely * @param input input to sanitize into a string */ function toCommandValue(input) { if (input === null || input === undefined) { return ''; } else if (typeof input === 'string' || input instanceof String) { return input; } return JSON.stringify(input); } exports.toCommandValue = toCommandValue; /** * * @param annotationProperties * @returns The command properties to send with the actual annotation command * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 */ function toCommandProperties(annotationProperties) { if (!Object.keys(annotationProperties).length) { return {}; } return { title: annotationProperties.title, file: annotationProperties.file, line: annotationProperties.startLine, endLine: annotationProperties.endLine, col: annotationProperties.startColumn, endColumn: annotationProperties.endColumn }; } exports.toCommandProperties = toCommandProperties; //# sourceMappingURL=utils.js.map /***/ }), /***/ 702: /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); class BasicCredentialHandler { constructor(username, password) { this.username = username; this.password = password; } prepareRequest(options) { options.headers['Authorization'] = 'Basic ' + Buffer.from(this.username + ':' + this.password).toString('base64'); } // This handler cannot handle 401 canHandleAuthentication(response) { return false; } handleAuthentication(httpClient, requestInfo, objs) { return null; } } exports.BasicCredentialHandler = BasicCredentialHandler; class BearerCredentialHandler { constructor(token) { this.token = token; } // currently implements pre-authorization // TODO: support preAuth = false where it hooks on 401 prepareRequest(options) { options.headers['Authorization'] = 'Bearer ' + this.token; } // This handler cannot handle 401 canHandleAuthentication(response) { return false; } handleAuthentication(httpClient, requestInfo, objs) { return null; } } exports.BearerCredentialHandler = BearerCredentialHandler; class PersonalAccessTokenCredentialHandler { constructor(token) { this.token = token; } // currently implements pre-authorization // TODO: support preAuth = false where it hooks on 401 prepareRequest(options) { options.headers['Authorization'] = 'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); } // This handler cannot handle 401 canHandleAuthentication(response) { return false; } handleAuthentication(httpClient, requestInfo, objs) { return null; } } exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; /***/ }), /***/ 925: /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); const http = __nccwpck_require__(685); const https = __nccwpck_require__(687); const pm = __nccwpck_require__(443); let tunnel; var HttpCodes; (function (HttpCodes) { HttpCodes[HttpCodes["OK"] = 200] = "OK"; HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); var Headers; (function (Headers) { Headers["Accept"] = "accept"; Headers["ContentType"] = "content-type"; })(Headers = exports.Headers || (exports.Headers = {})); var MediaTypes; (function (MediaTypes) { MediaTypes["ApplicationJson"] = "application/json"; })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); /** * Returns the proxy URL, depending upon the supplied url and proxy environment variables. * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com */ function getProxyUrl(serverUrl) { let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); return proxyUrl ? proxyUrl.href : ''; } exports.getProxyUrl = getProxyUrl; const HttpRedirectCodes = [ HttpCodes.MovedPermanently, HttpCodes.ResourceMoved, HttpCodes.SeeOther, HttpCodes.TemporaryRedirect, HttpCodes.PermanentRedirect ]; const HttpResponseRetryCodes = [ HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout ]; const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; const ExponentialBackoffCeiling = 10; const ExponentialBackoffTimeSlice = 5; class HttpClientError extends Error { constructor(message, statusCode) { super(message); this.name = 'HttpClientError'; this.statusCode = statusCode; Object.setPrototypeOf(this, HttpClientError.prototype); } } exports.HttpClientError = HttpClientError; class HttpClientResponse { constructor(message) { this.message = message; } readBody() { return new Promise(async (resolve, reject) => { let output = Buffer.alloc(0); this.message.on('data', (chunk) => { output = Buffer.concat([output, chunk]); }); this.message.on('end', () => { resolve(output.toString()); }); }); } } exports.HttpClientResponse = HttpClientResponse; function isHttps(requestUrl) { let parsedUrl = new URL(requestUrl); return parsedUrl.protocol === 'https:'; } exports.isHttps = isHttps; class HttpClient { constructor(userAgent, handlers, requestOptions) { 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 = userAgent; this.handlers = handlers || []; this.requestOptions = requestOptions; if (requestOptions) { if (requestOptions.ignoreSslError != null) { this._ignoreSslError = requestOptions.ignoreSslError; } this._socketTimeout = requestOptions.socketTimeout; if (requestOptions.allowRedirects != null) { this._allowRedirects = requestOptions.allowRedirects; } if (requestOptions.allowRedirectDowngrade != null) { this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; } if (requestOptions.maxRedirects != null) { this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); } if (requestOptions.keepAlive != null) { this._keepAlive = requestOptions.keepAlive; } if (requestOptions.allowRetries != null) { this._allowRetries = requestOptions.allowRetries; } if (requestOptions.maxRetries != null) { this._maxRetries = requestOptions.maxRetries; } } } options(requestUrl, additionalHeaders) { return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); } get(requestUrl, additionalHeaders) { return this.request('GET', requestUrl, null, additionalHeaders || {}); } del(requestUrl, additionalHeaders) { return this.request('DELETE', requestUrl, null, additionalHeaders || {}); } post(requestUrl, data, additionalHeaders) { return this.request('POST', requestUrl, data, additionalHeaders || {}); } patch(requestUrl, data, additionalHeaders) { return this.request('PATCH', requestUrl, data, additionalHeaders || {}); } put(requestUrl, data, additionalHeaders) { return this.request('PUT', requestUrl, data, additionalHeaders || {}); } head(requestUrl, additionalHeaders) { return this.request('HEAD', requestUrl, null, additionalHeaders || {}); } sendStream(verb, requestUrl, stream, additionalHeaders) { return this.request(verb, requestUrl, stream, additionalHeaders); } /** * Gets a typed object from an endpoint * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise */ async getJson(requestUrl, additionalHeaders = {}) { additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); let res = await this.get(requestUrl, additionalHeaders); return this._processResponse(res, this.requestOptions); } async postJson(requestUrl, obj, additionalHeaders = {}) { let data = JSON.stringify(obj, null, 2); additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); let res = await this.post(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); } async putJson(requestUrl, obj, additionalHeaders = {}) { let data = JSON.stringify(obj, null, 2); additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); let res = await this.put(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); } async patchJson(requestUrl, obj, additionalHeaders = {}) { let data = JSON.stringify(obj, null, 2); additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); let res = await this.patch(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); } /** * Makes a raw http request. * All other methods such as get, post, patch, and request ultimately call this. * Prefer get, del, post and patch */ async request(verb, requestUrl, data, headers) { if (this._disposed) { throw new Error('Client has already been disposed.'); } let parsedUrl = new URL(requestUrl); let info = this._prepareRequest(verb, parsedUrl, headers); // Only perform retries on reads since writes may not be idempotent. let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 ? this._maxRetries + 1 : 1; let numTries = 0; let response; while (numTries < maxTries) { response = await this.requestRaw(info, data); // Check if it's an authentication challenge if (response && response.message && response.message.statusCode === HttpCodes.Unauthorized) { let authenticationHandler; for (let i = 0; i < this.handlers.length; i++) { if (this.handlers[i].canHandleAuthentication(response)) { authenticationHandler = this.handlers[i]; break; } } if (authenticationHandler) { return authenticationHandler.handleAuthentication(this, info, data); } else { // We have received an unauthorized response but have no handlers to handle it. // Let the response return to the caller. return response; } } let redirectsRemaining = this._maxRedirects; while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && this._allowRedirects && redirectsRemaining > 0) { const redirectUrl = response.message.headers['location']; if (!redirectUrl) { // if there's no location to redirect to, we won't break; } let parsedRedirectUrl = new URL(redirectUrl); if (parsedUrl.protocol == 'https:' && parsedUrl.protocol != parsedRedirectUrl.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.'); } // we need to finish reading the response before reassigning response // which will leak the open socket. await response.readBody(); // strip authorization header if redirected to a different hostname if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { for (let header in headers) { // header names are case insensitive if (header.toLowerCase() === 'authorization') { delete headers[header]; } } } // let's make the request with the new redirectUrl info = this._prepareRequest(verb, parsedRedirectUrl, headers); response = await this.requestRaw(info, data); redirectsRemaining--; } if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { // If not a retry code, return immediately instead of retrying return response; } numTries += 1; if (numTries < maxTries) { await response.readBody(); await this._performExponentialBackoff(numTries); } } return response; } /** * Needs to be called if keepAlive is set to true in request options. */ dispose() { if (this._agent) { this._agent.destroy(); } this._disposed = true; } /** * Raw request. * @param info * @param data */ requestRaw(info, data) { return new Promise((resolve, reject) => { let callbackForResult = function (err, res) { if (err) { reject(err); } resolve(res); }; this.requestRawWithCallback(info, data, callbackForResult); }); } /** * Raw request with callback. * @param info * @param data * @param onResult */ requestRawWithCallback(info, data, onResult) { let socket; if (typeof data === 'string') { info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); } let callbackCalled = false; let handleResult = (err, res) => { if (!callbackCalled) { callbackCalled = true; onResult(err, res); } }; let req = info.httpModule.request(info.options, (msg) => { let res = new HttpClientResponse(msg); handleResult(null, res); }); req.on('socket', sock => { socket = sock; }); // If we ever get disconnected, we want the socket to timeout eventually req.setTimeout(this._socketTimeout || 3 * 60000, () => { if (socket) { socket.end(); } handleResult(new Error('Request timeout: ' + info.options.path), null); }); req.on('error', function (err) { // err has statusCode property // res should have headers handleResult(err, null); }); if (data && typeof data === 'string') { req.write(data, 'utf8'); } if (data && typeof data !== 'string') { data.on('close', function () { req.end(); }); data.pipe(req); } else { req.end(); } } /** * Gets an http agent. This function is useful when you need an http agent that handles * routing through a proxy server - depending upon the url and proxy environment variables. * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com */ getAgent(serverUrl) { let parsedUrl = new URL(serverUrl); return this._getAgent(parsedUrl); } _prepareRequest(method, requestUrl, headers) { const info = {}; info.parsedUrl = requestUrl; const usingSsl = info.parsedUrl.protocol === 'https:'; info.httpModule = usingSsl ? https : http; const defaultPort = usingSsl ? 443 : 80; info.options = {}; info.options.host = info.parsedUrl.hostname; info.options.port = info.parsedUrl.port ? parseInt(info.parsedUrl.port) : defaultPort; info.options.path = (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); info.options.method = method; info.options.headers = this._mergeHeaders(headers); if (this.userAgent != null) { info.options.headers['user-agent'] = this.userAgent; } info.options.agent = this._getAgent(info.parsedUrl); // gives handlers an opportunity to participate if (this.handlers) { this.handlers.forEach(handler => { handler.prepareRequest(info.options); }); } return info; } _mergeHeaders(headers) { const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); if (this.requestOptions && this.requestOptions.headers) { return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); } return lowercaseKeys(headers || {}); } _getExistingOrDefaultHeader(additionalHeaders, header, _default) { const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); let clientHeader; if (this.requestOptions && this.requestOptions.headers) { clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; } return additionalHeaders[header] || clientHeader || _default; } _getAgent(parsedUrl) { let agent; let proxyUrl = pm.getProxyUrl(parsedUrl); let useProxy = proxyUrl && proxyUrl.hostname; if (this._keepAlive && useProxy) { agent = this._proxyAgent; } if (this._keepAlive && !useProxy) { agent = this._agent; } // if agent is already assigned use that agent. if (!!agent) { return agent; } const usingSsl = parsedUrl.protocol === 'https:'; let maxSockets = 100; if (!!this.requestOptions) { maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; } if (useProxy) { // If using proxy, need tunnel if (!tunnel) { tunnel = __nccwpck_require__(294); } const agentOptions = { maxSockets: maxSockets, keepAlive: this._keepAlive, proxy: { ...((proxyUrl.username || proxyUrl.password) && { proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` }), host: proxyUrl.hostname, port: proxyUrl.port } }; let tunnelAgent; const overHttps = proxyUrl.protocol === 'https:'; if (usingSsl) { tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; } else { tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; } agent = tunnelAgent(agentOptions); this._proxyAgent = agent; } // if reusing agent across request and tunneling agent isn't assigned create a new agent if (this._keepAlive && !agent) { const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; agent = usingSsl ? new https.Agent(options) : new http.Agent(options); this._agent = agent; } // if not using private agent and tunnel agent isn't setup then use global agent if (!agent) { agent = usingSsl ? https.globalAgent : http.globalAgent; } if (usingSsl && this._ignoreSslError) { // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options // we have to cast it to any and change it directly agent.options = Object.assign(agent.options || {}, { rejectUnauthorized: false }); } return agent; } _performExponentialBackoff(retryNumber) { retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); return new Promise(resolve => setTimeout(() => resolve(), ms)); } static dateTimeDeserializer(key, value) { if (typeof value === 'string') { let a = new Date(value); if (!isNaN(a.valueOf())) { return a; } } return value; } async _processResponse(res, options) { return new Promise(async (resolve, reject) => { const statusCode = res.message.statusCode; const response = { statusCode: statusCode, result: null, headers: {} }; // not found leads to null obj returned if (statusCode == HttpCodes.NotFound) { resolve(response); } let obj; let contents; // get the result from the body try { contents = await res.readBody(); if (contents && contents.length > 0) { if (options && options.deserializeDates) { obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); } else { obj = JSON.parse(contents); } response.result = obj; } response.headers = res.message.headers; } catch (err) { // Invalid resource (contents not json); leaving result obj null } // note that 3xx redirects are handled by the http layer. if (statusCode > 299) { let msg; // if exception/error in body, attempt to get better error if (obj && obj.message) { msg = obj.message; } else if (contents && contents.length > 0) { // it may be the case that the exception is in the body message as string msg = contents; } else { msg = 'Failed request: (' + statusCode + ')'; } let err = new HttpClientError(msg, statusCode); err.result = response.result; reject(err); } else { resolve(response); } }); } } exports.HttpClient = HttpClient; /***/ }), /***/ 443: /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); function getProxyUrl(reqUrl) { let usingSsl = reqUrl.protocol === 'https:'; let proxyUrl; if (checkBypass(reqUrl)) { return proxyUrl; } let proxyVar; if (usingSsl) { proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; } else { proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; } if (proxyVar) { proxyUrl = new URL(proxyVar); } return proxyUrl; } exports.getProxyUrl = getProxyUrl; function checkBypass(reqUrl) { if (!reqUrl.hostname) { return false; } let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; if (!noProxy) { return false; } // Determine the request port let reqPort; if (reqUrl.port) { reqPort = Number(reqUrl.port); } else if (reqUrl.protocol === 'http:') { reqPort = 80; } else if (reqUrl.protocol === 'https:') { reqPort = 443; } // Format the request hostname and hostname with port let upperReqHosts = [reqUrl.hostname.toUpperCase()]; if (typeof reqPort === 'number') { upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); } // Compare request host against noproxy for (let upperNoProxyItem of noProxy .split(',') .map(x => x.trim().toUpperCase()) .filter(x => x)) { if (upperReqHosts.some(x => x === upperNoProxyItem)) { return true; } } return false; } exports.checkBypass = checkBypass; /***/ }), /***/ 308: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { (()=>{var e={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(/(?{"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"";const t=(e instanceof Error?e.message:`${e}`).trim().replace("Error: ","").trim();if(!t)return"";if(t.length>1&&isUpper(t[0])&&!isUpper(t[1])){return t[0].toLowerCase()+t.slice(1)}return t}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=void 0;const s=n(147);const i=n(976);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},144: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.__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(575),t);s(n(318),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(/(?{const i=n(e,(e=>{e.setEncoding("utf8");let t="";e.on("data",(e=>{t+=e}));e.on("end",(()=>{const n=e.statusCode;if(n&&n>=400){let e=`Unuccessful HTTP response: ${n}`;if(t){e=`${e}, body: ${t}`}return s(e)}else{return r(t)}}))}));i.on("error",(e=>{s(e)}));switch(true){case t===null:case t===undefined:i.end();break;case typeof t==="string":case t instanceof Buffer:i.write(t);i.end();break;case t instanceof String:i.write(t.valueOf());i.end();break;default:t.pipe(i)}}))}t.rawRequest=rawRequest;t["default"]={request:request,rawRequest:rawRequest}},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{"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{"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 HEAD. 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=__nccwpck_require__(113)},147:e=>{"use strict";e.exports=__nccwpck_require__(147)},685:e=>{"use strict";e.exports=__nccwpck_require__(685)},687:e=>{"use strict";e.exports=__nccwpck_require__(687)},37:e=>{"use strict";e.exports=__nccwpck_require__(37)},17:e=>{"use strict";e.exports=__nccwpck_require__(17)},310:e=>{"use strict";e.exports=__nccwpck_require__(310)},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:t,name:o}=n;switch(o){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(o){const t=`YAML only supports %TAG and %YAML directives, and not %${o}`;e.warnings.push(new r.YAMLWarning(n,t))}}if(t)s.push(t)}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=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(sn)break;else++s}this.origStart=n+s;const i=s;while(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;e0?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;tn.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(ei?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 f={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 u={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 S=l.concat([f,u,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 v=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 E={core:S,failsafe:l,json:w,yaml11:v};const O={binary:i.binary,bool:u,float:y,floatExp:m,floatNaN:g,floatTime:i.floatTime,int:p,intHex:h,intOct:d,intTime:i.intTime,map:o,null:f,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:f}=n;if(t&&t.startsWith("!!"))t=r+t.slice(2);let u=findTagObject(e,t,l.tags);if(!u){if(typeof e.toJSON==="function")e=e.toJSON();if(!e||typeof e!=="object")return f?new s.Scalar(e):e;u=e instanceof Map?o:e[Symbol.iterator]?a:o}if(i){i(u);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=u.createNode?u.createNode(n.schema,e,n):f?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;eJSON.stringify(e))).join(", ");throw new Error(`Unknown custom tag "${n}"; use one of ${e}`)}s[e]=r}}return s}const sortMapEntriesByKey=(e,t)=>e.keyt.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(E,O,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 f=l==="#";const u=[];let d=null;while(l==="\n"||l==="#"){if(l==="#"){const e=r.Node.endOfLine(s,c+1);u.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"&&u.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(u.length)Array.prototype.push.apply(this.props,u);c=this.node.range.end}else{if(f){const e=u[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].start0}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 f=r.Node.endOfWhiteSpace(s,i)===c;let u=false;while(l){while(l==="\n"||l==="#"){if(f&&l==="\n"&&!u){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=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];f=true}if(!l){break}if(c!==i+a&&(f||l!==":")){if(ct)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:f,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];f=false;u=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;f=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;e0){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{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 f=this.type===r.Type.BLOCK_FOLDED;let u=true;let d="";let p="";let h=false;for(let n=e;nc){c=l}}else if(s&&s!=="\n"&&l{if(n instanceof r.Node){t=n.setOrigRanges(e,t)}else if(e.length===0){n.origOffset=n.offset}else{let r=t;while(rn.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;ae?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;ae?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{if(t.length===0)return false;for(let e=1;en.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:f}=e;const u=this.type===r.Type.FLOW_MAP||this.type===r.Type.FLOW_SEQ||e.inFlow;if(u)i+=l;const d=s&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:d,indent:i,inFlow:u,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(u&&(!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=f(n,e,(()=>s=null),(()=>p=true));if(u&&!h&&o.includes("\n"))h=true;if(u&&re.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"&&te.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 f=!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:u,indent:d,indentStep:p,stringify:h}=e;e=Object.assign({},e,{implicitKey:!f,indent:d+p});let g=false;let m=h(a,e,(()=>l=null),(()=>g=true));m=addComment(m,e.indent,l);if(!f&&m.length>1024){if(o)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=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&&!f?m:`? ${m}`}m=f?`? ${m}\n${d}:`:`${m}:`;if(this.comment){m=addComment(m,e.indent,this.comment);if(t)t()}let y="";let S=null;if(c instanceof Node){if(c.spaceBefore)y="\n";if(c.commentBefore){const t=c.commentBefore.replace(/^/gm,`${e.indent}#`);y+=`\n${t}`}S=c.comment}else if(c&&typeof c==="object"){c=u.schema.createNode(c,true)}e.implicitKey=false;if(!f&&!this.comment&&c instanceof Scalar)e.indentAtStart=m.length+1;g=false;if(!i&&s>=2&&!e.inFlow&&!f&&c instanceof YAMLSeq&&c.type!==r.Type.FLOW_SEQ&&!c.tag&&!u.anchors.getName(c)){e.indent=e.indent.substr(2)}const w=h(c,e,(()=>S=null),(()=>g=true));let v=" ";if(y||this.comment){v=`${y}\n${e.indent}`}else if(!f&&c instanceof Collection){const t=w[0]==="["||w[0]==="{";if(!t||w.includes("\n"))v=`\n${e.indent}`}else if(w[0]==="\n")v="";if(g&&!S&&n)n();return addComment(m+v+w,e.indent,S)}}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 f="flow";const u="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 f={};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 S=-1;let w=-1;if(n===u){y=consumeMoreIndentedLines(e,y);if(y!==-1)p=y+c}for(let t;t=e[y+=1];){if(n===d&&t==="\\"){S=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===u)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:S-1;if(f[n])return e;l.push(n);f[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 v=e.slice(0,l[0]);for(let r=0;re?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;tr)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";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(f){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,u,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:u,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(u===""&&containsDocumentMarker(a)){t.forceBlockIndent=true;return blockString(e,t,n,s)}const p=a.replace(/\n+/g,`$&\n${u}`);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,u,f,getFoldOptions(t));if(i&&!d&&(h.indexOf("\n")!==-1||i.indexOf("\n")!==-1)){if(n)n();return addCommentBefore(h,u,i)}return h}function stringifyString(e,t,n,s){const{defaultType:i}=l;const{implicitKey:o,inFlow:a}=t;let{type:c,value:f}=e;if(typeof f!=="string"){f=String(f);e=Object.assign({},e,{value:f})}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(f,t);case r.Type.QUOTE_SINGLE:return singleQuotedString(f,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(f)){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 u=_stringify(c);if(u===null){u=_stringify(i);if(u===null)throw new Error(`Unsupported default string type ${i}`)}return u}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{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{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;t0){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;ce 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;ia+1024)e.errors.push(getLongKeyError(t,o));const{src:s}=l.context;for(let t=a;t{"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{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;t1){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 f={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 u={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=f;t.intTime=l;t.omap=a;t.pairs=o;t.set=c;t.timestamp=u;t.warn=warn;t.warnFileDeprecation=warnFileDeprecation;t.warnOptionDeprecation=warnOptionDeprecation},603:(e,t,n)=>{e.exports=n(83).YAML}};var t={};function __nccwpck_require2_(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_require2_);i=false}finally{if(i)delete t[n]}return s.exports}if(typeof __nccwpck_require2_!=="undefined")__nccwpck_require2_.ab=__dirname+"/";var n=__nccwpck_require2_(144);module.exports=n})(); //# sourceMappingURL=index.js.map /***/ }), /***/ 294: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { module.exports = __nccwpck_require__(219); /***/ }), /***/ 219: /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; var net = __nccwpck_require__(808); var tls = __nccwpck_require__(404); var http = __nccwpck_require__(685); var https = __nccwpck_require__(687); var events = __nccwpck_require__(361); var assert = __nccwpck_require__(491); var util = __nccwpck_require__(837); exports.httpOverHttp = httpOverHttp; exports.httpsOverHttp = httpsOverHttp; exports.httpOverHttps = httpOverHttps; exports.httpsOverHttps = httpsOverHttps; function httpOverHttp(options) { var agent = new TunnelingAgent(options); agent.request = http.request; return agent; } function httpsOverHttp(options) { var agent = new TunnelingAgent(options); agent.request = http.request; agent.createSocket = createSecureSocket; agent.defaultPort = 443; return agent; } function httpOverHttps(options) { var agent = new TunnelingAgent(options); agent.request = https.request; return agent; } function httpsOverHttps(options) { var agent = new TunnelingAgent(options); agent.request = https.request; agent.createSocket = createSecureSocket; agent.defaultPort = 443; return agent; } function TunnelingAgent(options) { var self = this; self.options = options || {}; self.proxyOptions = self.options.proxy || {}; self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; self.requests = []; self.sockets = []; self.on('free', function onFree(socket, host, port, localAddress) { var options = toOptions(host, port, localAddress); for (var i = 0, len = self.requests.length; i < len; ++i) { var pending = self.requests[i]; if (pending.host === options.host && pending.port === options.port) { // Detect the request to connect same origin server, // reuse the connection. self.requests.splice(i, 1); pending.request.onSocket(socket); return; } } socket.destroy(); self.removeSocket(socket); }); } util.inherits(TunnelingAgent, events.EventEmitter); TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { var self = this; var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); if (self.sockets.length >= this.maxSockets) { // We are over limit so we'll add it to the queue. self.requests.push(options); return; } // If we are under maxSockets create a new one. self.createSocket(options, function(socket) { socket.on('free', onFree); socket.on('close', onCloseOrRemove); socket.on('agentRemove', onCloseOrRemove); req.onSocket(socket); function onFree() { self.emit('free', socket, options); } function onCloseOrRemove(err) { self.removeSocket(socket); socket.removeListener('free', onFree); socket.removeListener('close', onCloseOrRemove); socket.removeListener('agentRemove', onCloseOrRemove); } }); }; TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { var self = this; var placeholder = {}; self.sockets.push(placeholder); var connectOptions = mergeOptions({}, self.proxyOptions, { method: 'CONNECT', path: options.host + ':' + options.port, agent: false, headers: { host: options.host + ':' + options.port } }); if (options.localAddress) { connectOptions.localAddress = options.localAddress; } if (connectOptions.proxyAuth) { connectOptions.headers = connectOptions.headers || {}; connectOptions.headers['Proxy-Authorization'] = 'Basic ' + new Buffer(connectOptions.proxyAuth).toString('base64'); } debug('making CONNECT request'); var connectReq = self.request(connectOptions); connectReq.useChunkedEncodingByDefault = false; // for v0.6 connectReq.once('response', onResponse); // for v0.6 connectReq.once('upgrade', onUpgrade); // for v0.6 connectReq.once('connect', onConnect); // for v0.7 or later connectReq.once('error', onError); connectReq.end(); function onResponse(res) { // Very hacky. This is necessary to avoid http-parser leaks. res.upgrade = true; } function onUpgrade(res, socket, head) { // Hacky. process.nextTick(function() { onConnect(res, socket, head); }); } function onConnect(res, socket, head) { connectReq.removeAllListeners(); socket.removeAllListeners(); if (res.statusCode !== 200) { debug('tunneling socket could not be established, statusCode=%d', res.statusCode); socket.destroy(); var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode); error.code = 'ECONNRESET'; options.request.emit('error', error); self.removeSocket(placeholder); return; } if (head.length > 0) { debug('got illegal response body from proxy'); socket.destroy(); var error = new Error('got illegal response body from proxy'); error.code = 'ECONNRESET'; options.request.emit('error', error); self.removeSocket(placeholder); return; } debug('tunneling connection has established'); self.sockets[self.sockets.indexOf(placeholder)] = socket; return cb(socket); } function onError(cause) { connectReq.removeAllListeners(); debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack); var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message); error.code = 'ECONNRESET'; options.request.emit('error', error); self.removeSocket(placeholder); } }; TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { var pos = this.sockets.indexOf(socket) if (pos === -1) { return; } this.sockets.splice(pos, 1); var pending = this.requests.shift(); if (pending) { // If we have pending requests and a socket gets closed a new one // needs to be created to take over in the pool for the one that closed. this.createSocket(pending, function(socket) { pending.request.onSocket(socket); }); } }; function createSecureSocket(options, cb) { var self = this; TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { var hostHeader = options.request.getHeader('host'); var tlsOptions = mergeOptions({}, self.options, { socket: socket, servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host }); // 0 is dummy port for v0.6 var secureSocket = tls.connect(0, tlsOptions); self.sockets[self.sockets.indexOf(socket)] = secureSocket; cb(secureSocket); }); } function toOptions(host, port, localAddress) { if (typeof host === 'string') { // since v0.10 return { host: host, port: port, localAddress: localAddress }; } return host; // for v0.11 or later } function mergeOptions(target) { for (var i = 1, len = arguments.length; i < len; ++i) { var overrides = arguments[i]; if (typeof overrides === 'object') { var keys = Object.keys(overrides); for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { var k = keys[j]; if (overrides[k] !== undefined) { target[k] = overrides[k]; } } } } return target; } var debug; if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { debug = function() { var args = Array.prototype.slice.call(arguments); if (typeof args[0] === 'string') { args[0] = 'TUNNEL: ' + args[0]; } else { args.unshift('TUNNEL:'); } console.error.apply(console, args); } } else { debug = function() {}; } exports.debug = debug; // for test /***/ }), /***/ 51: /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.run = void 0; const core_1 = __nccwpck_require__(186); const actions_utils_1 = __nccwpck_require__(308); /** * Executes the post action, documented inline. */ function run() { return __awaiter(this, void 0, void 0, function* () { try { const createCredentials = (0, core_1.getBooleanInput)('create_credentials_file'); if (!createCredentials) { (0, core_1.info)(`Skipping credential cleanup - "create_credentials_file" is false.`); return; } const cleanupCredentials = (0, core_1.getBooleanInput)('cleanup_credentials'); if (!cleanupCredentials) { (0, core_1.info)(`Skipping credential cleanup - "cleanup_credentials" is false.`); return; } // Look up the credentials path, if one exists. Note that we only check the // environment variable set by our action, since we don't want to // accidentially clean up if someone set GOOGLE_APPLICATION_CREDENTIALS or // another environment variable manually. const credentialsPath = process.env['GOOGLE_GHA_CREDS_PATH']; if (!credentialsPath) { (0, core_1.info)(`Skipping credential cleanup - $GOOGLE_GHA_CREDS_PATH is not set.`); return; } // Remove the file. const removed = yield (0, actions_utils_1.removeFile)(credentialsPath); if (removed) { (0, core_1.info)(`Removed exported credentials at "${credentialsPath}".`); } else { (0, core_1.info)(`No exported credentials were found at "${credentialsPath}".`); } } catch (err) { const msg = (0, actions_utils_1.errorMessage)(err); (0, core_1.setFailed)(`google-github-actions/auth post failed with: ${msg}`); } }); } exports.run = run; run(); /***/ }), /***/ 491: /***/ ((module) => { "use strict"; module.exports = require("assert"); /***/ }), /***/ 113: /***/ ((module) => { "use strict"; module.exports = require("crypto"); /***/ }), /***/ 361: /***/ ((module) => { "use strict"; module.exports = require("events"); /***/ }), /***/ 147: /***/ ((module) => { "use strict"; module.exports = require("fs"); /***/ }), /***/ 685: /***/ ((module) => { "use strict"; module.exports = require("http"); /***/ }), /***/ 687: /***/ ((module) => { "use strict"; module.exports = require("https"); /***/ }), /***/ 808: /***/ ((module) => { "use strict"; module.exports = require("net"); /***/ }), /***/ 37: /***/ ((module) => { "use strict"; module.exports = require("os"); /***/ }), /***/ 17: /***/ ((module) => { "use strict"; module.exports = require("path"); /***/ }), /***/ 404: /***/ ((module) => { "use strict"; module.exports = require("tls"); /***/ }), /***/ 310: /***/ ((module) => { "use strict"; module.exports = require("url"); /***/ }), /***/ 837: /***/ ((module) => { "use strict"; module.exports = require("util"); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __nccwpck_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ var threw = true; /******/ try { /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nccwpck_require__); /******/ threw = false; /******/ } finally { /******/ if(threw) delete __webpack_module_cache__[moduleId]; /******/ } /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat */ /******/ /******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/"; /******/ /************************************************************************/ /******/ /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module is referenced by other modules so it can't be inlined /******/ var __webpack_exports__ = __nccwpck_require__(51); /******/ module.exports = __webpack_exports__; /******/ /******/ })() ;