@holydeck/cli 2026.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +234 -0
- package/dist/BrowserWebSocketTransport-H3D6MINS.js +12 -0
- package/dist/BrowserWebSocketTransport-H3D6MINS.js.map +1 -0
- package/dist/LaunchOptions-42ZS55HH.js +12 -0
- package/dist/LaunchOptions-42ZS55HH.js.map +1 -0
- package/dist/NodeWebSocketTransport-BXHQGXRM.js +15 -0
- package/dist/NodeWebSocketTransport-BXHQGXRM.js.map +1 -0
- package/dist/bidi-25S23FWJ.js +18358 -0
- package/dist/bidi-25S23FWJ.js.map +1 -0
- package/dist/chunk-2BLOYUSF.js +795 -0
- package/dist/chunk-2BLOYUSF.js.map +1 -0
- package/dist/chunk-43CZTS57.js +38 -0
- package/dist/chunk-43CZTS57.js.map +1 -0
- package/dist/chunk-DIBLSFAG.js +34 -0
- package/dist/chunk-DIBLSFAG.js.map +1 -0
- package/dist/chunk-IEJ3OX3N.js +52 -0
- package/dist/chunk-IEJ3OX3N.js.map +1 -0
- package/dist/chunk-JM4YIWBN.js +3796 -0
- package/dist/chunk-JM4YIWBN.js.map +1 -0
- package/dist/chunk-NP3DTWF7.js +23282 -0
- package/dist/chunk-NP3DTWF7.js.map +1 -0
- package/dist/chunk-SWG4X375.js +51 -0
- package/dist/chunk-SWG4X375.js.map +1 -0
- package/dist/chunk-UC6TFXMD.js +2821 -0
- package/dist/chunk-UC6TFXMD.js.map +1 -0
- package/dist/chunk-V4BIHFVZ.js +2287 -0
- package/dist/chunk-V4BIHFVZ.js.map +1 -0
- package/dist/chunk-V77AQPDK.js +20 -0
- package/dist/chunk-V77AQPDK.js.map +1 -0
- package/dist/chunk-XAENXL52.js +101 -0
- package/dist/chunk-XAENXL52.js.map +1 -0
- package/dist/cli.js +64101 -0
- package/dist/cli.js.map +1 -0
- package/dist/dist-3ZE2HBJQ.js +20447 -0
- package/dist/dist-3ZE2HBJQ.js.map +1 -0
- package/dist/dist-575AQY5L.js +1161 -0
- package/dist/dist-575AQY5L.js.map +1 -0
- package/dist/dist-DL5M2SDJ.js +117 -0
- package/dist/dist-DL5M2SDJ.js.map +1 -0
- package/dist/dist-OMWR53J4.js +4713 -0
- package/dist/dist-OMWR53J4.js.map +1 -0
- package/dist/dist-UT6HKKCD.js +281 -0
- package/dist/dist-UT6HKKCD.js.map +1 -0
- package/dist/fs-P6GYHPGZ.js +1685 -0
- package/dist/fs-P6GYHPGZ.js.map +1 -0
- package/dist/helpers-64DWIL6C.js +21 -0
- package/dist/helpers-64DWIL6C.js.map +1 -0
- package/dist/main-IQ64YDOJ.js +61 -0
- package/dist/main-IQ64YDOJ.js.map +1 -0
- package/dist/puppeteer-RDWY6FSG.js +2386 -0
- package/dist/puppeteer-RDWY6FSG.js.map +1 -0
- package/dist/yargs-KMQWKLG6.js +3264 -0
- package/dist/yargs-KMQWKLG6.js.map +1 -0
- package/dist/yauzl-7KG7KPPF.js +1355 -0
- package/dist/yauzl-7KG7KPPF.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/get-caller-file@2.0.5/node_modules/get-caller-file/index.ts","../../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/index.js","../../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/string-utils.js","../../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/tokenize-arg-string.js","../../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser-types.js","../../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser.js","../../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/build/lib/utils/process-argv.js","../../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/lib/platform-shims/esm.mjs","../../../node_modules/.pnpm/cliui@9.0.1/node_modules/cliui/build/lib/index.js","../../../node_modules/.pnpm/ansi-regex@6.3.0/node_modules/ansi-regex/index.js","../../../node_modules/.pnpm/strip-ansi@7.2.0/node_modules/strip-ansi/index.js","../../../node_modules/.pnpm/get-east-asian-width@1.6.0/node_modules/get-east-asian-width/lookup-data.js","../../../node_modules/.pnpm/get-east-asian-width@1.6.0/node_modules/get-east-asian-width/utilities.js","../../../node_modules/.pnpm/get-east-asian-width@1.6.0/node_modules/get-east-asian-width/lookup.js","../../../node_modules/.pnpm/get-east-asian-width@1.6.0/node_modules/get-east-asian-width/index.js","../../../node_modules/.pnpm/emoji-regex@10.6.0/node_modules/emoji-regex/index.mjs","../../../node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js","../../../node_modules/.pnpm/ansi-styles@6.2.3/node_modules/ansi-styles/index.js","../../../node_modules/.pnpm/wrap-ansi@9.0.2/node_modules/wrap-ansi/index.js","../../../node_modules/.pnpm/cliui@9.0.1/node_modules/cliui/index.mjs","../../../node_modules/.pnpm/escalade@3.2.0/node_modules/escalade/sync/index.mjs","../../../node_modules/.pnpm/string-width@8.2.2/node_modules/string-width/index.js","../../../node_modules/.pnpm/y18n@5.0.8/node_modules/y18n/build/lib/platform-shims/node.js","../../../node_modules/.pnpm/y18n@5.0.8/node_modules/y18n/build/lib/index.js","../../../node_modules/.pnpm/y18n@5.0.8/node_modules/y18n/index.mjs","../../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/build/lib/yerror.js","../../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/build/lib/utils/apply-extends.js"],"sourcesContent":[null,"/**\n * @fileoverview Main entrypoint for libraries using yargs-parser in Node.js\n *\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nvar _a, _b, _c;\n/* eslint-disable n/no-unpublished-import */\nimport { format } from 'util';\nimport { normalize, resolve } from 'path';\nimport { camelCase, decamelize, looksLikeNumber } from './string-utils.js';\nimport { YargsParser } from './yargs-parser.js';\nimport { readFileSync } from 'fs';\nimport { createRequire } from 'node:module';\n// See https://github.com/yargs/yargs-parser#supported-nodejs-versions for our\n// version support policy. The YARGS_MIN_NODE_VERSION is used for testing only.\nconst minNodeVersion = (process && process.env && process.env.YARGS_MIN_NODE_VERSION)\n ? Number(process.env.YARGS_MIN_NODE_VERSION)\n : 20;\nconst nodeVersion = (_b = (_a = process === null || process === void 0 ? void 0 : process.versions) === null || _a === void 0 ? void 0 : _a.node) !== null && _b !== void 0 ? _b : (_c = process === null || process === void 0 ? void 0 : process.version) === null || _c === void 0 ? void 0 : _c.slice(1);\nif (nodeVersion) {\n const major = Number(nodeVersion.match(/^([^.]+)/)[1]);\n if (major < minNodeVersion) {\n throw Error(`yargs parser supports a minimum Node.js version of ${minNodeVersion}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);\n }\n}\n// Creates a yargs-parser instance using Node.js standard libraries:\nconst env = process ? process.env : {};\nconst require = createRequire ? createRequire(import.meta.url) : undefined;\nconst parser = new YargsParser({\n cwd: process.cwd,\n env: () => {\n return env;\n },\n format,\n normalize,\n resolve,\n require: (path) => {\n if (typeof require !== 'undefined') {\n return require(path);\n }\n else if (path.match(/\\.json$/)) {\n // Addresses: https://github.com/yargs/yargs/issues/2040\n return JSON.parse(readFileSync(path, 'utf8'));\n }\n else {\n throw Error('only .json config files are supported in ESM');\n }\n }\n});\nconst yargsParser = function Parser(args, opts) {\n const result = parser.parse(args.slice(), opts);\n return result.argv;\n};\nyargsParser.detailed = function (args, opts) {\n return parser.parse(args.slice(), opts);\n};\nyargsParser.camelCase = camelCase;\nyargsParser.decamelize = decamelize;\nyargsParser.looksLikeNumber = looksLikeNumber;\nexport default yargsParser;\n// special syntax to allow unqualified default export from CommonJS\nexport { yargsParser as 'module.exports' };\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nexport function camelCase(str) {\n // Handle the case where an argument is provided as camel case, e.g., fooBar.\n // by ensuring that the string isn't already mixed case:\n const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();\n if (!isCamelCase) {\n str = str.toLowerCase();\n }\n if (str.indexOf('-') === -1 && str.indexOf('_') === -1) {\n return str;\n }\n else {\n let camelcase = '';\n let nextChrUpper = false;\n const leadingHyphens = str.match(/^-+/);\n for (let i = leadingHyphens ? leadingHyphens[0].length : 0; i < str.length; i++) {\n let chr = str.charAt(i);\n if (nextChrUpper) {\n nextChrUpper = false;\n chr = chr.toUpperCase();\n }\n if (i !== 0 && (chr === '-' || chr === '_')) {\n nextChrUpper = true;\n }\n else if (chr !== '-' && chr !== '_') {\n camelcase += chr;\n }\n }\n return camelcase;\n }\n}\nexport function decamelize(str, joinString) {\n const lowercase = str.toLowerCase();\n joinString = joinString || '-';\n let notCamelcase = '';\n for (let i = 0; i < str.length; i++) {\n const chrLower = lowercase.charAt(i);\n const chrString = str.charAt(i);\n if (chrLower !== chrString && i > 0) {\n notCamelcase += `${joinString}${lowercase.charAt(i)}`;\n }\n else {\n notCamelcase += chrString;\n }\n }\n return notCamelcase;\n}\nexport function looksLikeNumber(x) {\n if (x === null || x === undefined)\n return false;\n // if loaded from config, may already be a number.\n if (typeof x === 'number')\n return true;\n // hexadecimal.\n if (/^0x[0-9a-f]+$/i.test(x))\n return true;\n // don't treat 0123 as a number; as it drops the leading '0'.\n if (/^0[^.]/.test(x))\n return false;\n return /^[-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/.test(x);\n}\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\n// take an un-split argv string and tokenize it.\nexport function tokenizeArgString(argString) {\n if (Array.isArray(argString)) {\n return argString.map(e => typeof e !== 'string' ? e + '' : e);\n }\n argString = argString.trim();\n let i = 0;\n let prevC = null;\n let c = null;\n let opening = null;\n const args = [];\n for (let ii = 0; ii < argString.length; ii++) {\n prevC = c;\n c = argString.charAt(ii);\n // split on spaces unless we're in quotes.\n if (c === ' ' && !opening) {\n if (!(prevC === ' ')) {\n i++;\n }\n continue;\n }\n // don't split the string if we're in matching\n // opening or closing single and double quotes.\n if (c === opening) {\n opening = null;\n }\n else if ((c === \"'\" || c === '\"') && !opening) {\n opening = c;\n }\n if (!args[i])\n args[i] = '';\n args[i] += c;\n }\n return args;\n}\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nexport var DefaultValuesForTypeKey;\n(function (DefaultValuesForTypeKey) {\n DefaultValuesForTypeKey[\"BOOLEAN\"] = \"boolean\";\n DefaultValuesForTypeKey[\"STRING\"] = \"string\";\n DefaultValuesForTypeKey[\"NUMBER\"] = \"number\";\n DefaultValuesForTypeKey[\"ARRAY\"] = \"array\";\n})(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\n/* eslint-disable prefer-arrow-callback */\nimport { tokenizeArgString } from './tokenize-arg-string.js';\nimport { DefaultValuesForTypeKey } from './yargs-parser-types.js';\nimport { camelCase, decamelize, looksLikeNumber } from './string-utils.js';\nlet mixin;\nexport class YargsParser {\n constructor(_mixin) {\n mixin = _mixin;\n }\n parse(argsInput, options) {\n const opts = Object.assign({\n alias: undefined,\n array: undefined,\n boolean: undefined,\n config: undefined,\n configObjects: undefined,\n configuration: undefined,\n coerce: undefined,\n count: undefined,\n default: undefined,\n envPrefix: undefined,\n narg: undefined,\n normalize: undefined,\n string: undefined,\n number: undefined,\n __: undefined,\n key: undefined\n }, options);\n // allow a string argument to be passed in rather\n // than an argv array.\n const args = tokenizeArgString(argsInput);\n // tokenizeArgString adds extra quotes to args if argsInput is a string\n // only strip those extra quotes in processValue if argsInput is a string\n const inputIsString = typeof argsInput === 'string';\n // aliases might have transitive relationships, normalize this.\n const aliases = combineAliases(Object.assign(Object.create(null), opts.alias));\n const configuration = Object.assign({\n 'boolean-negation': true,\n 'camel-case-expansion': true,\n 'combine-arrays': false,\n 'dot-notation': true,\n 'duplicate-arguments-array': true,\n 'flatten-duplicate-arrays': true,\n 'greedy-arrays': true,\n 'halt-at-non-option': false,\n 'nargs-eats-options': false,\n 'negation-prefix': 'no-',\n 'parse-numbers': true,\n 'parse-positional-numbers': true,\n 'populate--': false,\n 'set-placeholder-key': false,\n 'short-option-groups': true,\n 'strip-aliased': false,\n 'strip-dashed': false,\n 'unknown-options-as-args': false\n }, opts.configuration);\n const defaults = Object.assign(Object.create(null), opts.default);\n const configObjects = opts.configObjects || [];\n const envPrefix = opts.envPrefix;\n const notFlagsOption = configuration['populate--'];\n const notFlagsArgv = notFlagsOption ? '--' : '_';\n const newAliases = Object.create(null);\n const defaulted = Object.create(null);\n // allow a i18n handler to be passed in, default to a fake one (util.format).\n const __ = opts.__ || mixin.format;\n const flags = {\n aliases: Object.create(null),\n arrays: Object.create(null),\n bools: Object.create(null),\n strings: Object.create(null),\n numbers: Object.create(null),\n counts: Object.create(null),\n normalize: Object.create(null),\n configs: Object.create(null),\n nargs: Object.create(null),\n coercions: Object.create(null),\n keys: []\n };\n const negative = /^-([0-9]+(\\.[0-9]+)?|\\.[0-9]+)$/;\n const negatedBoolean = new RegExp('^--' + configuration['negation-prefix'] + '(.+)');\n [].concat(opts.array || []).filter(Boolean).forEach(function (opt) {\n const key = typeof opt === 'object' ? opt.key : opt;\n // assign to flags[bools|strings|numbers]\n const assignment = Object.keys(opt).map(function (key) {\n const arrayFlagKeys = {\n boolean: 'bools',\n string: 'strings',\n number: 'numbers'\n };\n return arrayFlagKeys[key];\n }).filter(Boolean).pop();\n // assign key to be coerced\n if (assignment) {\n flags[assignment][key] = true;\n }\n flags.arrays[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.boolean || []).filter(Boolean).forEach(function (key) {\n flags.bools[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.string || []).filter(Boolean).forEach(function (key) {\n flags.strings[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.number || []).filter(Boolean).forEach(function (key) {\n flags.numbers[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.count || []).filter(Boolean).forEach(function (key) {\n flags.counts[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.normalize || []).filter(Boolean).forEach(function (key) {\n flags.normalize[key] = true;\n flags.keys.push(key);\n });\n if (typeof opts.narg === 'object') {\n Object.entries(opts.narg).forEach(([key, value]) => {\n if (typeof value === 'number') {\n flags.nargs[key] = value;\n flags.keys.push(key);\n }\n });\n }\n if (typeof opts.coerce === 'object') {\n Object.entries(opts.coerce).forEach(([key, value]) => {\n if (typeof value === 'function') {\n flags.coercions[key] = value;\n flags.keys.push(key);\n }\n });\n }\n if (typeof opts.config !== 'undefined') {\n if (Array.isArray(opts.config) || typeof opts.config === 'string') {\n ;\n [].concat(opts.config).filter(Boolean).forEach(function (key) {\n flags.configs[key] = true;\n });\n }\n else if (typeof opts.config === 'object') {\n Object.entries(opts.config).forEach(([key, value]) => {\n if (typeof value === 'boolean' || typeof value === 'function') {\n flags.configs[key] = value;\n }\n });\n }\n }\n // create a lookup table that takes into account all\n // combinations of aliases: {f: ['foo'], foo: ['f']}\n extendAliases(opts.key, aliases, opts.default, flags.arrays);\n // apply default values to all aliases.\n Object.keys(defaults).forEach(function (key) {\n (flags.aliases[key] || []).forEach(function (alias) {\n defaults[alias] = defaults[key];\n });\n });\n let error = null;\n checkConfiguration();\n let notFlags = [];\n const argv = Object.assign(Object.create(null), { _: [] });\n // TODO(bcoe): for the first pass at removing object prototype we didn't\n // remove all prototypes from objects returned by this API, we might want\n // to gradually move towards doing so.\n const argvReturn = {};\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n const truncatedArg = arg.replace(/^-{3,}/, '---');\n let broken;\n let key;\n let letters;\n let m;\n let next;\n let value;\n // any unknown option (except for end-of-options, \"--\")\n if (arg !== '--' && /^-/.test(arg) && isUnknownOptionAsArg(arg)) {\n pushPositional(arg);\n // ---, ---=, ----, etc,\n }\n else if (truncatedArg.match(/^---+(=|$)/)) {\n // options without key name are invalid.\n pushPositional(arg);\n continue;\n // -- separated by =\n }\n else if (arg.match(/^--.+=/) || (!configuration['short-option-groups'] && arg.match(/^-.+=/))) {\n // Using [\\s\\S] instead of . because js doesn't support the\n // 'dotall' regex modifier. See:\n // http://stackoverflow.com/a/1068308/13216\n m = arg.match(/^--?([^=]+)=([\\s\\S]*)$/);\n // arrays format = '--f=a b c'\n if (m !== null && Array.isArray(m) && m.length >= 3) {\n if (checkAllAliases(m[1], flags.arrays)) {\n i = eatArray(i, m[1], args, m[2]);\n }\n else if (checkAllAliases(m[1], flags.nargs) !== false) {\n // nargs format = '--f=monkey washing cat'\n i = eatNargs(i, m[1], args, m[2]);\n }\n else {\n setArg(m[1], m[2], true);\n }\n }\n }\n else if (arg.match(negatedBoolean) && configuration['boolean-negation']) {\n m = arg.match(negatedBoolean);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n setArg(key, checkAllAliases(key, flags.arrays) ? [false] : false);\n }\n // -- separated by space.\n }\n else if (arg.match(/^--.+/) || (!configuration['short-option-groups'] && arg.match(/^-[^-]+/))) {\n m = arg.match(/^--?(.+)/);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '--foo a b c'\n i = eatArray(i, key, args);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '--foo a b c'\n // should be truthy even if: flags.nargs[key] === 0\n i = eatNargs(i, key, args);\n }\n else {\n next = args[i + 1];\n if (next !== undefined && (!next.match(/^-/) ||\n next.match(negative)) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else if (/^(true|false)$/.test(next)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n // dot-notation flag separated by '='.\n }\n else if (arg.match(/^-.\\..+=/)) {\n m = arg.match(/^-([^=]+)=([\\s\\S]*)$/);\n if (m !== null && Array.isArray(m) && m.length >= 3) {\n setArg(m[1], m[2]);\n }\n // dot-notation flag separated by space.\n }\n else if (arg.match(/^-.\\..+/) && !arg.match(negative)) {\n next = args[i + 1];\n m = arg.match(/^-(.\\..+)/);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n if (next !== undefined && !next.match(/^-/) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n else if (arg.match(/^-[^-]+/) && !arg.match(negative)) {\n letters = arg.slice(1, -1).split('');\n broken = false;\n for (let j = 0; j < letters.length; j++) {\n next = arg.slice(j + 2);\n if (letters[j + 1] && letters[j + 1] === '=') {\n value = arg.slice(j + 3);\n key = letters[j];\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '-f=a b c'\n i = eatArray(i, key, args, value);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '-f=monkey washing cat'\n i = eatNargs(i, key, args, value);\n }\n else {\n setArg(key, value);\n }\n broken = true;\n break;\n }\n if (next === '-') {\n setArg(letters[j], next);\n continue;\n }\n // current letter is an alphabetic character and next value is a number\n if (/[A-Za-z]/.test(letters[j]) &&\n /^-?\\d+(\\.\\d*)?(e-?\\d+)?$/.test(next) &&\n checkAllAliases(next, flags.bools) === false) {\n setArg(letters[j], next);\n broken = true;\n break;\n }\n if (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n setArg(letters[j], next);\n broken = true;\n break;\n }\n else {\n setArg(letters[j], defaultValue(letters[j]));\n }\n }\n key = arg.slice(-1)[0];\n if (!broken && key !== '-') {\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '-f a b c'\n i = eatArray(i, key, args);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '-f a b c'\n // should be truthy even if: flags.nargs[key] === 0\n i = eatNargs(i, key, args);\n }\n else {\n next = args[i + 1];\n if (next !== undefined && (!/^(-|--)[^-]/.test(next) ||\n next.match(negative)) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else if (/^(true|false)$/.test(next)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n }\n else if (arg.match(/^-[0-9]$/) &&\n arg.match(negative) &&\n checkAllAliases(arg.slice(1), flags.bools)) {\n // single-digit boolean alias, e.g: xargs -0\n key = arg.slice(1);\n setArg(key, defaultValue(key));\n }\n else if (arg === '--') {\n notFlags = args.slice(i + 1);\n break;\n }\n else if (configuration['halt-at-non-option']) {\n notFlags = args.slice(i);\n break;\n }\n else {\n pushPositional(arg);\n }\n }\n // order of precedence:\n // 1. command line arg\n // 2. value from env var\n // 3. value from config file\n // 4. value from config objects\n // 5. configured default value\n applyEnvVars(argv, true); // special case: check env vars that point to config file\n applyEnvVars(argv, false);\n setConfig(argv);\n setConfigObjects();\n applyDefaultsAndAliases(argv, flags.aliases, defaults, true);\n applyCoercions(argv);\n if (configuration['set-placeholder-key'])\n setPlaceholderKeys(argv);\n // for any counts either not in args or without an explicit default, set to 0\n Object.keys(flags.counts).forEach(function (key) {\n if (!hasKey(argv, key.split('.')))\n setArg(key, 0);\n });\n // '--' defaults to undefined.\n if (notFlagsOption && notFlags.length)\n argv[notFlagsArgv] = [];\n notFlags.forEach(function (key) {\n argv[notFlagsArgv].push(key);\n });\n if (configuration['camel-case-expansion'] && configuration['strip-dashed']) {\n Object.keys(argv).filter(key => key !== '--' && key.includes('-')).forEach(key => {\n delete argv[key];\n });\n }\n if (configuration['strip-aliased']) {\n ;\n [].concat(...Object.keys(aliases).map(k => aliases[k])).forEach(alias => {\n if (configuration['camel-case-expansion'] && alias.includes('-')) {\n delete argv[alias.split('.').map(prop => camelCase(prop)).join('.')];\n }\n delete argv[alias];\n });\n }\n // Push argument into positional array, applying numeric coercion:\n function pushPositional(arg) {\n const maybeCoercedNumber = maybeCoerceNumber('_', arg);\n if (typeof maybeCoercedNumber === 'string' || typeof maybeCoercedNumber === 'number') {\n argv._.push(maybeCoercedNumber);\n }\n }\n // how many arguments should we consume, based\n // on the nargs option?\n function eatNargs(i, key, args, argAfterEqualSign) {\n let ii;\n let toEat = checkAllAliases(key, flags.nargs);\n // NaN has a special meaning for the array type, indicating that one or\n // more values are expected.\n toEat = typeof toEat !== 'number' || isNaN(toEat) ? 1 : toEat;\n if (toEat === 0) {\n if (!isUndefined(argAfterEqualSign)) {\n error = Error(__('Argument unexpected for: %s', key));\n }\n setArg(key, defaultValue(key));\n return i;\n }\n let available = isUndefined(argAfterEqualSign) ? 0 : 1;\n if (configuration['nargs-eats-options']) {\n // classic behavior, yargs eats positional and dash arguments.\n if (args.length - (i + 1) + available < toEat) {\n error = Error(__('Not enough arguments following: %s', key));\n }\n available = toEat;\n }\n else {\n // nargs will not consume flag arguments, e.g., -abc, --foo,\n // and terminates when one is observed.\n for (ii = i + 1; ii < args.length; ii++) {\n if (!args[ii].match(/^-[^0-9]/) || args[ii].match(negative) || isUnknownOptionAsArg(args[ii]))\n available++;\n else\n break;\n }\n if (available < toEat)\n error = Error(__('Not enough arguments following: %s', key));\n }\n let consumed = Math.min(available, toEat);\n if (!isUndefined(argAfterEqualSign) && consumed > 0) {\n setArg(key, argAfterEqualSign);\n consumed--;\n }\n for (ii = i + 1; ii < (consumed + i + 1); ii++) {\n setArg(key, args[ii]);\n }\n return (i + consumed);\n }\n // if an option is an array, eat all non-hyphenated arguments\n // following it... YUM!\n // e.g., --foo apple banana cat becomes [\"apple\", \"banana\", \"cat\"]\n function eatArray(i, key, args, argAfterEqualSign) {\n let argsToSet = [];\n let next = argAfterEqualSign || args[i + 1];\n // If both array and nargs are configured, enforce the nargs count:\n const nargsCount = checkAllAliases(key, flags.nargs);\n if (checkAllAliases(key, flags.bools) && !(/^(true|false)$/.test(next))) {\n argsToSet.push(true);\n }\n else if (isUndefined(next) ||\n (isUndefined(argAfterEqualSign) && /^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))) {\n // for keys without value ==> argsToSet remains an empty []\n // set user default value, if available\n if (defaults[key] !== undefined) {\n const defVal = defaults[key];\n argsToSet = Array.isArray(defVal) ? defVal : [defVal];\n }\n }\n else {\n // value in --option=value is eaten as is\n if (!isUndefined(argAfterEqualSign)) {\n argsToSet.push(processValue(key, argAfterEqualSign, true));\n }\n for (let ii = i + 1; ii < args.length; ii++) {\n if ((!configuration['greedy-arrays'] && argsToSet.length > 0) ||\n (nargsCount && typeof nargsCount === 'number' && argsToSet.length >= nargsCount))\n break;\n next = args[ii];\n if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))\n break;\n i = ii;\n argsToSet.push(processValue(key, next, inputIsString));\n }\n }\n // If both array and nargs are configured, create an error if less than\n // nargs positionals were found. NaN has special meaning, indicating\n // that at least one value is required (more are okay).\n if (typeof nargsCount === 'number' && ((nargsCount && argsToSet.length < nargsCount) ||\n (isNaN(nargsCount) && argsToSet.length === 0))) {\n error = Error(__('Not enough arguments following: %s', key));\n }\n setArg(key, argsToSet);\n return i;\n }\n function setArg(key, val, shouldStripQuotes = inputIsString) {\n if (/-/.test(key) && configuration['camel-case-expansion']) {\n const alias = key.split('.').map(function (prop) {\n return camelCase(prop);\n }).join('.');\n addNewAlias(key, alias);\n }\n const value = processValue(key, val, shouldStripQuotes);\n const splitKey = key.split('.');\n setKey(argv, splitKey, value);\n // handle populating aliases of the full key\n if (flags.aliases[key]) {\n flags.aliases[key].forEach(function (x) {\n const keyProperties = x.split('.');\n setKey(argv, keyProperties, value);\n });\n }\n // handle populating aliases of the first element of the dot-notation key\n if (splitKey.length > 1 && configuration['dot-notation']) {\n ;\n (flags.aliases[splitKey[0]] || []).forEach(function (x) {\n let keyProperties = x.split('.');\n // expand alias with nested objects in key\n const a = [].concat(splitKey);\n a.shift(); // nuke the old key.\n keyProperties = keyProperties.concat(a);\n // populate alias only if is not already an alias of the full key\n // (already populated above)\n if (!(flags.aliases[key] || []).includes(keyProperties.join('.'))) {\n setKey(argv, keyProperties, value);\n }\n });\n }\n // Set normalize getter and setter when key is in 'normalize' but isn't an array\n if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {\n const keys = [key].concat(flags.aliases[key] || []);\n keys.forEach(function (key) {\n Object.defineProperty(argvReturn, key, {\n enumerable: true,\n get() {\n return val;\n },\n set(value) {\n val = typeof value === 'string' ? mixin.normalize(value) : value;\n }\n });\n });\n }\n }\n function addNewAlias(key, alias) {\n if (!(flags.aliases[key] && flags.aliases[key].length)) {\n flags.aliases[key] = [alias];\n newAliases[alias] = true;\n }\n if (!(flags.aliases[alias] && flags.aliases[alias].length)) {\n addNewAlias(alias, key);\n }\n }\n function processValue(key, val, shouldStripQuotes) {\n // strings may be quoted, clean this up as we assign values.\n if (shouldStripQuotes) {\n val = stripQuotes(val);\n }\n // handle parsing boolean arguments --foo=true --bar false.\n if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {\n if (typeof val === 'string')\n val = val === 'true';\n }\n let value = Array.isArray(val)\n ? val.map(function (v) { return maybeCoerceNumber(key, v); })\n : maybeCoerceNumber(key, val);\n // increment a count given as arg (either no value or value parsed as boolean)\n if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) {\n value = increment();\n }\n // Set normalized value when key is in 'normalize' and in 'arrays'\n if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {\n if (Array.isArray(val))\n value = val.map((val) => { return mixin.normalize(val); });\n else\n value = mixin.normalize(val);\n }\n return value;\n }\n function maybeCoerceNumber(key, value) {\n if (!configuration['parse-positional-numbers'] && key === '_')\n return value;\n if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.bools) && !Array.isArray(value)) {\n const shouldCoerceNumber = looksLikeNumber(value) && configuration['parse-numbers'] && (Number.isSafeInteger(Math.floor(parseFloat(`${value}`))));\n if (shouldCoerceNumber || (!isUndefined(value) && checkAllAliases(key, flags.numbers))) {\n value = Number(value);\n }\n }\n return value;\n }\n // set args from config.json file, this should be\n // applied last so that defaults can be applied.\n function setConfig(argv) {\n const configLookup = Object.create(null);\n // expand defaults/aliases, in-case any happen to reference\n // the config.json file.\n applyDefaultsAndAliases(configLookup, flags.aliases, defaults);\n Object.keys(flags.configs).forEach(function (configKey) {\n const configPath = argv[configKey] || configLookup[configKey];\n if (configPath) {\n try {\n let config = null;\n const resolvedConfigPath = mixin.resolve(mixin.cwd(), configPath);\n const resolveConfig = flags.configs[configKey];\n if (typeof resolveConfig === 'function') {\n try {\n config = resolveConfig(resolvedConfigPath);\n }\n catch (e) {\n config = e;\n }\n if (config instanceof Error) {\n error = config;\n return;\n }\n }\n else {\n config = mixin.require(resolvedConfigPath);\n }\n setConfigObject(config);\n }\n catch (ex) {\n // Deno will receive a PermissionDenied error if an attempt is\n // made to load config without the --allow-read flag:\n if (ex.name === 'PermissionDenied')\n error = ex;\n else if (argv[configKey])\n error = Error(__('Invalid JSON config file: %s', configPath));\n }\n }\n });\n }\n // set args from config object.\n // it recursively checks nested objects.\n function setConfigObject(config, prev) {\n Object.keys(config).forEach(function (key) {\n const value = config[key];\n const fullKey = prev ? prev + '.' + key : key;\n // if the value is an inner object and we have dot-notation\n // enabled, treat inner objects in config the same as\n // heavily nested dot notations (foo.bar.apple).\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && configuration['dot-notation']) {\n // if the value is an object but not an array, check nested object\n setConfigObject(value, fullKey);\n }\n else {\n // setting arguments via CLI takes precedence over\n // values within the config file.\n if (!hasKey(argv, fullKey.split('.')) || (checkAllAliases(fullKey, flags.arrays) && configuration['combine-arrays'])) {\n setArg(fullKey, value);\n }\n }\n });\n }\n // set all config objects passed in opts\n function setConfigObjects() {\n if (typeof configObjects !== 'undefined') {\n configObjects.forEach(function (configObject) {\n setConfigObject(configObject);\n });\n }\n }\n function applyEnvVars(argv, configOnly) {\n if (typeof envPrefix === 'undefined')\n return;\n const prefix = typeof envPrefix === 'string' ? envPrefix : '';\n const env = mixin.env();\n Object.keys(env).forEach(function (envVar) {\n if (prefix === '' || envVar.lastIndexOf(prefix, 0) === 0) {\n // get array of nested keys and convert them to camel case\n const keys = envVar.split('__').map(function (key, i) {\n if (i === 0) {\n key = key.substring(prefix.length);\n }\n return camelCase(key);\n });\n if (((configOnly && flags.configs[keys.join('.')]) || !configOnly) && !hasKey(argv, keys)) {\n setArg(keys.join('.'), env[envVar]);\n }\n }\n });\n }\n function applyCoercions(argv) {\n let coerce;\n const applied = new Set();\n Object.keys(argv).forEach(function (key) {\n if (!applied.has(key)) { // If we haven't already coerced this option via one of its aliases\n coerce = checkAllAliases(key, flags.coercions);\n if (typeof coerce === 'function') {\n try {\n const value = maybeCoerceNumber(key, coerce(argv[key]));\n ([].concat(flags.aliases[key] || [], key)).forEach(ali => {\n applied.add(ali);\n argv[ali] = value;\n });\n }\n catch (err) {\n error = err;\n }\n }\n }\n });\n }\n function setPlaceholderKeys(argv) {\n flags.keys.forEach((key) => {\n // don't set placeholder keys for dot notation options 'foo.bar'.\n if (~key.indexOf('.'))\n return;\n if (typeof argv[key] === 'undefined')\n argv[key] = undefined;\n });\n return argv;\n }\n function applyDefaultsAndAliases(obj, aliases, defaults, canLog = false) {\n Object.keys(defaults).forEach(function (key) {\n if (!hasKey(obj, key.split('.'))) {\n setKey(obj, key.split('.'), defaults[key]);\n if (canLog)\n defaulted[key] = true;\n (aliases[key] || []).forEach(function (x) {\n if (hasKey(obj, x.split('.')))\n return;\n setKey(obj, x.split('.'), defaults[key]);\n });\n }\n });\n }\n function hasKey(obj, keys) {\n let o = obj;\n if (!configuration['dot-notation'])\n keys = [keys.join('.')];\n keys.slice(0, -1).forEach(function (key) {\n o = (o[key] || {});\n });\n const key = keys[keys.length - 1];\n if (typeof o !== 'object')\n return false;\n else\n return key in o;\n }\n function setKey(obj, keys, value) {\n let o = obj;\n if (!configuration['dot-notation'])\n keys = [keys.join('.')];\n keys.slice(0, -1).forEach(function (key) {\n // TODO(bcoe): in the next major version of yargs, switch to\n // Object.create(null) for dot notation:\n key = sanitizeKey(key);\n if (typeof o === 'object' && o[key] === undefined) {\n o[key] = {};\n }\n if (typeof o[key] !== 'object' || Array.isArray(o[key])) {\n // ensure that o[key] is an array, and that the last item is an empty object.\n if (Array.isArray(o[key])) {\n o[key].push({});\n }\n else {\n o[key] = [o[key], {}];\n }\n // we want to update the empty object at the end of the o[key] array, so set o to that object\n o = o[key][o[key].length - 1];\n }\n else {\n o = o[key];\n }\n });\n // TODO(bcoe): in the next major version of yargs, switch to\n // Object.create(null) for dot notation:\n const key = sanitizeKey(keys[keys.length - 1]);\n const isTypeArray = checkAllAliases(keys.join('.'), flags.arrays);\n const isValueArray = Array.isArray(value);\n let duplicate = configuration['duplicate-arguments-array'];\n // nargs has higher priority than duplicate\n if (!duplicate && checkAllAliases(key, flags.nargs)) {\n duplicate = true;\n if ((!isUndefined(o[key]) && flags.nargs[key] === 1) || (Array.isArray(o[key]) && o[key].length === flags.nargs[key])) {\n o[key] = undefined;\n }\n }\n if (value === increment()) {\n o[key] = increment(o[key]);\n }\n else if (Array.isArray(o[key])) {\n if (duplicate && isTypeArray && isValueArray) {\n o[key] = configuration['flatten-duplicate-arrays'] ? o[key].concat(value) : (Array.isArray(o[key][0]) ? o[key] : [o[key]]).concat([value]);\n }\n else if (!duplicate && Boolean(isTypeArray) === Boolean(isValueArray)) {\n o[key] = value;\n }\n else {\n o[key] = o[key].concat([value]);\n }\n }\n else if (o[key] === undefined && isTypeArray) {\n o[key] = isValueArray ? value : [value];\n }\n else if (duplicate && !(o[key] === undefined ||\n checkAllAliases(key, flags.counts) ||\n checkAllAliases(key, flags.bools))) {\n o[key] = [o[key], value];\n }\n else {\n o[key] = value;\n }\n }\n // extend the aliases list with inferred aliases.\n function extendAliases(...args) {\n args.forEach(function (obj) {\n Object.keys(obj || {}).forEach(function (key) {\n // short-circuit if we've already added a key\n // to the aliases array, for example it might\n // exist in both 'opts.default' and 'opts.key'.\n if (flags.aliases[key])\n return;\n flags.aliases[key] = [].concat(aliases[key] || []);\n // For \"--option-name\", also set argv.optionName\n flags.aliases[key].concat(key).forEach(function (x) {\n if (/-/.test(x) && configuration['camel-case-expansion']) {\n const c = camelCase(x);\n if (c !== key && flags.aliases[key].indexOf(c) === -1) {\n flags.aliases[key].push(c);\n newAliases[c] = true;\n }\n }\n });\n // For \"--optionName\", also set argv['option-name']\n flags.aliases[key].concat(key).forEach(function (x) {\n if (x.length > 1 && /[A-Z]/.test(x) && configuration['camel-case-expansion']) {\n const c = decamelize(x, '-');\n if (c !== key && flags.aliases[key].indexOf(c) === -1) {\n flags.aliases[key].push(c);\n newAliases[c] = true;\n }\n }\n });\n flags.aliases[key].forEach(function (x) {\n flags.aliases[x] = [key].concat(flags.aliases[key].filter(function (y) {\n return x !== y;\n }));\n });\n });\n });\n }\n function checkAllAliases(key, flag) {\n const toCheck = [].concat(flags.aliases[key] || [], key);\n const keys = Object.keys(flag);\n const setAlias = toCheck.find(key => keys.includes(key));\n return setAlias ? flag[setAlias] : false;\n }\n function hasAnyFlag(key) {\n const flagsKeys = Object.keys(flags);\n const toCheck = [].concat(flagsKeys.map(k => flags[k]));\n return toCheck.some(function (flag) {\n return Array.isArray(flag) ? flag.includes(key) : flag[key];\n });\n }\n function hasFlagsMatching(arg, ...patterns) {\n const toCheck = [].concat(...patterns);\n return toCheck.some(function (pattern) {\n const match = arg.match(pattern);\n return match && hasAnyFlag(match[1]);\n });\n }\n // based on a simplified version of the short flag group parsing logic\n function hasAllShortFlags(arg) {\n // if this is a negative number, or doesn't start with a single hyphen, it's not a short flag group\n if (arg.match(negative) || !arg.match(/^-[^-]+/)) {\n return false;\n }\n let hasAllFlags = true;\n let next;\n const letters = arg.slice(1).split('');\n for (let j = 0; j < letters.length; j++) {\n next = arg.slice(j + 2);\n if (!hasAnyFlag(letters[j])) {\n hasAllFlags = false;\n break;\n }\n if ((letters[j + 1] && letters[j + 1] === '=') ||\n next === '-' ||\n (/[A-Za-z]/.test(letters[j]) && /^-?\\d+(\\.\\d*)?(e-?\\d+)?$/.test(next)) ||\n (letters[j + 1] && letters[j + 1].match(/\\W/))) {\n break;\n }\n }\n return hasAllFlags;\n }\n function isUnknownOptionAsArg(arg) {\n return configuration['unknown-options-as-args'] && isUnknownOption(arg);\n }\n function isUnknownOption(arg) {\n arg = arg.replace(/^-{3,}/, '--');\n // ignore negative numbers\n if (arg.match(negative)) {\n return false;\n }\n // if this is a short option group and all of them are configured, it isn't unknown\n if (hasAllShortFlags(arg)) {\n return false;\n }\n // e.g. '--count=2'\n const flagWithEquals = /^-+([^=]+?)=[\\s\\S]*$/;\n // e.g. '-a' or '--arg'\n const normalFlag = /^-+([^=]+?)$/;\n // e.g. '-a-'\n const flagEndingInHyphen = /^-+([^=]+?)-$/;\n // e.g. '-abc123'\n const flagEndingInDigits = /^-+([^=]+?\\d+)$/;\n // e.g. '-a/usr/local'\n const flagEndingInNonWordCharacters = /^-+([^=]+?)\\W+.*$/;\n // check the different types of flag styles, including negatedBoolean, a pattern defined near the start of the parse method\n return !hasFlagsMatching(arg, flagWithEquals, negatedBoolean, normalFlag, flagEndingInHyphen, flagEndingInDigits, flagEndingInNonWordCharacters);\n }\n // make a best effort to pick a default value\n // for an option based on name and type.\n function defaultValue(key) {\n if (!checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts) &&\n `${key}` in defaults) {\n return defaults[key];\n }\n else {\n return defaultForType(guessType(key));\n }\n }\n // return a default value, given the type of a flag.,\n function defaultForType(type) {\n const def = {\n [DefaultValuesForTypeKey.BOOLEAN]: true,\n [DefaultValuesForTypeKey.STRING]: '',\n [DefaultValuesForTypeKey.NUMBER]: undefined,\n [DefaultValuesForTypeKey.ARRAY]: []\n };\n return def[type];\n }\n // given a flag, enforce a default type.\n function guessType(key) {\n let type = DefaultValuesForTypeKey.BOOLEAN;\n if (checkAllAliases(key, flags.strings))\n type = DefaultValuesForTypeKey.STRING;\n else if (checkAllAliases(key, flags.numbers))\n type = DefaultValuesForTypeKey.NUMBER;\n else if (checkAllAliases(key, flags.bools))\n type = DefaultValuesForTypeKey.BOOLEAN;\n else if (checkAllAliases(key, flags.arrays))\n type = DefaultValuesForTypeKey.ARRAY;\n return type;\n }\n function isUndefined(num) {\n return num === undefined;\n }\n // check user configuration settings for inconsistencies\n function checkConfiguration() {\n // count keys should not be set as array/narg\n Object.keys(flags.counts).find(key => {\n if (checkAllAliases(key, flags.arrays)) {\n error = Error(__('Invalid configuration: %s, opts.count excludes opts.array.', key));\n return true;\n }\n else if (checkAllAliases(key, flags.nargs)) {\n error = Error(__('Invalid configuration: %s, opts.count excludes opts.narg.', key));\n return true;\n }\n return false;\n });\n }\n return {\n aliases: Object.assign({}, flags.aliases),\n argv: Object.assign(argvReturn, argv),\n configuration: configuration,\n defaulted: Object.assign({}, defaulted),\n error: error,\n newAliases: Object.assign({}, newAliases)\n };\n }\n}\n// if any aliases reference each other, we should\n// merge them together.\nfunction combineAliases(aliases) {\n const aliasArrays = [];\n const combined = Object.create(null);\n let change = true;\n // turn alias lookup hash {key: ['alias1', 'alias2']} into\n // a simple array ['key', 'alias1', 'alias2']\n Object.keys(aliases).forEach(function (key) {\n aliasArrays.push([].concat(aliases[key], key));\n });\n // combine arrays until zero changes are\n // made in an iteration.\n while (change) {\n change = false;\n for (let i = 0; i < aliasArrays.length; i++) {\n for (let ii = i + 1; ii < aliasArrays.length; ii++) {\n const intersect = aliasArrays[i].filter(function (v) {\n return aliasArrays[ii].indexOf(v) !== -1;\n });\n if (intersect.length) {\n aliasArrays[i] = aliasArrays[i].concat(aliasArrays[ii]);\n aliasArrays.splice(ii, 1);\n change = true;\n break;\n }\n }\n }\n }\n // map arrays back to the hash-lookup (de-dupe while\n // we're at it).\n aliasArrays.forEach(function (aliasArray) {\n aliasArray = aliasArray.filter(function (v, i, self) {\n return self.indexOf(v) === i;\n });\n const lastAlias = aliasArray.pop();\n if (lastAlias !== undefined && typeof lastAlias === 'string') {\n combined[lastAlias] = aliasArray;\n }\n });\n return combined;\n}\n// this function should only be called when a count is given as an arg\n// it is NOT called to set a default value\n// thus we can start the count at 1 instead of 0\nfunction increment(orig) {\n return orig !== undefined ? orig + 1 : 1;\n}\n// TODO(bcoe): in the next major version of yargs, switch to\n// Object.create(null) for dot notation:\nfunction sanitizeKey(key) {\n if (key === '__proto__')\n return '___proto___';\n return key;\n}\nfunction stripQuotes(val) {\n return (typeof val === 'string' &&\n (val[0] === \"'\" || val[0] === '\"') &&\n val[val.length - 1] === val[0])\n ? val.substring(1, val.length - 1)\n : val;\n}\n","function getProcessArgvBinIndex() {\n if (isBundledElectronApp())\n return 0;\n return 1;\n}\nfunction isBundledElectronApp() {\n return isElectronApp() && !process.defaultApp;\n}\nfunction isElectronApp() {\n return !!process.versions.electron;\n}\nexport function hideBin(argv) {\n return argv.slice(getProcessArgvBinIndex() + 1);\n}\nexport function getProcessArgvBin() {\n return process.argv[getProcessArgvBinIndex()];\n}\n","'use strict'\n\nimport { notStrictEqual, strictEqual } from 'assert'\nimport cliui from 'cliui'\nimport escalade from 'escalade/sync'\nimport { inspect } from 'util'\nimport { fileURLToPath } from 'url';\nimport Parser from 'yargs-parser'\nimport { basename, dirname, extname, relative, resolve, join } from 'path'\nimport { getProcessArgvBin } from '../../build/lib/utils/process-argv.js'\nimport stringWidth from 'string-width';\nimport y18n from 'y18n'\nimport { createRequire } from 'node:module';\nimport getCallerFile from 'get-caller-file';\nimport { readFileSync, readdirSync } from 'node:fs'\n\nconst __dirname = fileURLToPath(import.meta.url);\nconst mainFilename = __dirname.substring(0, __dirname.lastIndexOf('node_modules'));\nconst require = createRequire(import.meta.url);\n\nexport default {\n assert: {\n notStrictEqual,\n strictEqual\n },\n cliui,\n findUp: escalade,\n getEnv: (key) => {\n return process.env[key]\n },\n inspect,\n getProcessArgvBin,\n mainFilename: mainFilename || process.cwd(),\n Parser,\n path: {\n basename,\n dirname,\n extname,\n relative,\n resolve,\n join\n },\n process: {\n argv: () => process.argv,\n cwd: process.cwd,\n emitWarning: (warning, type) => process.emitWarning(warning, type),\n execPath: () => process.execPath,\n exit: (code) => {\n // eslint-disable-next-line n/no-process-exit\n process.exit(code);\n },\n nextTick: process.nextTick,\n stdColumns: typeof process.stdout.columns !== 'undefined' ? process.stdout.columns : null\n },\n readFileSync,\n readdirSync,\n require,\n getCallerFile: () => {\n const callerFile = getCallerFile(3);\n return callerFile.match(/^file:\\/\\//) ? fileURLToPath(callerFile) : callerFile;\n },\n stringWidth,\n y18n: y18n({\n directory: resolve(__dirname, '../../../locales'),\n updateFiles: false\n })\n}\n","'use strict';\nconst align = {\n right: alignRight,\n center: alignCenter\n};\nconst top = 0;\nconst right = 1;\nconst bottom = 2;\nconst left = 3;\nexport class UI {\n constructor(opts) {\n var _a;\n this.width = opts.width;\n this.wrap = (_a = opts.wrap) !== null && _a !== void 0 ? _a : true;\n this.rows = [];\n }\n span(...args) {\n const cols = this.div(...args);\n cols.span = true;\n }\n resetOutput() {\n this.rows = [];\n }\n div(...args) {\n if (args.length === 0) {\n this.div('');\n }\n if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === 'string') {\n return this.applyLayoutDSL(args[0]);\n }\n const cols = args.map(arg => {\n if (typeof arg === 'string') {\n return this.colFromString(arg);\n }\n return arg;\n });\n this.rows.push(cols);\n return cols;\n }\n shouldApplyLayoutDSL(...args) {\n return args.length === 1 && typeof args[0] === 'string' &&\n /[\\t\\n]/.test(args[0]);\n }\n applyLayoutDSL(str) {\n const rows = str.split('\\n').map(row => row.split('\\t'));\n let leftColumnWidth = 0;\n // simple heuristic for layout, make sure the\n // second column lines up along the left-hand.\n // don't allow the first column to take up more\n // than 50% of the screen.\n rows.forEach(columns => {\n if (columns.length > 1 && mixin.stringWidth(columns[0]) > leftColumnWidth) {\n leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin.stringWidth(columns[0]));\n }\n });\n // generate a table:\n // replacing ' ' with padding calculations.\n // using the algorithmically generated width.\n rows.forEach(columns => {\n this.div(...columns.map((r, i) => {\n return {\n text: r.trim(),\n padding: this.measurePadding(r),\n width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined\n };\n }));\n });\n return this.rows[this.rows.length - 1];\n }\n colFromString(text) {\n return {\n text,\n padding: this.measurePadding(text)\n };\n }\n measurePadding(str) {\n // measure padding without ansi escape codes\n const noAnsi = mixin.stripAnsi(str);\n return [0, noAnsi.match(/\\s*$/)[0].length, 0, noAnsi.match(/^\\s*/)[0].length];\n }\n toString() {\n const lines = [];\n this.rows.forEach(row => {\n this.rowToString(row, lines);\n });\n // don't display any lines with the\n // hidden flag set.\n return lines\n .filter(line => !line.hidden)\n .map(line => line.text)\n .join('\\n');\n }\n rowToString(row, lines) {\n this.rasterize(row).forEach((rrow, r) => {\n let str = '';\n rrow.forEach((col, c) => {\n const { width } = row[c]; // the width with padding.\n const wrapWidth = this.negatePadding(row[c]); // the width without padding.\n let ts = col; // temporary string used during alignment/padding.\n if (wrapWidth > mixin.stringWidth(col)) {\n ts += ' '.repeat(wrapWidth - mixin.stringWidth(col));\n }\n // align the string within its column.\n if (row[c].align && row[c].align !== 'left' && this.wrap) {\n const fn = align[row[c].align];\n ts = fn(ts, wrapWidth);\n if (mixin.stringWidth(ts) < wrapWidth) {\n ts += ' '.repeat((width || 0) - mixin.stringWidth(ts) - 1);\n }\n }\n // apply border and padding to string.\n const padding = row[c].padding || [0, 0, 0, 0];\n if (padding[left]) {\n str += ' '.repeat(padding[left]);\n }\n str += addBorder(row[c], ts, '| ');\n str += ts;\n str += addBorder(row[c], ts, ' |');\n if (padding[right]) {\n str += ' '.repeat(padding[right]);\n }\n // if prior row is span, try to render the\n // current row on the prior line.\n if (r === 0 && lines.length > 0) {\n str = this.renderInline(str, lines[lines.length - 1]);\n }\n });\n // remove trailing whitespace.\n lines.push({\n text: str.replace(/ +$/, ''),\n span: row.span\n });\n });\n return lines;\n }\n // if the full 'source' can render in\n // the target line, do so.\n renderInline(source, previousLine) {\n const match = source.match(/^ */);\n const leadingWhitespace = match ? match[0].length : 0;\n const target = previousLine.text;\n const targetTextWidth = mixin.stringWidth(target.trimRight());\n if (!previousLine.span) {\n return source;\n }\n // if we're not applying wrapping logic,\n // just always append to the span.\n if (!this.wrap) {\n previousLine.hidden = true;\n return target + source;\n }\n if (leadingWhitespace < targetTextWidth) {\n return source;\n }\n previousLine.hidden = true;\n return target.trimRight() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimLeft();\n }\n rasterize(row) {\n const rrows = [];\n const widths = this.columnWidths(row);\n let wrapped;\n // word wrap all columns, and create\n // a data-structure that is easy to rasterize.\n row.forEach((col, c) => {\n // leave room for left and right padding.\n col.width = widths[c];\n if (this.wrap) {\n wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\\n');\n }\n else {\n wrapped = col.text.split('\\n');\n }\n if (col.border) {\n wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');\n wrapped.push(\"'\" + '-'.repeat(this.negatePadding(col) + 2) + \"'\");\n }\n // add top and bottom padding.\n if (col.padding) {\n wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));\n wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));\n }\n wrapped.forEach((str, r) => {\n if (!rrows[r]) {\n rrows.push([]);\n }\n const rrow = rrows[r];\n for (let i = 0; i < c; i++) {\n if (rrow[i] === undefined) {\n rrow.push('');\n }\n }\n rrow.push(str);\n });\n });\n return rrows;\n }\n negatePadding(col) {\n let wrapWidth = col.width || 0;\n if (col.padding) {\n wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);\n }\n if (col.border) {\n wrapWidth -= 4;\n }\n return wrapWidth;\n }\n columnWidths(row) {\n if (!this.wrap) {\n return row.map(col => {\n return col.width || mixin.stringWidth(col.text);\n });\n }\n let unset = row.length;\n let remainingWidth = this.width;\n // column widths can be set in config.\n const widths = row.map(col => {\n if (col.width) {\n unset--;\n remainingWidth -= col.width;\n return col.width;\n }\n return undefined;\n });\n // any unset widths should be calculated.\n const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;\n return widths.map((w, i) => {\n if (w === undefined) {\n return Math.max(unsetWidth, _minWidth(row[i]));\n }\n return w;\n });\n }\n}\nfunction addBorder(col, ts, style) {\n if (col.border) {\n if (/[.']-+[.']/.test(ts)) {\n return '';\n }\n if (ts.trim().length !== 0) {\n return style;\n }\n return ' ';\n }\n return '';\n}\n// calculates the minimum width of\n// a column, based on padding preferences.\nfunction _minWidth(col) {\n const padding = col.padding || [];\n const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);\n if (col.border) {\n return minWidth + 4;\n }\n return minWidth;\n}\nfunction getWindowWidth() {\n /* c8 ignore next 5: depends on terminal */\n if (typeof process === 'object' && process.stdout && process.stdout.columns) {\n return process.stdout.columns;\n }\n return 80;\n}\nfunction alignRight(str, width) {\n str = str.trim();\n const strWidth = mixin.stringWidth(str);\n if (strWidth < width) {\n return ' '.repeat(width - strWidth) + str;\n }\n return str;\n}\nfunction alignCenter(str, width) {\n str = str.trim();\n const strWidth = mixin.stringWidth(str);\n /* c8 ignore next 3 */\n if (strWidth >= width) {\n return str;\n }\n return ' '.repeat((width - strWidth) >> 1) + str;\n}\nlet mixin;\nexport function cliui(opts, _mixin) {\n mixin = _mixin;\n return new UI({\n width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),\n wrap: opts === null || opts === void 0 ? void 0 : opts.wrap\n });\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\n\t// OSC sequences only: ESC ] ... ST\n\t// The payload stops at the first terminator character rather than scanning ahead for one, so an unterminated `ESC ]` cannot rescan the rest of the input. Terminals likewise abort a control string on an unexpected ESC.\n\tconst osc = `(?:\\\\u001B\\\\][^\\\\u0007\\\\u001B\\\\u009C]*${ST})`;\n\n\t// CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n\tconst csi = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]';\n\n\tconst pattern = `${osc}|${csi}`;\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Fast path: ANSI codes require ESC (7-bit) or CSI (8-bit) introducer\n\tif (!string.includes('\\u001B') && !string.includes('\\u009B')) {\n\t\treturn string;\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n","// Generated by scripts/build.js\n\nexport const ambiguousMinimalCodePoint = 161;\nexport const ambiguousMaximumCodePoint = 1114109;\nexport const ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];\n\nexport const fullwidthMinimalCodePoint = 12288;\nexport const fullwidthMaximumCodePoint = 65510;\nexport const fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];\n\nexport const halfwidthMinimalCodePoint = 8361;\nexport const halfwidthMaximumCodePoint = 65518;\nexport const halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];\n\nexport const narrowMinimalCodePoint = 32;\nexport const narrowMaximumCodePoint = 10630;\nexport const narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];\n\nexport const wideMinimalCodePoint = 4352;\nexport const wideMaximumCodePoint = 262141;\nexport const wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];\n","/**\nBinary search on a sorted flat array of [start, end] pairs.\n\n@param {number[]} ranges - Flat array of inclusive [start, end] range pairs, e.g. [0, 5, 10, 20].\n@param {number} codePoint - The value to search for.\n@returns {boolean} Whether the value falls within any of the ranges.\n*/\nexport const isInRange = (ranges, codePoint) => {\n\tlet low = 0;\n\tlet high = Math.floor(ranges.length / 2) - 1;\n\twhile (low <= high) {\n\t\tconst mid = Math.floor((low + high) / 2);\n\t\tconst i = mid * 2;\n\t\tif (codePoint < ranges[i]) {\n\t\t\thigh = mid - 1;\n\t\t} else if (codePoint > ranges[i + 1]) {\n\t\t\tlow = mid + 1;\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n","import {\n\tambiguousMinimalCodePoint,\n\tambiguousMaximumCodePoint,\n\tambiguousRanges,\n\n\tfullwidthMinimalCodePoint,\n\tfullwidthMaximumCodePoint,\n\tfullwidthRanges,\n\n\thalfwidthMinimalCodePoint,\n\thalfwidthMaximumCodePoint,\n\thalfwidthRanges,\n\n\tnarrowMinimalCodePoint,\n\tnarrowMaximumCodePoint,\n\tnarrowRanges,\n\n\twideMinimalCodePoint,\n\twideMaximumCodePoint,\n\twideRanges,\n} from './lookup-data.js';\nimport {isInRange} from './utilities.js';\n\nconst commonCjkCodePoint = 0x4E_00;\nconst [wideFastPathStart, wideFastPathEnd] = /* #__PURE__ */ findWideFastPathRange(wideRanges);\n\n// Use a hot-path range so common `isWide` calls can skip binary search.\n// The range containing U+4E00 covers common CJK ideographs;\n// fallback to the largest range for resilience to Unicode table changes.\nfunction findWideFastPathRange(ranges) {\n\tlet fastPathStart = ranges[0];\n\tlet fastPathEnd = ranges[1];\n\n\tfor (let index = 0; index < ranges.length; index += 2) {\n\t\tconst start = ranges[index];\n\t\tconst end = ranges[index + 1];\n\n\t\tif (\n\t\t\tcommonCjkCodePoint >= start\n\t\t\t&& commonCjkCodePoint <= end\n\t\t) {\n\t\t\treturn [start, end];\n\t\t}\n\n\t\tif ((end - start) > (fastPathEnd - fastPathStart)) {\n\t\t\tfastPathStart = start;\n\t\t\tfastPathEnd = end;\n\t\t}\n\t}\n\n\treturn [fastPathStart, fastPathEnd];\n}\n\nexport const isAmbiguous = codePoint => {\n\tif (\n\t\tcodePoint < ambiguousMinimalCodePoint\n\t\t|| codePoint > ambiguousMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(ambiguousRanges, codePoint);\n};\n\nexport const isFullWidth = codePoint => {\n\tif (\n\t\tcodePoint < fullwidthMinimalCodePoint\n\t\t|| codePoint > fullwidthMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(fullwidthRanges, codePoint);\n};\n\nconst isHalfWidth = codePoint => {\n\tif (\n\t\tcodePoint < halfwidthMinimalCodePoint\n\t\t|| codePoint > halfwidthMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(halfwidthRanges, codePoint);\n};\n\nconst isNarrow = codePoint => {\n\tif (\n\t\tcodePoint < narrowMinimalCodePoint\n\t\t|| codePoint > narrowMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(narrowRanges, codePoint);\n};\n\nexport const isWide = codePoint => {\n\tif (\n\t\tcodePoint >= wideFastPathStart\n\t\t&& codePoint <= wideFastPathEnd\n\t) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\tcodePoint < wideMinimalCodePoint\n\t\t|| codePoint > wideMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(wideRanges, codePoint);\n};\n\nexport function getCategory(codePoint) {\n\tif (isAmbiguous(codePoint)) {\n\t\treturn 'ambiguous';\n\t}\n\n\tif (isFullWidth(codePoint)) {\n\t\treturn 'fullwidth';\n\t}\n\n\tif (isHalfWidth(codePoint)) {\n\t\treturn 'halfwidth';\n\t}\n\n\tif (isNarrow(codePoint)) {\n\t\treturn 'narrow';\n\t}\n\n\tif (isWide(codePoint)) {\n\t\treturn 'wide';\n\t}\n\n\treturn 'neutral';\n}\n","import {getCategory, isAmbiguous, isFullWidth, isWide} from './lookup.js';\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nexport function eastAsianWidthType(codePoint) {\n\tvalidate(codePoint);\n\n\treturn getCategory(codePoint);\n}\n\nexport function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\n// Private exports for https://github.com/sindresorhus/is-fullwidth-code-point\nexport {isFullWidth as _isFullWidth, isWide as _isWide} from './lookup.js';\n","export default () => {\n\t// https://mths.be/emoji\n\treturn /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E-\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED8\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3C-\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE8A\\uDE8E-\\uDEC2\\uDEC6\\uDEC8\\uDECD-\\uDEDC\\uDEDF-\\uDEEA\\uDEEF]|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\n","import stripAnsi from 'strip-ansi';\nimport {eastAsianWidth} from 'get-east-asian-width';\nimport emojiRegex from 'emoji-regex';\n\nconst segmenter = new Intl.Segmenter();\n\nconst defaultIgnorableCodePointRegex = /^\\p{Default_Ignorable_Code_Point}$/u;\n\nexport default function stringWidth(string, options = {}) {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment: character} of segmenter.segment(string)) {\n\t\tconst codePoint = character.codePointAt(0);\n\n\t\t// Ignore control characters\n\t\tif (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore zero-width characters\n\t\tif (\n\t\t\t(codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark\n\t\t\t|| codePoint === 0xFE_FF // Zero-width no-break space\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (\n\t\t\t(codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks\n\t\t\t|| (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended\n\t\t\t|| (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement\n\t\t\t|| (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols\n\t\t\t|| (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore surrogate pairs\n\t\tif (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore variation selectors\n\t\tif (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// This covers some of the above cases, but we still keep them for performance reasons.\n\t\tif (defaultIgnorableCodePointRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// TODO: Use `/\\p{RGI_Emoji}/v` when targeting Node.js 20.\n\t\tif (emojiRegex().test(character)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n","const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","import stringWidth from 'string-width';\nimport stripAnsi from 'strip-ansi';\nimport ansiStyles from 'ansi-styles';\n\nconst ESCAPES = new Set([\n\t'\\u001B',\n\t'\\u009B',\n]);\n\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\n\nconst wrapAnsiCode = code => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = url => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\n\n// Calculate the length of words split on ' ', ignoring\n// the extra characters added by ansi escape codes\nconst wordLengths = string => string.split(' ').map(character => stringWidth(character));\n\n// Wrap a long word across multiple rows\n// Ansi escape codes do not count towards length\nconst wrapWord = (rows, word, columns) => {\n\tconst characters = [...word];\n\n\tlet isInsideEscape = false;\n\tlet isInsideLinkEscape = false;\n\tlet visible = stringWidth(stripAnsi(rows.at(-1)));\n\n\tfor (const [index, character] of characters.entries()) {\n\t\tconst characterLength = stringWidth(character);\n\n\t\tif (visible + characterLength <= columns) {\n\t\t\trows[rows.length - 1] += character;\n\t\t} else {\n\t\t\trows.push(character);\n\t\t\tvisible = 0;\n\t\t}\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tisInsideEscape = true;\n\n\t\t\tconst ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join('');\n\t\t\tisInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;\n\t\t}\n\n\t\tif (isInsideEscape) {\n\t\t\tif (isInsideLinkEscape) {\n\t\t\t\tif (character === ANSI_ESCAPE_BELL) {\n\t\t\t\t\tisInsideEscape = false;\n\t\t\t\t\tisInsideLinkEscape = false;\n\t\t\t\t}\n\t\t\t} else if (character === ANSI_SGR_TERMINATOR) {\n\t\t\t\tisInsideEscape = false;\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvisible += characterLength;\n\n\t\tif (visible === columns && index < characters.length - 1) {\n\t\t\trows.push('');\n\t\t\tvisible = 0;\n\t\t}\n\t}\n\n\t// It's possible that the last row we copy over is only\n\t// ansi escape characters, handle this edge-case\n\tif (!visible && rows.at(-1).length > 0 && rows.length > 1) {\n\t\trows[rows.length - 2] += rows.pop();\n\t}\n};\n\n// Trims spaces from a string ignoring invisible sequences\nconst stringVisibleTrimSpacesRight = string => {\n\tconst words = string.split(' ');\n\tlet last = words.length;\n\n\twhile (last > 0) {\n\t\tif (stringWidth(words[last - 1]) > 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tlast--;\n\t}\n\n\tif (last === words.length) {\n\t\treturn string;\n\t}\n\n\treturn words.slice(0, last).join(' ') + words.slice(last).join('');\n};\n\n// The wrap-ansi module can be invoked in either 'hard' or 'soft' wrap mode.\n//\n// 'hard' will never allow a string to take up more than columns characters.\n//\n// 'soft' allows long words to expand past the column length.\nconst exec = (string, columns, options = {}) => {\n\tif (options.trim !== false && string.trim() === '') {\n\t\treturn '';\n\t}\n\n\tlet returnValue = '';\n\tlet escapeCode;\n\tlet escapeUrl;\n\n\tconst lengths = wordLengths(string);\n\tlet rows = [''];\n\n\tfor (const [index, word] of string.split(' ').entries()) {\n\t\tif (options.trim !== false) {\n\t\t\trows[rows.length - 1] = rows.at(-1).trimStart();\n\t\t}\n\n\t\tlet rowLength = stringWidth(rows.at(-1));\n\n\t\tif (index !== 0) {\n\t\t\tif (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {\n\t\t\t\t// If we start with a new word but the current row length equals the length of the columns, add a new row\n\t\t\t\trows.push('');\n\t\t\t\trowLength = 0;\n\t\t\t}\n\n\t\t\tif (rowLength > 0 || options.trim === false) {\n\t\t\t\trows[rows.length - 1] += ' ';\n\t\t\t\trowLength++;\n\t\t\t}\n\t\t}\n\n\t\t// In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'\n\t\tif (options.hard && lengths[index] > columns) {\n\t\t\tconst remainingColumns = (columns - rowLength);\n\t\t\tconst breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);\n\t\t\tconst breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);\n\t\t\tif (breaksStartingNextLine < breaksStartingThisLine) {\n\t\t\t\trows.push('');\n\t\t\t}\n\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {\n\t\t\tif (options.wordWrap === false && rowLength < columns) {\n\t\t\t\twrapWord(rows, word, columns);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\trows.push('');\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && options.wordWrap === false) {\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\trows[rows.length - 1] += word;\n\t}\n\n\tif (options.trim !== false) {\n\t\trows = rows.map(row => stringVisibleTrimSpacesRight(row));\n\t}\n\n\tconst preString = rows.join('\\n');\n\tconst pre = [...preString];\n\n\t// We need to keep a separate index as `String#slice()` works on Unicode code units, while `pre` is an array of codepoints.\n\tlet preStringIndex = 0;\n\n\tfor (const [index, character] of pre.entries()) {\n\t\treturnValue += character;\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tconst {groups} = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || {groups: {}};\n\t\t\tif (groups.code !== undefined) {\n\t\t\t\tconst code = Number.parseFloat(groups.code);\n\t\t\t\tescapeCode = code === END_CODE ? undefined : code;\n\t\t\t} else if (groups.uri !== undefined) {\n\t\t\t\tescapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n\t\t\t}\n\t\t}\n\n\t\tconst code = ansiStyles.codes.get(Number(escapeCode));\n\n\t\tif (pre[index + 1] === '\\n') {\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink('');\n\t\t\t}\n\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(code);\n\t\t\t}\n\t\t} else if (character === '\\n') {\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(escapeCode);\n\t\t\t}\n\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink(escapeUrl);\n\t\t\t}\n\t\t}\n\n\t\tpreStringIndex += character.length;\n\t}\n\n\treturn returnValue;\n};\n\n// For each newline, invoke the method separately\nexport default function wrapAnsi(string, columns, options) {\n\treturn String(string)\n\t\t.normalize()\n\t\t.replaceAll('\\r\\n', '\\n')\n\t\t.split('\\n')\n\t\t.map(line => exec(line, columns, options))\n\t\t.join('\\n');\n}\n","// Bootstrap cliui with CommonJS dependencies:\nimport { cliui } from './build/lib/index.js'\nimport stringWidth from 'string-width'\nimport stripAnsi from 'strip-ansi'\nimport wrapAnsi from 'wrap-ansi'\n\nexport default function ui (opts) {\n return cliui(opts, {\n stringWidth,\n stripAnsi,\n wrap: wrapAnsi\n })\n}\n\nexport {ui as 'module.exports'};\n","import { dirname, resolve } from 'path';\nimport { readdirSync, statSync } from 'fs';\n\nexport default function (start, callback) {\n\tlet dir = resolve('.', start);\n\tlet tmp, stats = statSync(dir);\n\n\tif (!stats.isDirectory()) {\n\t\tdir = dirname(dir);\n\t}\n\n\twhile (true) {\n\t\ttmp = callback(dir, readdirSync(dir));\n\t\tif (tmp) return resolve(dir, tmp);\n\t\tdir = dirname(tmp = dir);\n\t\tif (tmp === dir) break;\n\t}\n}\n","import stripAnsi from 'strip-ansi';\nimport {eastAsianWidth} from 'get-east-asian-width';\n\n/**\nLogic:\n- Segment graphemes to match how terminals render clusters.\n- Width rules:\n\t1. Skip non-printing clusters (Default_Ignorable, Control, pure nonspacing/enclosing Mark, lone Surrogates). Tabs are ignored by design.\n\t2. RGI emoji clusters (\\p{RGI_Emoji}) are double-width.\n\t3. Minimally-qualified/unqualified emoji clusters (ZWJ sequences with 2+ Extended_Pictographic, or keycap sequences) are double-width.\n\t4. Hangul jamo collapse each standard modern Hangul L+V or L+V+T syllable piece to width 2.\n\t Unmatched repeated leading/vowel/trailing jamo stay additive because that matches how the terminals we target render them.\n\t5. Otherwise use East Asian Width of the cluster's first visible code point, and add widths for trailing spacing marks and Halfwidth/Fullwidth Forms within the same cluster (e.g., dakuten/handakuten/prolonged sound mark).\n*/\n\nconst segmenter = new Intl.Segmenter();\n\n// Whole-cluster zero-width\nconst zeroWidthClusterRegex = /^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Nonspacing_Mark}|\\p{Enclosing_Mark}|\\p{Surrogate})+$/v;\n\n// Pick the base scalar if the cluster starts with Prepend/Format/Marks\nconst leadingNonPrintingRegex = /^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]+/v;\nconst spacingMarkRegex = /\\p{Spacing_Mark}/v;\n\n// RGI emoji sequences\nconst rgiEmojiRegex = /^\\p{RGI_Emoji}$/v;\n\n// Detect minimally-qualified/unqualified emoji sequences (missing VS16 but still render as double-width)\nconst unqualifiedKeycapRegex = /^[\\d#*]\\u20E3$/;\nconst extendedPictographicRegex = /\\p{Extended_Pictographic}/gu;\n\nfunction isDoubleWidthNonRgiEmojiSequence(segment) {\n\t// Real emoji clusters are < 30 chars; guard against pathological input\n\tif (segment.length > 50) {\n\t\treturn false;\n\t}\n\n\tif (unqualifiedKeycapRegex.test(segment)) {\n\t\treturn true;\n\t}\n\n\t// ZWJ sequences with 2+ Extended_Pictographic\n\tif (segment.includes('\\u200D')) {\n\t\tconst pictographics = segment.match(extendedPictographicRegex);\n\t\treturn pictographics !== null && pictographics.length >= 2;\n\t}\n\n\treturn false;\n}\n\nfunction baseVisible(segment) {\n\treturn segment.replace(leadingNonPrintingRegex, '');\n}\n\nfunction isZeroWidthCluster(segment) {\n\treturn zeroWidthClusterRegex.test(segment);\n}\n\nfunction isHangulLeadingJamo(codePoint) {\n\treturn (codePoint >= 0x11_00 && codePoint <= 0x11_5F)\n\t\t|| (codePoint >= 0xA9_60 && codePoint <= 0xA9_7C);\n}\n\nfunction isHangulVowelJamo(codePoint) {\n\treturn (codePoint >= 0x11_60 && codePoint <= 0x11_A7)\n\t\t|| (codePoint >= 0xD7_B0 && codePoint <= 0xD7_C6);\n}\n\nfunction isHangulTrailingJamo(codePoint) {\n\treturn (codePoint >= 0x11_A8 && codePoint <= 0x11_FF)\n\t\t|| (codePoint >= 0xD7_CB && codePoint <= 0xD7_FB);\n}\n\nfunction isHangulJamo(codePoint) {\n\treturn isHangulLeadingJamo(codePoint)\n\t\t|| isHangulVowelJamo(codePoint)\n\t\t|| isHangulTrailingJamo(codePoint);\n}\n\nfunction hangulClusterWidth(visibleSegment, eastAsianWidthOptions) {\n\tconst codePoints = [];\n\n\tfor (const character of visibleSegment) {\n\t\tif (zeroWidthClusterRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tcodePoints.push(character.codePointAt(0));\n\t}\n\n\tif (codePoints.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tlet width = 0;\n\n\tfor (let index = 0; index < codePoints.length; index++) {\n\t\tconst codePoint = codePoints[index];\n\t\tif (!isHangulJamo(codePoint)) {\n\t\t\tif (width === 0) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Mixed cluster (e.g., L + precomposed syllable): use EAW for non-jamo remainder\n\t\t\tfor (let remaining = index; remaining < codePoints.length; remaining++) {\n\t\t\t\twidth += eastAsianWidth(codePoints[remaining], eastAsianWidthOptions);\n\t\t\t}\n\n\t\t\treturn width;\n\t\t}\n\n\t\t// Modern Hangul L+V(+T) shapes as one syllable block. Unmatched jamo stay additive:\n\t\t// U+1100 U+1100 U+1161 => U+1100 + (U+1100 U+1161) => 2 + 2.\n\t\tif (\n\t\t\tisHangulLeadingJamo(codePoint)\n\t\t\t&& isHangulVowelJamo(codePoints[index + 1])\n\t\t) {\n\t\t\twidth += 2;\n\t\t\tindex += isHangulTrailingJamo(codePoints[index + 2]) ? 2 : 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n\nfunction trailingWidth(visibleSegment, eastAsianWidthOptions) {\n\tlet extra = 0;\n\tlet first = true;\n\n\tfor (const character of visibleSegment) {\n\t\tif (first) {\n\t\t\tfirst = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (\n\t\t\tspacingMarkRegex.test(character)\n\t\t\t|| (character >= '\\uFF00' && character <= '\\uFFEF')\n\t\t) {\n\t\t\textra += eastAsianWidth(character.codePointAt(0), eastAsianWidthOptions);\n\t\t}\n\t}\n\n\treturn extra;\n}\n\nexport default function stringWidth(input, options = {}) {\n\tif (typeof input !== 'string' || input.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tlet string = input;\n\n\t// Avoid calling stripAnsi when there are no ANSI escape sequences (ESC = 0x1B, CSI = 0x9B)\n\tif (!countAnsiEscapeCodes && (string.includes('\\u001B') || string.includes('\\u009B'))) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\t// Fast path: printable ASCII (0x20–0x7E) needs no segmenter, regex, or EAW lookup — width equals length.\n\tif (/^[\\u0020-\\u007E]*$/.test(string)) {\n\t\treturn string.length;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment} of segmenter.segment(string)) {\n\t\t// Zero-width / non-printing clusters\n\t\tif (isZeroWidthCluster(segment)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Emoji width logic\n\t\tif (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst visibleSegment = baseVisible(segment);\n\t\tconst hangulWidth = hangulClusterWidth(visibleSegment, eastAsianWidthOptions);\n\t\tif (hangulWidth !== undefined) {\n\t\t\twidth += hangulWidth;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Everything else: EAW of the cluster’s first visible scalar\n\t\tconst codePoint = visibleSegment.codePointAt(0);\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\n\t\t// Add width for trailing spacing marks and Halfwidth/Fullwidth Forms (e.g., ゙, ゚, ー)\n\t\twidth += trailingWidth(visibleSegment, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n","import { readFileSync, statSync, writeFile } from 'fs';\nimport { format } from 'util';\nimport { resolve } from 'path';\nexport default {\n fs: {\n readFileSync,\n writeFile\n },\n format,\n resolve,\n exists: (file) => {\n try {\n return statSync(file).isFile();\n }\n catch (err) {\n return false;\n }\n }\n};\n","let shim;\nclass Y18N {\n constructor(opts) {\n // configurable options.\n opts = opts || {};\n this.directory = opts.directory || './locales';\n this.updateFiles = typeof opts.updateFiles === 'boolean' ? opts.updateFiles : true;\n this.locale = opts.locale || 'en';\n this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true;\n // internal stuff.\n this.cache = Object.create(null);\n this.writeQueue = [];\n }\n __(...args) {\n if (typeof arguments[0] !== 'string') {\n return this._taggedLiteral(arguments[0], ...arguments);\n }\n const str = args.shift();\n let cb = function () { }; // start with noop.\n if (typeof args[args.length - 1] === 'function')\n cb = args.pop();\n cb = cb || function () { }; // noop.\n if (!this.cache[this.locale])\n this._readLocaleFile();\n // we've observed a new string, update the language file.\n if (!this.cache[this.locale][str] && this.updateFiles) {\n this.cache[this.locale][str] = str;\n // include the current directory and locale,\n // since these values could change before the\n // write is performed.\n this._enqueueWrite({\n directory: this.directory,\n locale: this.locale,\n cb\n });\n }\n else {\n cb();\n }\n return shim.format.apply(shim.format, [this.cache[this.locale][str] || str].concat(args));\n }\n __n() {\n const args = Array.prototype.slice.call(arguments);\n const singular = args.shift();\n const plural = args.shift();\n const quantity = args.shift();\n let cb = function () { }; // start with noop.\n if (typeof args[args.length - 1] === 'function')\n cb = args.pop();\n if (!this.cache[this.locale])\n this._readLocaleFile();\n let str = quantity === 1 ? singular : plural;\n if (this.cache[this.locale][singular]) {\n const entry = this.cache[this.locale][singular];\n str = entry[quantity === 1 ? 'one' : 'other'];\n }\n // we've observed a new string, update the language file.\n if (!this.cache[this.locale][singular] && this.updateFiles) {\n this.cache[this.locale][singular] = {\n one: singular,\n other: plural\n };\n // include the current directory and locale,\n // since these values could change before the\n // write is performed.\n this._enqueueWrite({\n directory: this.directory,\n locale: this.locale,\n cb\n });\n }\n else {\n cb();\n }\n // if a %d placeholder is provided, add quantity\n // to the arguments expanded by util.format.\n const values = [str];\n if (~str.indexOf('%d'))\n values.push(quantity);\n return shim.format.apply(shim.format, values.concat(args));\n }\n setLocale(locale) {\n this.locale = locale;\n }\n getLocale() {\n return this.locale;\n }\n updateLocale(obj) {\n if (!this.cache[this.locale])\n this._readLocaleFile();\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n this.cache[this.locale][key] = obj[key];\n }\n }\n }\n _taggedLiteral(parts, ...args) {\n let str = '';\n parts.forEach(function (part, i) {\n const arg = args[i + 1];\n str += part;\n if (typeof arg !== 'undefined') {\n str += '%s';\n }\n });\n return this.__.apply(this, [str].concat([].slice.call(args, 1)));\n }\n _enqueueWrite(work) {\n this.writeQueue.push(work);\n if (this.writeQueue.length === 1)\n this._processWriteQueue();\n }\n _processWriteQueue() {\n const _this = this;\n const work = this.writeQueue[0];\n // destructure the enqueued work.\n const directory = work.directory;\n const locale = work.locale;\n const cb = work.cb;\n const languageFile = this._resolveLocaleFile(directory, locale);\n const serializedLocale = JSON.stringify(this.cache[locale], null, 2);\n shim.fs.writeFile(languageFile, serializedLocale, 'utf-8', function (err) {\n _this.writeQueue.shift();\n if (_this.writeQueue.length > 0)\n _this._processWriteQueue();\n cb(err);\n });\n }\n _readLocaleFile() {\n let localeLookup = {};\n const languageFile = this._resolveLocaleFile(this.directory, this.locale);\n try {\n // When using a bundler such as webpack, readFileSync may not be defined:\n if (shim.fs.readFileSync) {\n localeLookup = JSON.parse(shim.fs.readFileSync(languageFile, 'utf-8'));\n }\n }\n catch (err) {\n if (err instanceof SyntaxError) {\n err.message = 'syntax error in ' + languageFile;\n }\n if (err.code === 'ENOENT')\n localeLookup = {};\n else\n throw err;\n }\n this.cache[this.locale] = localeLookup;\n }\n _resolveLocaleFile(directory, locale) {\n let file = shim.resolve(directory, './', locale + '.json');\n if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf('_')) {\n // attempt fallback to language only\n const languageFile = shim.resolve(directory, './', locale.split('_')[0] + '.json');\n if (this._fileExistsSync(languageFile))\n file = languageFile;\n }\n return file;\n }\n _fileExistsSync(file) {\n return shim.exists(file);\n }\n}\nexport function y18n(opts, _shim) {\n shim = _shim;\n const y18n = new Y18N(opts);\n return {\n __: y18n.__.bind(y18n),\n __n: y18n.__n.bind(y18n),\n setLocale: y18n.setLocale.bind(y18n),\n getLocale: y18n.getLocale.bind(y18n),\n updateLocale: y18n.updateLocale.bind(y18n),\n locale: y18n.locale\n };\n}\n","import shim from './build/lib/platform-shims/node.js'\nimport { y18n as _y18n } from './build/lib/index.js'\n\nconst y18n = (opts) => {\n return _y18n(opts, shim)\n}\n\nexport default y18n\n","export class YError extends Error {\n constructor(msg) {\n super(msg || 'yargs error');\n this.name = 'YError';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, YError);\n }\n }\n}\n","import { YError } from '../yerror.js';\nlet previouslyVisitedConfigs = [];\nlet shim;\nexport function applyExtends(config, cwd, mergeExtends, _shim) {\n shim = _shim;\n let defaultConfig = {};\n if (Object.prototype.hasOwnProperty.call(config, 'extends')) {\n if (typeof config.extends !== 'string')\n return defaultConfig;\n const isPath = /\\.json|\\..*rc$/.test(config.extends);\n let pathToDefault = null;\n if (!isPath) {\n try {\n pathToDefault = import.meta.resolve(config.extends);\n }\n catch (_err) {\n return config;\n }\n }\n else {\n pathToDefault = getPathToDefaultConfig(cwd, config.extends);\n }\n checkForCircularExtends(pathToDefault);\n previouslyVisitedConfigs.push(pathToDefault);\n defaultConfig = isPath\n ? JSON.parse(shim.readFileSync(pathToDefault, 'utf8'))\n : _shim.require(config.extends);\n delete config.extends;\n defaultConfig = applyExtends(defaultConfig, shim.path.dirname(pathToDefault), mergeExtends, shim);\n }\n previouslyVisitedConfigs = [];\n return mergeExtends\n ? mergeDeep(defaultConfig, config)\n : Object.assign({}, defaultConfig, config);\n}\nfunction checkForCircularExtends(cfgPath) {\n if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {\n throw new YError(`Circular extended configurations: '${cfgPath}'.`);\n }\n}\nfunction getPathToDefaultConfig(cwd, pathToExtend) {\n return shim.path.resolve(cwd, pathToExtend);\n}\nfunction mergeDeep(config1, config2) {\n const target = {};\n function isObject(obj) {\n return obj && typeof obj === 'object' && !Array.isArray(obj);\n }\n Object.assign(target, config1);\n for (const key of Object.keys(config2)) {\n if (key === '__proto__')\n continue;\n if (isObject(config2[key]) && isObject(target[key])) {\n target[key] = mergeDeep(config1[key], config2[key]);\n }\n else {\n target[key] = config2[key];\n }\n }\n return target;\n}\n"],"mappings":";;;;;;;;;;;;AAKA,WAAA,UAAS,SAASA,eAAc,UAAY;AAAZ,UAAA,aAAA,QAAA;AAAA,mBAAA;MAAY;AAC1C,UAAI,YAAY,MAAM,iBAAiB;AACrC,cAAM,IAAI,UAAU,qGAAqG,WAAW,uCAAuC,MAAM,kBAAkB,GAAG;;AAGxM,UAAM,uBAAuB,MAAM;AACnC,YAAM,oBAAoB,SAAC,GAAGC,QAAK;AAAM,eAAAA;MAAA;AACzC,UAAM,QAAQ,IAAI,MAAK,EAAG;AAC1B,YAAM,oBAAoB;AAG1B,UAAI,UAAU,QAAQ,OAAO,UAAU,UAAU;AAI/C,eAAO,MAAM,QAAQ,IAAK,MAAM,QAAQ,EAAU,YAAW,IAAK;;IAEtE;;;;;ACbA,SAAS,cAAc;AACvB,SAAS,WAAW,eAAe;;;ACL5B,SAAS,UAAU,KAAK;AAG3B,QAAM,cAAc,QAAQ,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY;AACzE,MAAI,CAAC,aAAa;AACd,UAAM,IAAI,YAAY;AAAA,EAC1B;AACA,MAAI,IAAI,QAAQ,GAAG,MAAM,MAAM,IAAI,QAAQ,GAAG,MAAM,IAAI;AACpD,WAAO;AAAA,EACX,OACK;AACD,QAAI,YAAY;AAChB,QAAI,eAAe;AACnB,UAAM,iBAAiB,IAAI,MAAM,KAAK;AACtC,aAAS,IAAI,iBAAiB,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,IAAI,QAAQ,KAAK;AAC7E,UAAI,MAAM,IAAI,OAAO,CAAC;AACtB,UAAI,cAAc;AACd,uBAAe;AACf,cAAM,IAAI,YAAY;AAAA,MAC1B;AACA,UAAI,MAAM,MAAM,QAAQ,OAAO,QAAQ,MAAM;AACzC,uBAAe;AAAA,MACnB,WACS,QAAQ,OAAO,QAAQ,KAAK;AACjC,qBAAa;AAAA,MACjB;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;AACO,SAAS,WAAW,KAAK,YAAY;AACxC,QAAM,YAAY,IAAI,YAAY;AAClC,eAAa,cAAc;AAC3B,MAAI,eAAe;AACnB,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACjC,UAAM,WAAW,UAAU,OAAO,CAAC;AACnC,UAAM,YAAY,IAAI,OAAO,CAAC;AAC9B,QAAI,aAAa,aAAa,IAAI,GAAG;AACjC,sBAAgB,GAAG,UAAU,GAAG,UAAU,OAAO,CAAC,CAAC;AAAA,IACvD,OACK;AACD,sBAAgB;AAAA,IACpB;AAAA,EACJ;AACA,SAAO;AACX;AACO,SAAS,gBAAgB,GAAG;AAC/B,MAAI,MAAM,QAAQ,MAAM;AACpB,WAAO;AAEX,MAAI,OAAO,MAAM;AACb,WAAO;AAEX,MAAI,iBAAiB,KAAK,CAAC;AACvB,WAAO;AAEX,MAAI,SAAS,KAAK,CAAC;AACf,WAAO;AACX,SAAO,4CAA4C,KAAK,CAAC;AAC7D;;;AC1DO,SAAS,kBAAkB,WAAW;AACzC,MAAI,MAAM,QAAQ,SAAS,GAAG;AAC1B,WAAO,UAAU,IAAI,OAAK,OAAO,MAAM,WAAW,IAAI,KAAK,CAAC;AAAA,EAChE;AACA,cAAY,UAAU,KAAK;AAC3B,MAAI,IAAI;AACR,MAAI,QAAQ;AACZ,MAAI,IAAI;AACR,MAAI,UAAU;AACd,QAAM,OAAO,CAAC;AACd,WAAS,KAAK,GAAG,KAAK,UAAU,QAAQ,MAAM;AAC1C,YAAQ;AACR,QAAI,UAAU,OAAO,EAAE;AAEvB,QAAI,MAAM,OAAO,CAAC,SAAS;AACvB,UAAI,EAAE,UAAU,MAAM;AAClB;AAAA,MACJ;AACA;AAAA,IACJ;AAGA,QAAI,MAAM,SAAS;AACf,gBAAU;AAAA,IACd,YACU,MAAM,OAAO,MAAM,QAAQ,CAAC,SAAS;AAC3C,gBAAU;AAAA,IACd;AACA,QAAI,CAAC,KAAK,CAAC;AACP,WAAK,CAAC,IAAI;AACd,SAAK,CAAC,KAAK;AAAA,EACf;AACA,SAAO;AACX;;;AClCO,IAAI;AAAA,CACV,SAAUC,0BAAyB;AAChC,EAAAA,yBAAwB,SAAS,IAAI;AACrC,EAAAA,yBAAwB,QAAQ,IAAI;AACpC,EAAAA,yBAAwB,QAAQ,IAAI;AACpC,EAAAA,yBAAwB,OAAO,IAAI;AACvC,GAAG,4BAA4B,0BAA0B,CAAC,EAAE;;;ACF5D,IAAI;AACG,IAAM,cAAN,MAAkB;AAAA,EACrB,YAAY,QAAQ;AAChB,YAAQ;AAAA,EACZ;AAAA,EACA,MAAM,WAAW,SAAS;AACtB,UAAM,OAAO,OAAO,OAAO;AAAA,MACvB,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,IAAI;AAAA,MACJ,KAAK;AAAA,IACT,GAAG,OAAO;AAGV,UAAM,OAAO,kBAAkB,SAAS;AAGxC,UAAM,gBAAgB,OAAO,cAAc;AAE3C,UAAM,UAAU,eAAe,OAAO,OAAO,uBAAO,OAAO,IAAI,GAAG,KAAK,KAAK,CAAC;AAC7E,UAAM,gBAAgB,OAAO,OAAO;AAAA,MAChC,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,6BAA6B;AAAA,MAC7B,4BAA4B;AAAA,MAC5B,iBAAiB;AAAA,MACjB,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,4BAA4B;AAAA,MAC5B,cAAc;AAAA,MACd,uBAAuB;AAAA,MACvB,uBAAuB;AAAA,MACvB,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,MAChB,2BAA2B;AAAA,IAC/B,GAAG,KAAK,aAAa;AACrB,UAAM,WAAW,OAAO,OAAO,uBAAO,OAAO,IAAI,GAAG,KAAK,OAAO;AAChE,UAAM,gBAAgB,KAAK,iBAAiB,CAAC;AAC7C,UAAM,YAAY,KAAK;AACvB,UAAM,iBAAiB,cAAc,YAAY;AACjD,UAAM,eAAe,iBAAiB,OAAO;AAC7C,UAAM,aAAa,uBAAO,OAAO,IAAI;AACrC,UAAM,YAAY,uBAAO,OAAO,IAAI;AAEpC,UAAM,KAAK,KAAK,MAAM,MAAM;AAC5B,UAAM,QAAQ;AAAA,MACV,SAAS,uBAAO,OAAO,IAAI;AAAA,MAC3B,QAAQ,uBAAO,OAAO,IAAI;AAAA,MAC1B,OAAO,uBAAO,OAAO,IAAI;AAAA,MACzB,SAAS,uBAAO,OAAO,IAAI;AAAA,MAC3B,SAAS,uBAAO,OAAO,IAAI;AAAA,MAC3B,QAAQ,uBAAO,OAAO,IAAI;AAAA,MAC1B,WAAW,uBAAO,OAAO,IAAI;AAAA,MAC7B,SAAS,uBAAO,OAAO,IAAI;AAAA,MAC3B,OAAO,uBAAO,OAAO,IAAI;AAAA,MACzB,WAAW,uBAAO,OAAO,IAAI;AAAA,MAC7B,MAAM,CAAC;AAAA,IACX;AACA,UAAM,WAAW;AACjB,UAAM,iBAAiB,IAAI,OAAO,QAAQ,cAAc,iBAAiB,IAAI,MAAM;AACnF,KAAC,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAU,KAAK;AAC/D,YAAM,MAAM,OAAO,QAAQ,WAAW,IAAI,MAAM;AAEhD,YAAM,aAAa,OAAO,KAAK,GAAG,EAAE,IAAI,SAAUC,MAAK;AACnD,cAAM,gBAAgB;AAAA,UAClB,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ;AAAA,QACZ;AACA,eAAO,cAAcA,IAAG;AAAA,MAC5B,CAAC,EAAE,OAAO,OAAO,EAAE,IAAI;AAEvB,UAAI,YAAY;AACZ,cAAM,UAAU,EAAE,GAAG,IAAI;AAAA,MAC7B;AACA,YAAM,OAAO,GAAG,IAAI;AACpB,YAAM,KAAK,KAAK,GAAG;AAAA,IACvB,CAAC;AACD,KAAC,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAU,KAAK;AACjE,YAAM,MAAM,GAAG,IAAI;AACnB,YAAM,KAAK,KAAK,GAAG;AAAA,IACvB,CAAC;AACD,KAAC,EAAE,OAAO,KAAK,UAAU,CAAC,CAAC,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAU,KAAK;AAChE,YAAM,QAAQ,GAAG,IAAI;AACrB,YAAM,KAAK,KAAK,GAAG;AAAA,IACvB,CAAC;AACD,KAAC,EAAE,OAAO,KAAK,UAAU,CAAC,CAAC,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAU,KAAK;AAChE,YAAM,QAAQ,GAAG,IAAI;AACrB,YAAM,KAAK,KAAK,GAAG;AAAA,IACvB,CAAC;AACD,KAAC,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAU,KAAK;AAC/D,YAAM,OAAO,GAAG,IAAI;AACpB,YAAM,KAAK,KAAK,GAAG;AAAA,IACvB,CAAC;AACD,KAAC,EAAE,OAAO,KAAK,aAAa,CAAC,CAAC,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAU,KAAK;AACnE,YAAM,UAAU,GAAG,IAAI;AACvB,YAAM,KAAK,KAAK,GAAG;AAAA,IACvB,CAAC;AACD,QAAI,OAAO,KAAK,SAAS,UAAU;AAC/B,aAAO,QAAQ,KAAK,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAChD,YAAI,OAAO,UAAU,UAAU;AAC3B,gBAAM,MAAM,GAAG,IAAI;AACnB,gBAAM,KAAK,KAAK,GAAG;AAAA,QACvB;AAAA,MACJ,CAAC;AAAA,IACL;AACA,QAAI,OAAO,KAAK,WAAW,UAAU;AACjC,aAAO,QAAQ,KAAK,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAClD,YAAI,OAAO,UAAU,YAAY;AAC7B,gBAAM,UAAU,GAAG,IAAI;AACvB,gBAAM,KAAK,KAAK,GAAG;AAAA,QACvB;AAAA,MACJ,CAAC;AAAA,IACL;AACA,QAAI,OAAO,KAAK,WAAW,aAAa;AACpC,UAAI,MAAM,QAAQ,KAAK,MAAM,KAAK,OAAO,KAAK,WAAW,UAAU;AAC/D;AACA,SAAC,EAAE,OAAO,KAAK,MAAM,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAU,KAAK;AAC1D,gBAAM,QAAQ,GAAG,IAAI;AAAA,QACzB,CAAC;AAAA,MACL,WACS,OAAO,KAAK,WAAW,UAAU;AACtC,eAAO,QAAQ,KAAK,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAClD,cAAI,OAAO,UAAU,aAAa,OAAO,UAAU,YAAY;AAC3D,kBAAM,QAAQ,GAAG,IAAI;AAAA,UACzB;AAAA,QACJ,CAAC;AAAA,MACL;AAAA,IACJ;AAGA,kBAAc,KAAK,KAAK,SAAS,KAAK,SAAS,MAAM,MAAM;AAE3D,WAAO,KAAK,QAAQ,EAAE,QAAQ,SAAU,KAAK;AACzC,OAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,QAAQ,SAAU,OAAO;AAChD,iBAAS,KAAK,IAAI,SAAS,GAAG;AAAA,MAClC,CAAC;AAAA,IACL,CAAC;AACD,QAAI,QAAQ;AACZ,uBAAmB;AACnB,QAAI,WAAW,CAAC;AAChB,UAAM,OAAO,OAAO,OAAO,uBAAO,OAAO,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAIzD,UAAM,aAAa,CAAC;AACpB,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAClC,YAAM,MAAM,KAAK,CAAC;AAClB,YAAM,eAAe,IAAI,QAAQ,UAAU,KAAK;AAChD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,UAAI,QAAQ,QAAQ,KAAK,KAAK,GAAG,KAAK,qBAAqB,GAAG,GAAG;AAC7D,uBAAe,GAAG;AAAA,MAEtB,WACS,aAAa,MAAM,YAAY,GAAG;AAEvC,uBAAe,GAAG;AAClB;AAAA,MAEJ,WACS,IAAI,MAAM,QAAQ,KAAM,CAAC,cAAc,qBAAqB,KAAK,IAAI,MAAM,OAAO,GAAI;AAI3F,YAAI,IAAI,MAAM,wBAAwB;AAEtC,YAAI,MAAM,QAAQ,MAAM,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG;AACjD,cAAI,gBAAgB,EAAE,CAAC,GAAG,MAAM,MAAM,GAAG;AACrC,gBAAI,SAAS,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AAAA,UACpC,WACS,gBAAgB,EAAE,CAAC,GAAG,MAAM,KAAK,MAAM,OAAO;AAEnD,gBAAI,SAAS,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AAAA,UACpC,OACK;AACD,mBAAO,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;AAAA,UAC3B;AAAA,QACJ;AAAA,MACJ,WACS,IAAI,MAAM,cAAc,KAAK,cAAc,kBAAkB,GAAG;AACrE,YAAI,IAAI,MAAM,cAAc;AAC5B,YAAI,MAAM,QAAQ,MAAM,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG;AACjD,gBAAM,EAAE,CAAC;AACT,iBAAO,KAAK,gBAAgB,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,IAAI,KAAK;AAAA,QACpE;AAAA,MAEJ,WACS,IAAI,MAAM,OAAO,KAAM,CAAC,cAAc,qBAAqB,KAAK,IAAI,MAAM,SAAS,GAAI;AAC5F,YAAI,IAAI,MAAM,UAAU;AACxB,YAAI,MAAM,QAAQ,MAAM,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG;AACjD,gBAAM,EAAE,CAAC;AACT,cAAI,gBAAgB,KAAK,MAAM,MAAM,GAAG;AAEpC,gBAAI,SAAS,GAAG,KAAK,IAAI;AAAA,UAC7B,WACS,gBAAgB,KAAK,MAAM,KAAK,MAAM,OAAO;AAGlD,gBAAI,SAAS,GAAG,KAAK,IAAI;AAAA,UAC7B,OACK;AACD,mBAAO,KAAK,IAAI,CAAC;AACjB,gBAAI,SAAS,WAAc,CAAC,KAAK,MAAM,IAAI,KACvC,KAAK,MAAM,QAAQ,MACnB,CAAC,gBAAgB,KAAK,MAAM,KAAK,KACjC,CAAC,gBAAgB,KAAK,MAAM,MAAM,GAAG;AACrC,qBAAO,KAAK,IAAI;AAChB;AAAA,YACJ,WACS,iBAAiB,KAAK,IAAI,GAAG;AAClC,qBAAO,KAAK,IAAI;AAChB;AAAA,YACJ,OACK;AACD,qBAAO,KAAK,aAAa,GAAG,CAAC;AAAA,YACjC;AAAA,UACJ;AAAA,QACJ;AAAA,MAEJ,WACS,IAAI,MAAM,UAAU,GAAG;AAC5B,YAAI,IAAI,MAAM,sBAAsB;AACpC,YAAI,MAAM,QAAQ,MAAM,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG;AACjD,iBAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,QACrB;AAAA,MAEJ,WACS,IAAI,MAAM,SAAS,KAAK,CAAC,IAAI,MAAM,QAAQ,GAAG;AACnD,eAAO,KAAK,IAAI,CAAC;AACjB,YAAI,IAAI,MAAM,WAAW;AACzB,YAAI,MAAM,QAAQ,MAAM,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG;AACjD,gBAAM,EAAE,CAAC;AACT,cAAI,SAAS,UAAa,CAAC,KAAK,MAAM,IAAI,KACtC,CAAC,gBAAgB,KAAK,MAAM,KAAK,KACjC,CAAC,gBAAgB,KAAK,MAAM,MAAM,GAAG;AACrC,mBAAO,KAAK,IAAI;AAChB;AAAA,UACJ,OACK;AACD,mBAAO,KAAK,aAAa,GAAG,CAAC;AAAA,UACjC;AAAA,QACJ;AAAA,MACJ,WACS,IAAI,MAAM,SAAS,KAAK,CAAC,IAAI,MAAM,QAAQ,GAAG;AACnD,kBAAU,IAAI,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE;AACnC,iBAAS;AACT,iBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACrC,iBAAO,IAAI,MAAM,IAAI,CAAC;AACtB,cAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK;AAC1C,oBAAQ,IAAI,MAAM,IAAI,CAAC;AACvB,kBAAM,QAAQ,CAAC;AACf,gBAAI,gBAAgB,KAAK,MAAM,MAAM,GAAG;AAEpC,kBAAI,SAAS,GAAG,KAAK,MAAM,KAAK;AAAA,YACpC,WACS,gBAAgB,KAAK,MAAM,KAAK,MAAM,OAAO;AAElD,kBAAI,SAAS,GAAG,KAAK,MAAM,KAAK;AAAA,YACpC,OACK;AACD,qBAAO,KAAK,KAAK;AAAA,YACrB;AACA,qBAAS;AACT;AAAA,UACJ;AACA,cAAI,SAAS,KAAK;AACd,mBAAO,QAAQ,CAAC,GAAG,IAAI;AACvB;AAAA,UACJ;AAEA,cAAI,WAAW,KAAK,QAAQ,CAAC,CAAC,KAC1B,2BAA2B,KAAK,IAAI,KACpC,gBAAgB,MAAM,MAAM,KAAK,MAAM,OAAO;AAC9C,mBAAO,QAAQ,CAAC,GAAG,IAAI;AACvB,qBAAS;AACT;AAAA,UACJ;AACA,cAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,GAAG;AAC9C,mBAAO,QAAQ,CAAC,GAAG,IAAI;AACvB,qBAAS;AACT;AAAA,UACJ,OACK;AACD,mBAAO,QAAQ,CAAC,GAAG,aAAa,QAAQ,CAAC,CAAC,CAAC;AAAA,UAC/C;AAAA,QACJ;AACA,cAAM,IAAI,MAAM,EAAE,EAAE,CAAC;AACrB,YAAI,CAAC,UAAU,QAAQ,KAAK;AACxB,cAAI,gBAAgB,KAAK,MAAM,MAAM,GAAG;AAEpC,gBAAI,SAAS,GAAG,KAAK,IAAI;AAAA,UAC7B,WACS,gBAAgB,KAAK,MAAM,KAAK,MAAM,OAAO;AAGlD,gBAAI,SAAS,GAAG,KAAK,IAAI;AAAA,UAC7B,OACK;AACD,mBAAO,KAAK,IAAI,CAAC;AACjB,gBAAI,SAAS,WAAc,CAAC,cAAc,KAAK,IAAI,KAC/C,KAAK,MAAM,QAAQ,MACnB,CAAC,gBAAgB,KAAK,MAAM,KAAK,KACjC,CAAC,gBAAgB,KAAK,MAAM,MAAM,GAAG;AACrC,qBAAO,KAAK,IAAI;AAChB;AAAA,YACJ,WACS,iBAAiB,KAAK,IAAI,GAAG;AAClC,qBAAO,KAAK,IAAI;AAChB;AAAA,YACJ,OACK;AACD,qBAAO,KAAK,aAAa,GAAG,CAAC;AAAA,YACjC;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ,WACS,IAAI,MAAM,UAAU,KACzB,IAAI,MAAM,QAAQ,KAClB,gBAAgB,IAAI,MAAM,CAAC,GAAG,MAAM,KAAK,GAAG;AAE5C,cAAM,IAAI,MAAM,CAAC;AACjB,eAAO,KAAK,aAAa,GAAG,CAAC;AAAA,MACjC,WACS,QAAQ,MAAM;AACnB,mBAAW,KAAK,MAAM,IAAI,CAAC;AAC3B;AAAA,MACJ,WACS,cAAc,oBAAoB,GAAG;AAC1C,mBAAW,KAAK,MAAM,CAAC;AACvB;AAAA,MACJ,OACK;AACD,uBAAe,GAAG;AAAA,MACtB;AAAA,IACJ;AAOA,iBAAa,MAAM,IAAI;AACvB,iBAAa,MAAM,KAAK;AACxB,cAAU,IAAI;AACd,qBAAiB;AACjB,4BAAwB,MAAM,MAAM,SAAS,UAAU,IAAI;AAC3D,mBAAe,IAAI;AACnB,QAAI,cAAc,qBAAqB;AACnC,yBAAmB,IAAI;AAE3B,WAAO,KAAK,MAAM,MAAM,EAAE,QAAQ,SAAU,KAAK;AAC7C,UAAI,CAAC,OAAO,MAAM,IAAI,MAAM,GAAG,CAAC;AAC5B,eAAO,KAAK,CAAC;AAAA,IACrB,CAAC;AAED,QAAI,kBAAkB,SAAS;AAC3B,WAAK,YAAY,IAAI,CAAC;AAC1B,aAAS,QAAQ,SAAU,KAAK;AAC5B,WAAK,YAAY,EAAE,KAAK,GAAG;AAAA,IAC/B,CAAC;AACD,QAAI,cAAc,sBAAsB,KAAK,cAAc,cAAc,GAAG;AACxE,aAAO,KAAK,IAAI,EAAE,OAAO,SAAO,QAAQ,QAAQ,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,SAAO;AAC9E,eAAO,KAAK,GAAG;AAAA,MACnB,CAAC;AAAA,IACL;AACA,QAAI,cAAc,eAAe,GAAG;AAChC;AACA,OAAC,EAAE,OAAO,GAAG,OAAO,KAAK,OAAO,EAAE,IAAI,OAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,WAAS;AACrE,YAAI,cAAc,sBAAsB,KAAK,MAAM,SAAS,GAAG,GAAG;AAC9D,iBAAO,KAAK,MAAM,MAAM,GAAG,EAAE,IAAI,UAAQ,UAAU,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC;AAAA,QACvE;AACA,eAAO,KAAK,KAAK;AAAA,MACrB,CAAC;AAAA,IACL;AAEA,aAAS,eAAe,KAAK;AACzB,YAAM,qBAAqB,kBAAkB,KAAK,GAAG;AACrD,UAAI,OAAO,uBAAuB,YAAY,OAAO,uBAAuB,UAAU;AAClF,aAAK,EAAE,KAAK,kBAAkB;AAAA,MAClC;AAAA,IACJ;AAGA,aAAS,SAAS,GAAG,KAAKC,OAAM,mBAAmB;AAC/C,UAAI;AACJ,UAAI,QAAQ,gBAAgB,KAAK,MAAM,KAAK;AAG5C,cAAQ,OAAO,UAAU,YAAY,MAAM,KAAK,IAAI,IAAI;AACxD,UAAI,UAAU,GAAG;AACb,YAAI,CAAC,YAAY,iBAAiB,GAAG;AACjC,kBAAQ,MAAM,GAAG,+BAA+B,GAAG,CAAC;AAAA,QACxD;AACA,eAAO,KAAK,aAAa,GAAG,CAAC;AAC7B,eAAO;AAAA,MACX;AACA,UAAI,YAAY,YAAY,iBAAiB,IAAI,IAAI;AACrD,UAAI,cAAc,oBAAoB,GAAG;AAErC,YAAIA,MAAK,UAAU,IAAI,KAAK,YAAY,OAAO;AAC3C,kBAAQ,MAAM,GAAG,sCAAsC,GAAG,CAAC;AAAA,QAC/D;AACA,oBAAY;AAAA,MAChB,OACK;AAGD,aAAK,KAAK,IAAI,GAAG,KAAKA,MAAK,QAAQ,MAAM;AACrC,cAAI,CAACA,MAAK,EAAE,EAAE,MAAM,UAAU,KAAKA,MAAK,EAAE,EAAE,MAAM,QAAQ,KAAK,qBAAqBA,MAAK,EAAE,CAAC;AACxF;AAAA;AAEA;AAAA,QACR;AACA,YAAI,YAAY;AACZ,kBAAQ,MAAM,GAAG,sCAAsC,GAAG,CAAC;AAAA,MACnE;AACA,UAAI,WAAW,KAAK,IAAI,WAAW,KAAK;AACxC,UAAI,CAAC,YAAY,iBAAiB,KAAK,WAAW,GAAG;AACjD,eAAO,KAAK,iBAAiB;AAC7B;AAAA,MACJ;AACA,WAAK,KAAK,IAAI,GAAG,KAAM,WAAW,IAAI,GAAI,MAAM;AAC5C,eAAO,KAAKA,MAAK,EAAE,CAAC;AAAA,MACxB;AACA,aAAQ,IAAI;AAAA,IAChB;AAIA,aAAS,SAAS,GAAG,KAAKA,OAAM,mBAAmB;AAC/C,UAAI,YAAY,CAAC;AACjB,UAAI,OAAO,qBAAqBA,MAAK,IAAI,CAAC;AAE1C,YAAM,aAAa,gBAAgB,KAAK,MAAM,KAAK;AACnD,UAAI,gBAAgB,KAAK,MAAM,KAAK,KAAK,CAAE,iBAAiB,KAAK,IAAI,GAAI;AACrE,kBAAU,KAAK,IAAI;AAAA,MACvB,WACS,YAAY,IAAI,KACpB,YAAY,iBAAiB,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,KAAK,CAAC,qBAAqB,IAAI,GAAI;AAG5G,YAAI,SAAS,GAAG,MAAM,QAAW;AAC7B,gBAAM,SAAS,SAAS,GAAG;AAC3B,sBAAY,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AAAA,QACxD;AAAA,MACJ,OACK;AAED,YAAI,CAAC,YAAY,iBAAiB,GAAG;AACjC,oBAAU,KAAK,aAAa,KAAK,mBAAmB,IAAI,CAAC;AAAA,QAC7D;AACA,iBAAS,KAAK,IAAI,GAAG,KAAKA,MAAK,QAAQ,MAAM;AACzC,cAAK,CAAC,cAAc,eAAe,KAAK,UAAU,SAAS,KACtD,cAAc,OAAO,eAAe,YAAY,UAAU,UAAU;AACrE;AACJ,iBAAOA,MAAK,EAAE;AACd,cAAI,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,KAAK,CAAC,qBAAqB,IAAI;AACrE;AACJ,cAAI;AACJ,oBAAU,KAAK,aAAa,KAAK,MAAM,aAAa,CAAC;AAAA,QACzD;AAAA,MACJ;AAIA,UAAI,OAAO,eAAe,aAAc,cAAc,UAAU,SAAS,cACpE,MAAM,UAAU,KAAK,UAAU,WAAW,IAAK;AAChD,gBAAQ,MAAM,GAAG,sCAAsC,GAAG,CAAC;AAAA,MAC/D;AACA,aAAO,KAAK,SAAS;AACrB,aAAO;AAAA,IACX;AACA,aAAS,OAAO,KAAK,KAAK,oBAAoB,eAAe;AACzD,UAAI,IAAI,KAAK,GAAG,KAAK,cAAc,sBAAsB,GAAG;AACxD,cAAM,QAAQ,IAAI,MAAM,GAAG,EAAE,IAAI,SAAU,MAAM;AAC7C,iBAAO,UAAU,IAAI;AAAA,QACzB,CAAC,EAAE,KAAK,GAAG;AACX,oBAAY,KAAK,KAAK;AAAA,MAC1B;AACA,YAAM,QAAQ,aAAa,KAAK,KAAK,iBAAiB;AACtD,YAAM,WAAW,IAAI,MAAM,GAAG;AAC9B,aAAO,MAAM,UAAU,KAAK;AAE5B,UAAI,MAAM,QAAQ,GAAG,GAAG;AACpB,cAAM,QAAQ,GAAG,EAAE,QAAQ,SAAU,GAAG;AACpC,gBAAM,gBAAgB,EAAE,MAAM,GAAG;AACjC,iBAAO,MAAM,eAAe,KAAK;AAAA,QACrC,CAAC;AAAA,MACL;AAEA,UAAI,SAAS,SAAS,KAAK,cAAc,cAAc,GAAG;AACtD;AACA,SAAC,MAAM,QAAQ,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,QAAQ,SAAU,GAAG;AACpD,cAAI,gBAAgB,EAAE,MAAM,GAAG;AAE/B,gBAAM,IAAI,CAAC,EAAE,OAAO,QAAQ;AAC5B,YAAE,MAAM;AACR,0BAAgB,cAAc,OAAO,CAAC;AAGtC,cAAI,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,SAAS,cAAc,KAAK,GAAG,CAAC,GAAG;AAC/D,mBAAO,MAAM,eAAe,KAAK;AAAA,UACrC;AAAA,QACJ,CAAC;AAAA,MACL;AAEA,UAAI,gBAAgB,KAAK,MAAM,SAAS,KAAK,CAAC,gBAAgB,KAAK,MAAM,MAAM,GAAG;AAC9E,cAAM,OAAO,CAAC,GAAG,EAAE,OAAO,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC;AAClD,aAAK,QAAQ,SAAUD,MAAK;AACxB,iBAAO,eAAe,YAAYA,MAAK;AAAA,YACnC,YAAY;AAAA,YACZ,MAAM;AACF,qBAAO;AAAA,YACX;AAAA,YACA,IAAIE,QAAO;AACP,oBAAM,OAAOA,WAAU,WAAW,MAAM,UAAUA,MAAK,IAAIA;AAAA,YAC/D;AAAA,UACJ,CAAC;AAAA,QACL,CAAC;AAAA,MACL;AAAA,IACJ;AACA,aAAS,YAAY,KAAK,OAAO;AAC7B,UAAI,EAAE,MAAM,QAAQ,GAAG,KAAK,MAAM,QAAQ,GAAG,EAAE,SAAS;AACpD,cAAM,QAAQ,GAAG,IAAI,CAAC,KAAK;AAC3B,mBAAW,KAAK,IAAI;AAAA,MACxB;AACA,UAAI,EAAE,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ,KAAK,EAAE,SAAS;AACxD,oBAAY,OAAO,GAAG;AAAA,MAC1B;AAAA,IACJ;AACA,aAAS,aAAa,KAAK,KAAK,mBAAmB;AAE/C,UAAI,mBAAmB;AACnB,cAAM,YAAY,GAAG;AAAA,MACzB;AAEA,UAAI,gBAAgB,KAAK,MAAM,KAAK,KAAK,gBAAgB,KAAK,MAAM,MAAM,GAAG;AACzE,YAAI,OAAO,QAAQ;AACf,gBAAM,QAAQ;AAAA,MACtB;AACA,UAAI,QAAQ,MAAM,QAAQ,GAAG,IACvB,IAAI,IAAI,SAAU,GAAG;AAAE,eAAO,kBAAkB,KAAK,CAAC;AAAA,MAAG,CAAC,IAC1D,kBAAkB,KAAK,GAAG;AAEhC,UAAI,gBAAgB,KAAK,MAAM,MAAM,MAAM,YAAY,KAAK,KAAK,OAAO,UAAU,YAAY;AAC1F,gBAAQ,UAAU;AAAA,MACtB;AAEA,UAAI,gBAAgB,KAAK,MAAM,SAAS,KAAK,gBAAgB,KAAK,MAAM,MAAM,GAAG;AAC7E,YAAI,MAAM,QAAQ,GAAG;AACjB,kBAAQ,IAAI,IAAI,CAACC,SAAQ;AAAE,mBAAO,MAAM,UAAUA,IAAG;AAAA,UAAG,CAAC;AAAA;AAEzD,kBAAQ,MAAM,UAAU,GAAG;AAAA,MACnC;AACA,aAAO;AAAA,IACX;AACA,aAAS,kBAAkB,KAAK,OAAO;AACnC,UAAI,CAAC,cAAc,0BAA0B,KAAK,QAAQ;AACtD,eAAO;AACX,UAAI,CAAC,gBAAgB,KAAK,MAAM,OAAO,KAAK,CAAC,gBAAgB,KAAK,MAAM,KAAK,KAAK,CAAC,MAAM,QAAQ,KAAK,GAAG;AACrG,cAAM,qBAAqB,gBAAgB,KAAK,KAAK,cAAc,eAAe,KAAM,OAAO,cAAc,KAAK,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC,CAAC;AAC/I,YAAI,sBAAuB,CAAC,YAAY,KAAK,KAAK,gBAAgB,KAAK,MAAM,OAAO,GAAI;AACpF,kBAAQ,OAAO,KAAK;AAAA,QACxB;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAGA,aAAS,UAAUC,OAAM;AACrB,YAAM,eAAe,uBAAO,OAAO,IAAI;AAGvC,8BAAwB,cAAc,MAAM,SAAS,QAAQ;AAC7D,aAAO,KAAK,MAAM,OAAO,EAAE,QAAQ,SAAU,WAAW;AACpD,cAAM,aAAaA,MAAK,SAAS,KAAK,aAAa,SAAS;AAC5D,YAAI,YAAY;AACZ,cAAI;AACA,gBAAI,SAAS;AACb,kBAAM,qBAAqB,MAAM,QAAQ,MAAM,IAAI,GAAG,UAAU;AAChE,kBAAM,gBAAgB,MAAM,QAAQ,SAAS;AAC7C,gBAAI,OAAO,kBAAkB,YAAY;AACrC,kBAAI;AACA,yBAAS,cAAc,kBAAkB;AAAA,cAC7C,SACO,GAAG;AACN,yBAAS;AAAA,cACb;AACA,kBAAI,kBAAkB,OAAO;AACzB,wBAAQ;AACR;AAAA,cACJ;AAAA,YACJ,OACK;AACD,uBAAS,MAAM,QAAQ,kBAAkB;AAAA,YAC7C;AACA,4BAAgB,MAAM;AAAA,UAC1B,SACO,IAAI;AAGP,gBAAI,GAAG,SAAS;AACZ,sBAAQ;AAAA,qBACHA,MAAK,SAAS;AACnB,sBAAQ,MAAM,GAAG,gCAAgC,UAAU,CAAC;AAAA,UACpE;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,IACL;AAGA,aAAS,gBAAgB,QAAQ,MAAM;AACnC,aAAO,KAAK,MAAM,EAAE,QAAQ,SAAU,KAAK;AACvC,cAAM,QAAQ,OAAO,GAAG;AACxB,cAAM,UAAU,OAAO,OAAO,MAAM,MAAM;AAI1C,YAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,cAAc,cAAc,GAAG;AAEvG,0BAAgB,OAAO,OAAO;AAAA,QAClC,OACK;AAGD,cAAI,CAAC,OAAO,MAAM,QAAQ,MAAM,GAAG,CAAC,KAAM,gBAAgB,SAAS,MAAM,MAAM,KAAK,cAAc,gBAAgB,GAAI;AAClH,mBAAO,SAAS,KAAK;AAAA,UACzB;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,IACL;AAEA,aAAS,mBAAmB;AACxB,UAAI,OAAO,kBAAkB,aAAa;AACtC,sBAAc,QAAQ,SAAU,cAAc;AAC1C,0BAAgB,YAAY;AAAA,QAChC,CAAC;AAAA,MACL;AAAA,IACJ;AACA,aAAS,aAAaA,OAAM,YAAY;AACpC,UAAI,OAAO,cAAc;AACrB;AACJ,YAAM,SAAS,OAAO,cAAc,WAAW,YAAY;AAC3D,YAAMC,OAAM,MAAM,IAAI;AACtB,aAAO,KAAKA,IAAG,EAAE,QAAQ,SAAU,QAAQ;AACvC,YAAI,WAAW,MAAM,OAAO,YAAY,QAAQ,CAAC,MAAM,GAAG;AAEtD,gBAAM,OAAO,OAAO,MAAM,IAAI,EAAE,IAAI,SAAU,KAAK,GAAG;AAClD,gBAAI,MAAM,GAAG;AACT,oBAAM,IAAI,UAAU,OAAO,MAAM;AAAA,YACrC;AACA,mBAAO,UAAU,GAAG;AAAA,UACxB,CAAC;AACD,eAAM,cAAc,MAAM,QAAQ,KAAK,KAAK,GAAG,CAAC,KAAM,CAAC,eAAe,CAAC,OAAOD,OAAM,IAAI,GAAG;AACvF,mBAAO,KAAK,KAAK,GAAG,GAAGC,KAAI,MAAM,CAAC;AAAA,UACtC;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,IACL;AACA,aAAS,eAAeD,OAAM;AAC1B,UAAI;AACJ,YAAM,UAAU,oBAAI,IAAI;AACxB,aAAO,KAAKA,KAAI,EAAE,QAAQ,SAAU,KAAK;AACrC,YAAI,CAAC,QAAQ,IAAI,GAAG,GAAG;AACnB,mBAAS,gBAAgB,KAAK,MAAM,SAAS;AAC7C,cAAI,OAAO,WAAW,YAAY;AAC9B,gBAAI;AACA,oBAAM,QAAQ,kBAAkB,KAAK,OAAOA,MAAK,GAAG,CAAC,CAAC;AACtD,cAAC,CAAC,EAAE,OAAO,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,EAAG,QAAQ,SAAO;AACtD,wBAAQ,IAAI,GAAG;AACf,gBAAAA,MAAK,GAAG,IAAI;AAAA,cAChB,CAAC;AAAA,YACL,SACO,KAAK;AACR,sBAAQ;AAAA,YACZ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,IACL;AACA,aAAS,mBAAmBA,OAAM;AAC9B,YAAM,KAAK,QAAQ,CAAC,QAAQ;AAExB,YAAI,CAAC,IAAI,QAAQ,GAAG;AAChB;AACJ,YAAI,OAAOA,MAAK,GAAG,MAAM;AACrB,UAAAA,MAAK,GAAG,IAAI;AAAA,MACpB,CAAC;AACD,aAAOA;AAAA,IACX;AACA,aAAS,wBAAwB,KAAKE,UAASC,WAAU,SAAS,OAAO;AACrE,aAAO,KAAKA,SAAQ,EAAE,QAAQ,SAAU,KAAK;AACzC,YAAI,CAAC,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC,GAAG;AAC9B,iBAAO,KAAK,IAAI,MAAM,GAAG,GAAGA,UAAS,GAAG,CAAC;AACzC,cAAI;AACA,sBAAU,GAAG,IAAI;AACrB,WAACD,SAAQ,GAAG,KAAK,CAAC,GAAG,QAAQ,SAAU,GAAG;AACtC,gBAAI,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC;AACxB;AACJ,mBAAO,KAAK,EAAE,MAAM,GAAG,GAAGC,UAAS,GAAG,CAAC;AAAA,UAC3C,CAAC;AAAA,QACL;AAAA,MACJ,CAAC;AAAA,IACL;AACA,aAAS,OAAO,KAAK,MAAM;AACvB,UAAI,IAAI;AACR,UAAI,CAAC,cAAc,cAAc;AAC7B,eAAO,CAAC,KAAK,KAAK,GAAG,CAAC;AAC1B,WAAK,MAAM,GAAG,EAAE,EAAE,QAAQ,SAAUP,MAAK;AACrC,YAAK,EAAEA,IAAG,KAAK,CAAC;AAAA,MACpB,CAAC;AACD,YAAM,MAAM,KAAK,KAAK,SAAS,CAAC;AAChC,UAAI,OAAO,MAAM;AACb,eAAO;AAAA;AAEP,eAAO,OAAO;AAAA,IACtB;AACA,aAAS,OAAO,KAAK,MAAM,OAAO;AAC9B,UAAI,IAAI;AACR,UAAI,CAAC,cAAc,cAAc;AAC7B,eAAO,CAAC,KAAK,KAAK,GAAG,CAAC;AAC1B,WAAK,MAAM,GAAG,EAAE,EAAE,QAAQ,SAAUA,MAAK;AAGrC,QAAAA,OAAM,YAAYA,IAAG;AACrB,YAAI,OAAO,MAAM,YAAY,EAAEA,IAAG,MAAM,QAAW;AAC/C,YAAEA,IAAG,IAAI,CAAC;AAAA,QACd;AACA,YAAI,OAAO,EAAEA,IAAG,MAAM,YAAY,MAAM,QAAQ,EAAEA,IAAG,CAAC,GAAG;AAErD,cAAI,MAAM,QAAQ,EAAEA,IAAG,CAAC,GAAG;AACvB,cAAEA,IAAG,EAAE,KAAK,CAAC,CAAC;AAAA,UAClB,OACK;AACD,cAAEA,IAAG,IAAI,CAAC,EAAEA,IAAG,GAAG,CAAC,CAAC;AAAA,UACxB;AAEA,cAAI,EAAEA,IAAG,EAAE,EAAEA,IAAG,EAAE,SAAS,CAAC;AAAA,QAChC,OACK;AACD,cAAI,EAAEA,IAAG;AAAA,QACb;AAAA,MACJ,CAAC;AAGD,YAAM,MAAM,YAAY,KAAK,KAAK,SAAS,CAAC,CAAC;AAC7C,YAAM,cAAc,gBAAgB,KAAK,KAAK,GAAG,GAAG,MAAM,MAAM;AAChE,YAAM,eAAe,MAAM,QAAQ,KAAK;AACxC,UAAI,YAAY,cAAc,2BAA2B;AAEzD,UAAI,CAAC,aAAa,gBAAgB,KAAK,MAAM,KAAK,GAAG;AACjD,oBAAY;AACZ,YAAK,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,MAAM,MAAM,GAAG,MAAM,KAAO,MAAM,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,MAAM,MAAM,GAAG,GAAI;AACnH,YAAE,GAAG,IAAI;AAAA,QACb;AAAA,MACJ;AACA,UAAI,UAAU,UAAU,GAAG;AACvB,UAAE,GAAG,IAAI,UAAU,EAAE,GAAG,CAAC;AAAA,MAC7B,WACS,MAAM,QAAQ,EAAE,GAAG,CAAC,GAAG;AAC5B,YAAI,aAAa,eAAe,cAAc;AAC1C,YAAE,GAAG,IAAI,cAAc,0BAA0B,IAAI,EAAE,GAAG,EAAE,OAAO,KAAK,KAAK,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;AAAA,QAC7I,WACS,CAAC,aAAa,QAAQ,WAAW,MAAM,QAAQ,YAAY,GAAG;AACnE,YAAE,GAAG,IAAI;AAAA,QACb,OACK;AACD,YAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;AAAA,QAClC;AAAA,MACJ,WACS,EAAE,GAAG,MAAM,UAAa,aAAa;AAC1C,UAAE,GAAG,IAAI,eAAe,QAAQ,CAAC,KAAK;AAAA,MAC1C,WACS,aAAa,EAAE,EAAE,GAAG,MAAM,UAC/B,gBAAgB,KAAK,MAAM,MAAM,KACjC,gBAAgB,KAAK,MAAM,KAAK,IAAI;AACpC,UAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,KAAK;AAAA,MAC3B,OACK;AACD,UAAE,GAAG,IAAI;AAAA,MACb;AAAA,IACJ;AAEA,aAAS,iBAAiBC,OAAM;AAC5B,MAAAA,MAAK,QAAQ,SAAU,KAAK;AACxB,eAAO,KAAK,OAAO,CAAC,CAAC,EAAE,QAAQ,SAAU,KAAK;AAI1C,cAAI,MAAM,QAAQ,GAAG;AACjB;AACJ,gBAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,OAAO,QAAQ,GAAG,KAAK,CAAC,CAAC;AAEjD,gBAAM,QAAQ,GAAG,EAAE,OAAO,GAAG,EAAE,QAAQ,SAAU,GAAG;AAChD,gBAAI,IAAI,KAAK,CAAC,KAAK,cAAc,sBAAsB,GAAG;AACtD,oBAAM,IAAI,UAAU,CAAC;AACrB,kBAAI,MAAM,OAAO,MAAM,QAAQ,GAAG,EAAE,QAAQ,CAAC,MAAM,IAAI;AACnD,sBAAM,QAAQ,GAAG,EAAE,KAAK,CAAC;AACzB,2BAAW,CAAC,IAAI;AAAA,cACpB;AAAA,YACJ;AAAA,UACJ,CAAC;AAED,gBAAM,QAAQ,GAAG,EAAE,OAAO,GAAG,EAAE,QAAQ,SAAU,GAAG;AAChD,gBAAI,EAAE,SAAS,KAAK,QAAQ,KAAK,CAAC,KAAK,cAAc,sBAAsB,GAAG;AAC1E,oBAAM,IAAI,WAAW,GAAG,GAAG;AAC3B,kBAAI,MAAM,OAAO,MAAM,QAAQ,GAAG,EAAE,QAAQ,CAAC,MAAM,IAAI;AACnD,sBAAM,QAAQ,GAAG,EAAE,KAAK,CAAC;AACzB,2BAAW,CAAC,IAAI;AAAA,cACpB;AAAA,YACJ;AAAA,UACJ,CAAC;AACD,gBAAM,QAAQ,GAAG,EAAE,QAAQ,SAAU,GAAG;AACpC,kBAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,MAAM,QAAQ,GAAG,EAAE,OAAO,SAAU,GAAG;AACnE,qBAAO,MAAM;AAAA,YACjB,CAAC,CAAC;AAAA,UACN,CAAC;AAAA,QACL,CAAC;AAAA,MACL,CAAC;AAAA,IACL;AACA,aAAS,gBAAgB,KAAK,MAAM;AAChC,YAAM,UAAU,CAAC,EAAE,OAAO,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG;AACvD,YAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,YAAM,WAAW,QAAQ,KAAK,CAAAD,SAAO,KAAK,SAASA,IAAG,CAAC;AACvD,aAAO,WAAW,KAAK,QAAQ,IAAI;AAAA,IACvC;AACA,aAAS,WAAW,KAAK;AACrB,YAAM,YAAY,OAAO,KAAK,KAAK;AACnC,YAAM,UAAU,CAAC,EAAE,OAAO,UAAU,IAAI,OAAK,MAAM,CAAC,CAAC,CAAC;AACtD,aAAO,QAAQ,KAAK,SAAU,MAAM;AAChC,eAAO,MAAM,QAAQ,IAAI,IAAI,KAAK,SAAS,GAAG,IAAI,KAAK,GAAG;AAAA,MAC9D,CAAC;AAAA,IACL;AACA,aAAS,iBAAiB,QAAQ,UAAU;AACxC,YAAM,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ;AACrC,aAAO,QAAQ,KAAK,SAAU,SAAS;AACnC,cAAM,QAAQ,IAAI,MAAM,OAAO;AAC/B,eAAO,SAAS,WAAW,MAAM,CAAC,CAAC;AAAA,MACvC,CAAC;AAAA,IACL;AAEA,aAAS,iBAAiB,KAAK;AAE3B,UAAI,IAAI,MAAM,QAAQ,KAAK,CAAC,IAAI,MAAM,SAAS,GAAG;AAC9C,eAAO;AAAA,MACX;AACA,UAAI,cAAc;AAClB,UAAI;AACJ,YAAM,UAAU,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE;AACrC,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACrC,eAAO,IAAI,MAAM,IAAI,CAAC;AACtB,YAAI,CAAC,WAAW,QAAQ,CAAC,CAAC,GAAG;AACzB,wBAAc;AACd;AAAA,QACJ;AACA,YAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,OACtC,SAAS,OACR,WAAW,KAAK,QAAQ,CAAC,CAAC,KAAK,2BAA2B,KAAK,IAAI,KACnE,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,GAAI;AAChD;AAAA,QACJ;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AACA,aAAS,qBAAqB,KAAK;AAC/B,aAAO,cAAc,yBAAyB,KAAK,gBAAgB,GAAG;AAAA,IAC1E;AACA,aAAS,gBAAgB,KAAK;AAC1B,YAAM,IAAI,QAAQ,UAAU,IAAI;AAEhC,UAAI,IAAI,MAAM,QAAQ,GAAG;AACrB,eAAO;AAAA,MACX;AAEA,UAAI,iBAAiB,GAAG,GAAG;AACvB,eAAO;AAAA,MACX;AAEA,YAAM,iBAAiB;AAEvB,YAAM,aAAa;AAEnB,YAAM,qBAAqB;AAE3B,YAAM,qBAAqB;AAE3B,YAAM,gCAAgC;AAEtC,aAAO,CAAC,iBAAiB,KAAK,gBAAgB,gBAAgB,YAAY,oBAAoB,oBAAoB,6BAA6B;AAAA,IACnJ;AAGA,aAAS,aAAa,KAAK;AACvB,UAAI,CAAC,gBAAgB,KAAK,MAAM,KAAK,KACjC,CAAC,gBAAgB,KAAK,MAAM,MAAM,KAClC,GAAG,GAAG,MAAM,UAAU;AACtB,eAAO,SAAS,GAAG;AAAA,MACvB,OACK;AACD,eAAO,eAAe,UAAU,GAAG,CAAC;AAAA,MACxC;AAAA,IACJ;AAEA,aAAS,eAAe,MAAM;AAC1B,YAAM,MAAM;AAAA,QACR,CAAC,wBAAwB,OAAO,GAAG;AAAA,QACnC,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAClC,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAClC,CAAC,wBAAwB,KAAK,GAAG,CAAC;AAAA,MACtC;AACA,aAAO,IAAI,IAAI;AAAA,IACnB;AAEA,aAAS,UAAU,KAAK;AACpB,UAAI,OAAO,wBAAwB;AACnC,UAAI,gBAAgB,KAAK,MAAM,OAAO;AAClC,eAAO,wBAAwB;AAAA,eAC1B,gBAAgB,KAAK,MAAM,OAAO;AACvC,eAAO,wBAAwB;AAAA,eAC1B,gBAAgB,KAAK,MAAM,KAAK;AACrC,eAAO,wBAAwB;AAAA,eAC1B,gBAAgB,KAAK,MAAM,MAAM;AACtC,eAAO,wBAAwB;AACnC,aAAO;AAAA,IACX;AACA,aAAS,YAAY,KAAK;AACtB,aAAO,QAAQ;AAAA,IACnB;AAEA,aAAS,qBAAqB;AAE1B,aAAO,KAAK,MAAM,MAAM,EAAE,KAAK,SAAO;AAClC,YAAI,gBAAgB,KAAK,MAAM,MAAM,GAAG;AACpC,kBAAQ,MAAM,GAAG,8DAA8D,GAAG,CAAC;AACnF,iBAAO;AAAA,QACX,WACS,gBAAgB,KAAK,MAAM,KAAK,GAAG;AACxC,kBAAQ,MAAM,GAAG,6DAA6D,GAAG,CAAC;AAClF,iBAAO;AAAA,QACX;AACA,eAAO;AAAA,MACX,CAAC;AAAA,IACL;AACA,WAAO;AAAA,MACH,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,OAAO;AAAA,MACxC,MAAM,OAAO,OAAO,YAAY,IAAI;AAAA,MACpC;AAAA,MACA,WAAW,OAAO,OAAO,CAAC,GAAG,SAAS;AAAA,MACtC;AAAA,MACA,YAAY,OAAO,OAAO,CAAC,GAAG,UAAU;AAAA,IAC5C;AAAA,EACJ;AACJ;AAGA,SAAS,eAAe,SAAS;AAC7B,QAAM,cAAc,CAAC;AACrB,QAAM,WAAW,uBAAO,OAAO,IAAI;AACnC,MAAI,SAAS;AAGb,SAAO,KAAK,OAAO,EAAE,QAAQ,SAAU,KAAK;AACxC,gBAAY,KAAK,CAAC,EAAE,OAAO,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,EACjD,CAAC;AAGD,SAAO,QAAQ;AACX,aAAS;AACT,aAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AACzC,eAAS,KAAK,IAAI,GAAG,KAAK,YAAY,QAAQ,MAAM;AAChD,cAAM,YAAY,YAAY,CAAC,EAAE,OAAO,SAAU,GAAG;AACjD,iBAAO,YAAY,EAAE,EAAE,QAAQ,CAAC,MAAM;AAAA,QAC1C,CAAC;AACD,YAAI,UAAU,QAAQ;AAClB,sBAAY,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,YAAY,EAAE,CAAC;AACtD,sBAAY,OAAO,IAAI,CAAC;AACxB,mBAAS;AACT;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAGA,cAAY,QAAQ,SAAU,YAAY;AACtC,iBAAa,WAAW,OAAO,SAAU,GAAG,GAAG,MAAM;AACjD,aAAO,KAAK,QAAQ,CAAC,MAAM;AAAA,IAC/B,CAAC;AACD,UAAM,YAAY,WAAW,IAAI;AACjC,QAAI,cAAc,UAAa,OAAO,cAAc,UAAU;AAC1D,eAAS,SAAS,IAAI;AAAA,IAC1B;AAAA,EACJ,CAAC;AACD,SAAO;AACX;AAIA,SAAS,UAAU,MAAM;AACrB,SAAO,SAAS,SAAY,OAAO,IAAI;AAC3C;AAGA,SAAS,YAAY,KAAK;AACtB,MAAI,QAAQ;AACR,WAAO;AACX,SAAO;AACX;AACA,SAAS,YAAY,KAAK;AACtB,SAAQ,OAAO,QAAQ,aAClB,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,QAC9B,IAAI,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAC3B,IAAI,UAAU,GAAG,IAAI,SAAS,CAAC,IAC/B;AACV;;;AJxgCA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAP9B,IAAI;AAAJ,IAAQ;AAAR,IAAY;AAUZ,IAAM,iBAAkB,WAAW,QAAQ,OAAO,QAAQ,IAAI,yBACxD,OAAO,QAAQ,IAAI,sBAAsB,IACzC;AACN,IAAM,eAAe,MAAM,KAAK,YAAY,QAAQ,YAAY,SAAS,SAAS,QAAQ,cAAc,QAAQ,OAAO,SAAS,SAAS,GAAG,UAAU,QAAQ,OAAO,SAAS,MAAM,KAAK,YAAY,QAAQ,YAAY,SAAS,SAAS,QAAQ,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,MAAM,CAAC;AAC3S,IAAI,aAAa;AACb,QAAM,QAAQ,OAAO,YAAY,MAAM,UAAU,EAAE,CAAC,CAAC;AACrD,MAAI,QAAQ,gBAAgB;AACxB,UAAM,MAAM,sDAAsD,cAAc,oGAAoG;AAAA,EACxL;AACJ;AAEA,IAAM,MAAM,UAAU,QAAQ,MAAM,CAAC;AACrC,IAAMQ,WAAU,gBAAgB,cAAc,YAAY,GAAG,IAAI;AACjE,IAAM,SAAS,IAAI,YAAY;AAAA,EAC3B,KAAK,QAAQ;AAAA,EACb,KAAK,MAAM;AACP,WAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAC,SAAS;AACf,QAAI,OAAOA,aAAY,aAAa;AAChC,aAAOA,SAAQ,IAAI;AAAA,IACvB,WACS,KAAK,MAAM,SAAS,GAAG;AAE5B,aAAO,KAAK,MAAM,aAAa,MAAM,MAAM,CAAC;AAAA,IAChD,OACK;AACD,YAAM,MAAM,8CAA8C;AAAA,IAC9D;AAAA,EACJ;AACJ,CAAC;AACD,IAAM,cAAc,SAAS,OAAO,MAAM,MAAM;AAC5C,QAAM,SAAS,OAAO,MAAM,KAAK,MAAM,GAAG,IAAI;AAC9C,SAAO,OAAO;AAClB;AACA,YAAY,WAAW,SAAU,MAAM,MAAM;AACzC,SAAO,OAAO,MAAM,KAAK,MAAM,GAAG,IAAI;AAC1C;AACA,YAAY,YAAY;AACxB,YAAY,aAAa;AACzB,YAAY,kBAAkB;AAC9B,IAAO,cAAQ;;;AK7Df,SAAS,yBAAyB;AAC9B,MAAI,qBAAqB;AACrB,WAAO;AACX,SAAO;AACX;AACA,SAAS,uBAAuB;AAC5B,SAAO,cAAc,KAAK,CAAC,QAAQ;AACvC;AACA,SAAS,gBAAgB;AACrB,SAAO,CAAC,CAAC,QAAQ,SAAS;AAC9B;AACO,SAAS,QAAQ,MAAM;AAC1B,SAAO,KAAK,MAAM,uBAAuB,IAAI,CAAC;AAClD;AACO,SAAS,oBAAoB;AAChC,SAAO,QAAQ,KAAK,uBAAuB,CAAC;AAChD;;;ACdA,SAAS,gBAAgB,mBAAmB;;;ACD5C,IAAM,QAAQ;AAAA,EACV,OAAO;AAAA,EACP,QAAQ;AACZ;AACA,IAAM,MAAM;AACZ,IAAM,QAAQ;AACd,IAAM,SAAS;AACf,IAAM,OAAO;AACN,IAAM,KAAN,MAAS;AAAA,EACZ,YAAY,MAAM;AACd,QAAIC;AACJ,SAAK,QAAQ,KAAK;AAClB,SAAK,QAAQA,MAAK,KAAK,UAAU,QAAQA,QAAO,SAASA,MAAK;AAC9D,SAAK,OAAO,CAAC;AAAA,EACjB;AAAA,EACA,QAAQ,MAAM;AACV,UAAM,OAAO,KAAK,IAAI,GAAG,IAAI;AAC7B,SAAK,OAAO;AAAA,EAChB;AAAA,EACA,cAAc;AACV,SAAK,OAAO,CAAC;AAAA,EACjB;AAAA,EACA,OAAO,MAAM;AACT,QAAI,KAAK,WAAW,GAAG;AACnB,WAAK,IAAI,EAAE;AAAA,IACf;AACA,QAAI,KAAK,QAAQ,KAAK,qBAAqB,GAAG,IAAI,KAAK,OAAO,KAAK,CAAC,MAAM,UAAU;AAChF,aAAO,KAAK,eAAe,KAAK,CAAC,CAAC;AAAA,IACtC;AACA,UAAM,OAAO,KAAK,IAAI,SAAO;AACzB,UAAI,OAAO,QAAQ,UAAU;AACzB,eAAO,KAAK,cAAc,GAAG;AAAA,MACjC;AACA,aAAO;AAAA,IACX,CAAC;AACD,SAAK,KAAK,KAAK,IAAI;AACnB,WAAO;AAAA,EACX;AAAA,EACA,wBAAwB,MAAM;AAC1B,WAAO,KAAK,WAAW,KAAK,OAAO,KAAK,CAAC,MAAM,YAC3C,SAAS,KAAK,KAAK,CAAC,CAAC;AAAA,EAC7B;AAAA,EACA,eAAe,KAAK;AAChB,UAAM,OAAO,IAAI,MAAM,IAAI,EAAE,IAAI,SAAO,IAAI,MAAM,GAAI,CAAC;AACvD,QAAI,kBAAkB;AAKtB,SAAK,QAAQ,aAAW;AACpB,UAAI,QAAQ,SAAS,KAAKC,OAAM,YAAY,QAAQ,CAAC,CAAC,IAAI,iBAAiB;AACvE,0BAAkB,KAAK,IAAI,KAAK,MAAM,KAAK,QAAQ,GAAG,GAAGA,OAAM,YAAY,QAAQ,CAAC,CAAC,CAAC;AAAA,MAC1F;AAAA,IACJ,CAAC;AAID,SAAK,QAAQ,aAAW;AACpB,WAAK,IAAI,GAAG,QAAQ,IAAI,CAAC,GAAG,MAAM;AAC9B,eAAO;AAAA,UACH,MAAM,EAAE,KAAK;AAAA,UACb,SAAS,KAAK,eAAe,CAAC;AAAA,UAC9B,OAAQ,MAAM,KAAK,QAAQ,SAAS,IAAK,kBAAkB;AAAA,QAC/D;AAAA,MACJ,CAAC,CAAC;AAAA,IACN,CAAC;AACD,WAAO,KAAK,KAAK,KAAK,KAAK,SAAS,CAAC;AAAA,EACzC;AAAA,EACA,cAAc,MAAM;AAChB,WAAO;AAAA,MACH;AAAA,MACA,SAAS,KAAK,eAAe,IAAI;AAAA,IACrC;AAAA,EACJ;AAAA,EACA,eAAe,KAAK;AAEhB,UAAM,SAASA,OAAM,UAAU,GAAG;AAClC,WAAO,CAAC,GAAG,OAAO,MAAM,MAAM,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,MAAM,MAAM,EAAE,CAAC,EAAE,MAAM;AAAA,EAChF;AAAA,EACA,WAAW;AACP,UAAM,QAAQ,CAAC;AACf,SAAK,KAAK,QAAQ,SAAO;AACrB,WAAK,YAAY,KAAK,KAAK;AAAA,IAC/B,CAAC;AAGD,WAAO,MACF,OAAO,UAAQ,CAAC,KAAK,MAAM,EAC3B,IAAI,UAAQ,KAAK,IAAI,EACrB,KAAK,IAAI;AAAA,EAClB;AAAA,EACA,YAAY,KAAK,OAAO;AACpB,SAAK,UAAU,GAAG,EAAE,QAAQ,CAAC,MAAM,MAAM;AACrC,UAAI,MAAM;AACV,WAAK,QAAQ,CAAC,KAAK,MAAM;AACrB,cAAM,EAAE,MAAM,IAAI,IAAI,CAAC;AACvB,cAAM,YAAY,KAAK,cAAc,IAAI,CAAC,CAAC;AAC3C,YAAI,KAAK;AACT,YAAI,YAAYA,OAAM,YAAY,GAAG,GAAG;AACpC,gBAAM,IAAI,OAAO,YAAYA,OAAM,YAAY,GAAG,CAAC;AAAA,QACvD;AAEA,YAAI,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,UAAU,UAAU,KAAK,MAAM;AACtD,gBAAM,KAAK,MAAM,IAAI,CAAC,EAAE,KAAK;AAC7B,eAAK,GAAG,IAAI,SAAS;AACrB,cAAIA,OAAM,YAAY,EAAE,IAAI,WAAW;AACnC,kBAAM,IAAI,QAAQ,SAAS,KAAKA,OAAM,YAAY,EAAE,IAAI,CAAC;AAAA,UAC7D;AAAA,QACJ;AAEA,cAAM,UAAU,IAAI,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC;AAC7C,YAAI,QAAQ,IAAI,GAAG;AACf,iBAAO,IAAI,OAAO,QAAQ,IAAI,CAAC;AAAA,QACnC;AACA,eAAO,UAAU,IAAI,CAAC,GAAG,IAAI,IAAI;AACjC,eAAO;AACP,eAAO,UAAU,IAAI,CAAC,GAAG,IAAI,IAAI;AACjC,YAAI,QAAQ,KAAK,GAAG;AAChB,iBAAO,IAAI,OAAO,QAAQ,KAAK,CAAC;AAAA,QACpC;AAGA,YAAI,MAAM,KAAK,MAAM,SAAS,GAAG;AAC7B,gBAAM,KAAK,aAAa,KAAK,MAAM,MAAM,SAAS,CAAC,CAAC;AAAA,QACxD;AAAA,MACJ,CAAC;AAED,YAAM,KAAK;AAAA,QACP,MAAM,IAAI,QAAQ,OAAO,EAAE;AAAA,QAC3B,MAAM,IAAI;AAAA,MACd,CAAC;AAAA,IACL,CAAC;AACD,WAAO;AAAA,EACX;AAAA;AAAA;AAAA,EAGA,aAAa,QAAQ,cAAc;AAC/B,UAAM,QAAQ,OAAO,MAAM,KAAK;AAChC,UAAM,oBAAoB,QAAQ,MAAM,CAAC,EAAE,SAAS;AACpD,UAAM,SAAS,aAAa;AAC5B,UAAM,kBAAkBA,OAAM,YAAY,OAAO,UAAU,CAAC;AAC5D,QAAI,CAAC,aAAa,MAAM;AACpB,aAAO;AAAA,IACX;AAGA,QAAI,CAAC,KAAK,MAAM;AACZ,mBAAa,SAAS;AACtB,aAAO,SAAS;AAAA,IACpB;AACA,QAAI,oBAAoB,iBAAiB;AACrC,aAAO;AAAA,IACX;AACA,iBAAa,SAAS;AACtB,WAAO,OAAO,UAAU,IAAI,IAAI,OAAO,oBAAoB,eAAe,IAAI,OAAO,SAAS;AAAA,EAClG;AAAA,EACA,UAAU,KAAK;AACX,UAAM,QAAQ,CAAC;AACf,UAAM,SAAS,KAAK,aAAa,GAAG;AACpC,QAAI;AAGJ,QAAI,QAAQ,CAAC,KAAK,MAAM;AAEpB,UAAI,QAAQ,OAAO,CAAC;AACpB,UAAI,KAAK,MAAM;AACX,kBAAUA,OAAM,KAAK,IAAI,MAAM,KAAK,cAAc,GAAG,GAAG,EAAE,MAAM,KAAK,CAAC,EAAE,MAAM,IAAI;AAAA,MACtF,OACK;AACD,kBAAU,IAAI,KAAK,MAAM,IAAI;AAAA,MACjC;AACA,UAAI,IAAI,QAAQ;AACZ,gBAAQ,QAAQ,MAAM,IAAI,OAAO,KAAK,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG;AACnE,gBAAQ,KAAK,MAAM,IAAI,OAAO,KAAK,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG;AAAA,MACpE;AAEA,UAAI,IAAI,SAAS;AACb,gBAAQ,QAAQ,GAAG,IAAI,MAAM,IAAI,QAAQ,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AAC5D,gBAAQ,KAAK,GAAG,IAAI,MAAM,IAAI,QAAQ,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AAAA,MAChE;AACA,cAAQ,QAAQ,CAAC,KAAK,MAAM;AACxB,YAAI,CAAC,MAAM,CAAC,GAAG;AACX,gBAAM,KAAK,CAAC,CAAC;AAAA,QACjB;AACA,cAAM,OAAO,MAAM,CAAC;AACpB,iBAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,cAAI,KAAK,CAAC,MAAM,QAAW;AACvB,iBAAK,KAAK,EAAE;AAAA,UAChB;AAAA,QACJ;AACA,aAAK,KAAK,GAAG;AAAA,MACjB,CAAC;AAAA,IACL,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,cAAc,KAAK;AACf,QAAI,YAAY,IAAI,SAAS;AAC7B,QAAI,IAAI,SAAS;AACb,oBAAc,IAAI,QAAQ,IAAI,KAAK,MAAM,IAAI,QAAQ,KAAK,KAAK;AAAA,IACnE;AACA,QAAI,IAAI,QAAQ;AACZ,mBAAa;AAAA,IACjB;AACA,WAAO;AAAA,EACX;AAAA,EACA,aAAa,KAAK;AACd,QAAI,CAAC,KAAK,MAAM;AACZ,aAAO,IAAI,IAAI,SAAO;AAClB,eAAO,IAAI,SAASA,OAAM,YAAY,IAAI,IAAI;AAAA,MAClD,CAAC;AAAA,IACL;AACA,QAAI,QAAQ,IAAI;AAChB,QAAI,iBAAiB,KAAK;AAE1B,UAAM,SAAS,IAAI,IAAI,SAAO;AAC1B,UAAI,IAAI,OAAO;AACX;AACA,0BAAkB,IAAI;AACtB,eAAO,IAAI;AAAA,MACf;AACA,aAAO;AAAA,IACX,CAAC;AAED,UAAM,aAAa,QAAQ,KAAK,MAAM,iBAAiB,KAAK,IAAI;AAChE,WAAO,OAAO,IAAI,CAAC,GAAG,MAAM;AACxB,UAAI,MAAM,QAAW;AACjB,eAAO,KAAK,IAAI,YAAY,UAAU,IAAI,CAAC,CAAC,CAAC;AAAA,MACjD;AACA,aAAO;AAAA,IACX,CAAC;AAAA,EACL;AACJ;AACA,SAAS,UAAU,KAAK,IAAI,OAAO;AAC/B,MAAI,IAAI,QAAQ;AACZ,QAAI,aAAa,KAAK,EAAE,GAAG;AACvB,aAAO;AAAA,IACX;AACA,QAAI,GAAG,KAAK,EAAE,WAAW,GAAG;AACxB,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAGA,SAAS,UAAU,KAAK;AACpB,QAAM,UAAU,IAAI,WAAW,CAAC;AAChC,QAAM,WAAW,KAAK,QAAQ,IAAI,KAAK,MAAM,QAAQ,KAAK,KAAK;AAC/D,MAAI,IAAI,QAAQ;AACZ,WAAO,WAAW;AAAA,EACtB;AACA,SAAO;AACX;AACA,SAAS,iBAAiB;AAEtB,MAAI,OAAO,YAAY,YAAY,QAAQ,UAAU,QAAQ,OAAO,SAAS;AACzE,WAAO,QAAQ,OAAO;AAAA,EAC1B;AACA,SAAO;AACX;AACA,SAAS,WAAW,KAAK,OAAO;AAC5B,QAAM,IAAI,KAAK;AACf,QAAM,WAAWA,OAAM,YAAY,GAAG;AACtC,MAAI,WAAW,OAAO;AAClB,WAAO,IAAI,OAAO,QAAQ,QAAQ,IAAI;AAAA,EAC1C;AACA,SAAO;AACX;AACA,SAAS,YAAY,KAAK,OAAO;AAC7B,QAAM,IAAI,KAAK;AACf,QAAM,WAAWA,OAAM,YAAY,GAAG;AAEtC,MAAI,YAAY,OAAO;AACnB,WAAO;AAAA,EACX;AACA,SAAO,IAAI,OAAQ,QAAQ,YAAa,CAAC,IAAI;AACjD;AACA,IAAIA;AACG,SAAS,MAAM,MAAM,QAAQ;AAChC,EAAAA,SAAQ;AACR,SAAO,IAAI,GAAG;AAAA,IACV,QAAQ,SAAS,QAAQ,SAAS,SAAS,SAAS,KAAK,UAAU,eAAe;AAAA,IAClF,MAAM,SAAS,QAAQ,SAAS,SAAS,SAAS,KAAK;AAAA,EAC3D,CAAC;AACL;;;AC9Re,SAAR,UAA2B,EAAC,YAAY,MAAK,IAAI,CAAC,GAAG;AAE3D,QAAM,KAAK;AAIX,QAAM,MAAM,yCAAyC,EAAE;AAGvD,QAAM,MAAM;AAEZ,QAAM,UAAU,GAAG,GAAG,IAAI,GAAG;AAE7B,SAAO,IAAI,OAAO,SAAS,YAAY,SAAY,GAAG;AACvD;;;ACZA,IAAM,QAAQ,UAAU;AAET,SAAR,UAA2B,QAAQ;AACzC,MAAI,OAAO,WAAW,UAAU;AAC/B,UAAM,IAAI,UAAU,gCAAgC,OAAO,MAAM,IAAI;AAAA,EACtE;AAGA,MAAI,CAAC,OAAO,SAAS,MAAQ,KAAK,CAAC,OAAO,SAAS,MAAQ,GAAG;AAC7D,WAAO;AAAA,EACR;AAKA,SAAO,OAAO,QAAQ,OAAO,EAAE;AAChC;;;AChBO,IAAM,4BAA4B;AAClC,IAAM,4BAA4B;AAClC,IAAM,kBAAkB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM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","names":["getCallerFile","stack","DefaultValuesForTypeKey","key","args","value","val","argv","env","aliases","defaults","require","_a","mixin","code","resolve","dirname","resolve","segmenter","stringWidth","readFileSync","statSync","format","resolve","y18n","y18n","createRequire","readFileSync","readdirSync","require","dirname","resolve","getCallerFile","stringWidth","shim"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __holydeckCreateRequire } from 'node:module';
|
|
3
|
+
const require = __holydeckCreateRequire(import.meta.url);
|
|
4
|
+
|
|
5
|
+
// ../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/lib/puppeteer/util/version.js
|
|
6
|
+
var packageVersion = "25.10.0";
|
|
7
|
+
|
|
8
|
+
export {
|
|
9
|
+
packageVersion
|
|
10
|
+
};
|
|
11
|
+
/*! Bundled license information:
|
|
12
|
+
|
|
13
|
+
puppeteer-core/lib/puppeteer/util/version.js:
|
|
14
|
+
(**
|
|
15
|
+
* @license
|
|
16
|
+
* Copyright 2025 Google Inc.
|
|
17
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
18
|
+
*)
|
|
19
|
+
*/
|
|
20
|
+
//# sourceMappingURL=chunk-V77AQPDK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/util/version.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2025 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// If moved update release-please config\n// x-release-please-start-version\nexport const packageVersion = '25.10.0';\n// x-release-please-end\n"],"mappings":";;;;;AAQO,IAAM,iBAAiB;","names":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __holydeckCreateRequire } from 'node:module';
|
|
3
|
+
const require = __holydeckCreateRequire(import.meta.url);
|
|
4
|
+
|
|
5
|
+
// ../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/lib/puppeteer/environment.js
|
|
6
|
+
var isNode = !!(typeof process !== "undefined" && process.version);
|
|
7
|
+
var environment = {
|
|
8
|
+
value: {
|
|
9
|
+
followSymlinks: true,
|
|
10
|
+
ScreenRecorder: class {
|
|
11
|
+
constructor() {
|
|
12
|
+
throw new Error("ScreenRecorder is not available in this environment");
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
readFile: (() => {
|
|
16
|
+
throw new Error("readFile is not available in this environment");
|
|
17
|
+
}),
|
|
18
|
+
writeFile: () => {
|
|
19
|
+
throw new Error("writeFile is not available in this environment");
|
|
20
|
+
},
|
|
21
|
+
openFileForWriting: () => {
|
|
22
|
+
throw new Error("openFileForWriting is not available in this environment");
|
|
23
|
+
},
|
|
24
|
+
createWriteStream: () => {
|
|
25
|
+
throw new Error("createWriteStream is not available in this environment");
|
|
26
|
+
},
|
|
27
|
+
mkdir: () => {
|
|
28
|
+
throw new Error("mkdir is not available in this environment");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// ../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/lib/puppeteer/common/Debug.js
|
|
34
|
+
var DEBUG_PREFIXES = {
|
|
35
|
+
cdpSend: "puppeteer:protocol:SEND \u25BA",
|
|
36
|
+
cdpReceive: "puppeteer:protocol:RECV \u25C0",
|
|
37
|
+
bidiSend: "puppeteer:webDriverBiDi:SEND \u25BA",
|
|
38
|
+
bidiReceive: "puppeteer:webDriverBiDi:RECV \u25C0",
|
|
39
|
+
error: "puppeteer:error",
|
|
40
|
+
ffmpeg: "puppeteer:ffmpeg"
|
|
41
|
+
};
|
|
42
|
+
var debug = (prefix) => {
|
|
43
|
+
if (isNode) {
|
|
44
|
+
const nodeDebug = environment.value.debuglog?.(prefix);
|
|
45
|
+
if (!nodeDebug || !nodeDebug.enabled) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
return (...logArgs) => {
|
|
49
|
+
if (captureLogs) {
|
|
50
|
+
capturedLogs.push(prefix + logArgs);
|
|
51
|
+
}
|
|
52
|
+
nodeDebug(...logArgs);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const debugLevel = globalThis.__PUPPETEER_DEBUG;
|
|
56
|
+
if (!debugLevel) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const everythingShouldBeLogged = debugLevel === "*";
|
|
60
|
+
const prefixMatchesDebugLevel = everythingShouldBeLogged || /**
|
|
61
|
+
* If the debug level is `foo*`, that means we match any prefix that
|
|
62
|
+
* starts with `foo`. If the level is `foo`, we match only the prefix
|
|
63
|
+
* `foo`.
|
|
64
|
+
*/
|
|
65
|
+
(debugLevel.endsWith("*") ? prefix.startsWith(debugLevel.slice(0, -1)) : prefix === debugLevel);
|
|
66
|
+
if (!prefixMatchesDebugLevel) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
return (...logArgs) => {
|
|
70
|
+
console.log(`${prefix}:`, ...logArgs);
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
var capturedLogs = [];
|
|
74
|
+
var captureLogs = false;
|
|
75
|
+
function setLogCapture(value) {
|
|
76
|
+
capturedLogs = [];
|
|
77
|
+
captureLogs = value;
|
|
78
|
+
}
|
|
79
|
+
function getCapturedLogs() {
|
|
80
|
+
return capturedLogs;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export {
|
|
84
|
+
isNode,
|
|
85
|
+
environment,
|
|
86
|
+
DEBUG_PREFIXES,
|
|
87
|
+
debug,
|
|
88
|
+
setLogCapture,
|
|
89
|
+
getCapturedLogs
|
|
90
|
+
};
|
|
91
|
+
/*! Bundled license information:
|
|
92
|
+
|
|
93
|
+
puppeteer-core/lib/puppeteer/environment.js:
|
|
94
|
+
puppeteer-core/lib/puppeteer/common/Debug.js:
|
|
95
|
+
(**
|
|
96
|
+
* @license
|
|
97
|
+
* Copyright 2020 Google Inc.
|
|
98
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
99
|
+
*)
|
|
100
|
+
*/
|
|
101
|
+
//# sourceMappingURL=chunk-XAENXL52.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/environment.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/common/Debug.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2020 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {FileHandle} from 'node:fs/promises';\nimport type Path from 'node:path';\nimport type {Writable} from 'node:stream';\nimport type {debuglog} from 'node:util';\n\nimport type {ScreenRecorder} from './node/ScreenRecorder.js';\n\n/**\n * @internal\n */\nexport const isNode = !!(typeof process !== 'undefined' && process.version);\n\nexport interface EnvironmentDependencies {\n path?: typeof Path;\n ScreenRecorder: typeof ScreenRecorder;\n debuglog?: typeof debuglog;\n followSymlinks: boolean;\n readFile: {\n (path: string, encoding: 'utf8' | 'ascii'): Promise<string>;\n (path: string): Promise<Uint8Array>;\n };\n writeFile: (path: string, data: Uint8Array | string) => Promise<void>;\n openFileForWriting: (path: string) => Promise<FileHandle>;\n createWriteStream: (\n path: string,\n options?: {\n encoding?: BufferEncoding;\n overwrite?: boolean;\n },\n ) => Writable;\n mkdir: (path: string, options?: {recursive?: boolean}) => Promise<void>;\n}\n\n/**\n * Holder for environment dependencies. These dependencies cannot\n * be used during the module instantiation.\n */\nexport const environment: {\n value: EnvironmentDependencies;\n} = {\n value: {\n followSymlinks: true,\n ScreenRecorder: class {\n constructor() {\n throw new Error('ScreenRecorder is not available in this environment');\n }\n } as unknown as typeof ScreenRecorder,\n readFile: (() => {\n throw new Error('readFile is not available in this environment');\n }) as unknown as EnvironmentDependencies['readFile'],\n writeFile: () => {\n throw new Error('writeFile is not available in this environment');\n },\n openFileForWriting: () => {\n throw new Error(\n 'openFileForWriting is not available in this environment',\n );\n },\n createWriteStream: () => {\n throw new Error('createWriteStream is not available in this environment');\n },\n mkdir: () => {\n throw new Error('mkdir is not available in this environment');\n },\n },\n};\n","/**\n * @license\n * Copyright 2020 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {isNode, environment} from '../environment.js';\n\ndeclare global {\n const __PUPPETEER_DEBUG: string;\n}\n/**\n * @public\n * @experimental\n */\nexport const DEBUG_PREFIXES = {\n cdpSend: 'puppeteer:protocol:SEND ►',\n cdpReceive: 'puppeteer:protocol:RECV ◀',\n bidiSend: 'puppeteer:webDriverBiDi:SEND ►',\n bidiReceive: 'puppeteer:webDriverBiDi:RECV ◀',\n error: 'puppeteer:error',\n ffmpeg: 'puppeteer:ffmpeg',\n} as const;\n\n/**\n * @public\n * @experimental\n */\nexport type DebugPrefix = (typeof DEBUG_PREFIXES)[keyof typeof DEBUG_PREFIXES];\n\n/**\n * A function called by Puppeteer to output debug messages.\n *\n * @param args - Arbitrary values to log for a debug event.\n *\n * @public\n * @experimental\n */\nexport type LoggerFunction = (...args: unknown[]) => void;\n\n/**\n * A logger factory function that receives a debug channel prefix and returns\n * a {@link LoggerFunction} to emit logs for that channel, or `undefined` if\n * logging is disabled for that channel.\n *\n * @example\n *\n * ```ts\n * const customLogger: Logger = (prefix: string) => {\n * if (prefix.includes('protocol')) {\n * return (...args: unknown[]) =>\n * console.log(`[DEBUG: ${prefix}]`, ...args);\n * }\n * return undefined;\n * };\n * ```\n *\n * @param prefix - A debug channel prefix, one of {@link DebugPrefix}.\n * @returns A {@link LoggerFunction} to log messages for the channel,\n * or `undefined` if logging is disabled.\n *\n * @public\n * @experimental\n */\nexport type Logger = (prefix: string) => LoggerFunction | undefined;\n/**\n * A debug function that can be used in any environment.\n *\n * @remarks\n * If used in Node, it falls back to Node's built-in\n * {@link https://nodejs.org/api/util.html#utildebuglogsection-callback | util.debuglog}. In the browser it\n * uses `console.log`.\n *\n * In Node, use the `NODE_DEBUG` environment variable to control logging:\n *\n * ```\n * NODE_DEBUG=* // logs all channels\n * NODE_DEBUG=foo // logs the `foo` channel\n * NODE_DEBUG=foo* // logs any channels starting with `foo`\n * ```\n *\n * In the browser, set `window.__PUPPETEER_DEBUG` to a string:\n *\n * ```\n * window.__PUPPETEER_DEBUG='*'; // logs all channels\n * window.__PUPPETEER_DEBUG='foo'; // logs the `foo` channel\n * window.__PUPPETEER_DEBUG='foo*'; // logs any channels starting with `foo`\n * ```\n *\n * @example\n *\n * ```\n * const log = debug(DEBUG_PREFIXES.error);\n *\n * log('new page created')\n * // logs \"Page: new page created\"\n * ```\n *\n * @param prefix - this will be prefixed to each log.\n * @returns a function that can be called to log to that debug channel.\n *\n * @internal\n */\nexport const debug: Logger = (prefix): LoggerFunction | undefined => {\n if (isNode) {\n const nodeDebug = environment.value.debuglog?.(prefix);\n if (!nodeDebug || !nodeDebug.enabled) {\n return;\n }\n\n return (...logArgs: unknown[]) => {\n if (captureLogs) {\n capturedLogs.push(prefix + logArgs);\n }\n (nodeDebug as LoggerFunction)(...logArgs);\n };\n }\n\n const debugLevel = (globalThis as any).__PUPPETEER_DEBUG;\n if (!debugLevel) {\n return;\n }\n\n const everythingShouldBeLogged = debugLevel === '*';\n\n const prefixMatchesDebugLevel =\n everythingShouldBeLogged ||\n /**\n * If the debug level is `foo*`, that means we match any prefix that\n * starts with `foo`. If the level is `foo`, we match only the prefix\n * `foo`.\n */\n (debugLevel.endsWith('*')\n ? prefix.startsWith(debugLevel.slice(0, -1))\n : prefix === debugLevel);\n\n if (!prefixMatchesDebugLevel) {\n return;\n }\n\n return (...logArgs: unknown[]): void => {\n console.log(`${prefix}:`, ...logArgs);\n };\n};\n\n/**\n * @internal\n */\nlet capturedLogs: string[] = [];\n/**\n * @internal\n */\nlet captureLogs = false;\n\n/**\n * @internal\n */\nexport function setLogCapture(value: boolean): void {\n capturedLogs = [];\n captureLogs = value;\n}\n\n/**\n * @internal\n */\nexport function getCapturedLogs(): string[] {\n return capturedLogs;\n}\n"],"mappings":";;;;;AAgBO,IAAM,SAAS,CAAC,EAAE,OAAO,YAAY,eAAe,QAAQ;AA2B5D,IAAM,cAET;EACF,OAAO;IACL,gBAAgB;IAChB,gBAAgB,MAAA;MACd,cAAA;AACE,cAAM,IAAI,MAAM,qDAAqD;MACvE;;IAEF,WAAW,MAAK;AACd,YAAM,IAAI,MAAM,+CAA+C;IACjE;IACA,WAAW,MAAK;AACd,YAAM,IAAI,MAAM,gDAAgD;IAClE;IACA,oBAAoB,MAAK;AACvB,YAAM,IAAI,MACR,yDAAyD;IAE7D;IACA,mBAAmB,MAAK;AACtB,YAAM,IAAI,MAAM,wDAAwD;IAC1E;IACA,OAAO,MAAK;AACV,YAAM,IAAI,MAAM,4CAA4C;IAC9D;;;;;ACtDG,IAAM,iBAAiB;EAC5B,SAAS;EACT,YAAY;EACZ,UAAU;EACV,aAAa;EACb,OAAO;EACP,QAAQ;;AAkFH,IAAM,QAAgB,CAAC,WAAsC;AAClE,MAAI,QAAQ;AACV,UAAM,YAAY,YAAY,MAAM,WAAW,MAAM;AACrD,QAAI,CAAC,aAAa,CAAC,UAAU,SAAS;AACpC;IACF;AAEA,WAAO,IAAI,YAAsB;AAC/B,UAAI,aAAa;AACf,qBAAa,KAAK,SAAS,OAAO;MACpC;AACC,gBAA6B,GAAG,OAAO;IAC1C;EACF;AAEA,QAAM,aAAc,WAAmB;AACvC,MAAI,CAAC,YAAY;AACf;EACF;AAEA,QAAM,2BAA2B,eAAe;AAEhD,QAAM,0BACJ;;;;;GAMC,WAAW,SAAS,GAAG,IACpB,OAAO,WAAW,WAAW,MAAM,GAAG,EAAE,CAAC,IACzC,WAAW;AAEjB,MAAI,CAAC,yBAAyB;AAC5B;EACF;AAEA,SAAO,IAAI,YAA4B;AACrC,YAAQ,IAAI,GAAG,MAAM,KAAK,GAAG,OAAO;EACtC;AACF;AAKA,IAAI,eAAyB,CAAA;AAI7B,IAAI,cAAc;AAKZ,SAAU,cAAc,OAAc;AAC1C,iBAAe,CAAA;AACf,gBAAc;AAChB;AAKM,SAAU,kBAAe;AAC7B,SAAO;AACT;","names":[]}
|